Base solution for your next web application

Activities of "aaron"

IMultiTenantLocalizationSource is not injected anywhere, so you can't replace its implementation that way.

MultiTenantLocalizationSource is instantiated directly in EnableDbLocalization in LanguageManagementConfig.cs#L40.

You can comment out the following line in your WebCoreModule and instantiate your own implementation.

//Use database for language management
Configuration.Modules.Zero().LanguageManagement.EnableDbLocalization();

Oh, desktop notification.

It's in angular/src/app/shared/layout/notifications/UserNotificationHelper.ts.

ASP .NET Zero is using Push and it's not possible to be HTML formatted as per Nickersoft/push.js#35:

According to the official docs, it seems that the body attribute is simply a string that does not resolve any HTML tags. Unfortunately, there is nothing Push itself can do to change this, as its just a robust shim wrapper around the native API calls.

It's in angular/src/assets/abp-web-resources/abp.notify.js.

The message parameter already accepts HTML formatted string:

abp.notify.error('Some fields have <strong>errors.</strong><br/>Please check and try again.');

Read the paragraph that is right below that image.

... Timezone setting is available only if you are using UTC clock provider. See documentation to switch to UTC. By default ASP .NET Zero uses UnspecifiedClockProvider ...

You can change the used clock provider in the PreInitialize method of your Core module.

Clock.Provider = ClockProviders.Utc;

Reference: https://docs.aspnetzero.com/en/aspnet-core-mvc/latest/Features-Mvc-Core-Host-Settings

ASP .NET Zero 5.x

ASP .NET Zero 5.1.0 Angular is using SweetAlert v2.

In angular/src/AppPreBootstrap.ts:

  abp.event.trigger('abp.dynamicScriptsInitialized');
+ (abp as any).libs.sweetAlert.config.error.button = abp.localization.localize('Ok', 'AbpZeroTemplate');

Replace AbpZeroTemplate with your project source name.

ASP .NET Zero 6+

ASP .NET Zero 6.0.0/6.6.0/8.4.0+ Angular is using SweetAlert2 v7/v8/v9+.

In angular/src/assets/abp-web-resources/abp.sweet-alert.js:

- options.confirmButtonText = options.confirmButtonText || abp.localization.abpWeb('Ok');
+ options.confirmButtonText = options.confirmButtonText || abp.localization.localize('Ok', 'AbpZeroTemplate');

PR for fix: aspnetzero/aspnet-zero-core#3208 (ASP .NET Zero 8.7.0)

And how does ASP NET Zero communicates back to stripe to tell how many ACTIVE users exist on a certain date?

It does not.

Also... Does the same functionality exists for PayPal? If so, can you point me in the right direction?

PayPal has https://developer.paypal.com/docs/subscriptions/#supported-pricing-plans.

ASP .NET Zero does not (and has no plans to) implement recurring payment via PayPal. Related: https://quaderno.io/blog/disadvantages-paypal-for-subscriptions/

You can implement the UI and functionality based on https://stripe.com/docs/billing/subscriptions/tiers.

The feature request is tracked in aspnetzero/aspnet-zero-core#731.

How to resolve this?

Do a data patch:

UPDATE SapphireDb.dbo.AbpOrganizationUnits
SET Discriminator='ExtendedOrganizationUnit'
WHERE Discriminator='';

You can also do SET Discriminator='OrganizationUnit' if you do not want old OrganizationUnit entries to be recognised as ExtendedOrganizationUnit.

Explanation

Doing _organizationUnitRepository.GetAllListAsync() will only get those with the Discriminator value of OrganizationUnit and its subclasses, i.e. excluding ''.

From https://docs.aspnetzero.com/en/aspnet-core-mvc/v8.2.0/Extending-Existing-Entities:

Before applying changes to the database, we changed default migration code from:

AddColumn("dbo.AbpEditions", "Price", c => c.Int());
AddColumn("dbo.AbpEditions", "Discriminator", c => c.String(nullable: false, maxLength: 128));

to:

AddColumn("dbo.AbpEditions", "Price", c => c.Int(nullable: false, defaultValue: 0));
AddColumn("dbo.AbpEditions", "Discriminator", c => c.String(nullable: false, maxLength: 128, defaultValue: "MyEdition"));

It appears that you did not change the Discriminator column's defaultValue as described.

So rather take a chance in SignalR, instead? Just to do GUI updates on entity changes...

That's as simple as it gets, other than direct long-polling.

Then, would it rather make sense to extent the AbpCommonHub?

From what the sparse documentation tels you should inherit it and extend it plus use yours it in the Startup.cs instead of AbpCommonHub.

...

but from discussions I remember this caused problems somehow. Probably because strong references were made in other opaque code places.

No, the documentation does not tell you to inherit AbpCommonHub. It says "we can inherit AbpHubBase".

Showing 11 to 20 of 1543 entries