Hi Support Team, I have one concerning about External Hangfire background service.
I do able inject HostDbContext
in HangfireAppService
.
But how can I inject IRepositoryTenantTable
base on TenantId
, or perhaps TenantConnectionString
?
And how can I inject ICustomRepository
base on TenantId
, or perhaps TenantConnectionString
?
Implement of ICustomRepository has some function/methods that I would like to re-use instead of create new TenantDbContext
Please answer the following questions before submitting an issue. YOU MAY DELETE THE PREREQUISITES SECTION.
I am using a app notifier to send push notification to user and I want the user receive the notification in their language base on their setting on the website Since I can't localize the string on the UI Side since it is a web push, so I have to localize the message on the API side. However, the "L()" method do not respect user language in AppNotifier.
Here is code snap of my code inside Core.Notifications.AppNotifier:
public async Task SendReminderAsync(UserIdentifier user,
string message,
int txdID,
NotificationSeverity severity = NotificationSeverity.Warn)
{
// Prepare data for in-app notification
var notificationData = new MessageNotificationData(message);
// Prepare data for Web Push Notification
var webPushTitle = L("Reminder");
var webPushMessage = message;
notificationData["WebPushNotificationData"] = new WebPushNotificationData(){
Type = AppNotificationNames.Reminder,
Title = webPushTitle,
Options = new Dictionary<string, string>()
{
{"message", webPushMessage},
{"userId", user.UserId.ToString()},
{"txdID", txdID.ToString()},
{"LocalizeTaken", L("Taken")},
{"LocalizeDelay", L("Delay15Mins")},
{"utcSentTime", DateTime.UtcNow.ToString()+" UTC"}
}
};
// Publish the notification
await _notificationPublisher.PublishAsync(
AppNotificationNames.Reminder,
notificationData,
userIds: new[] { user });
}
For now, the L() only translate token to the default language. How I can make the L("") in the code do translation the token base on user Id?
Unfortunately I do not have a sample project that can reproduce the issue.
I will attempt to recreate it and it may take some time.
What is your product version? -> 8.1 What is your product type (Angular or MVC)? -> Angular What is product framework type (.net framework or .net core)? -> .net core
Hello,
I need to use the same class (IIdeasMessageRepository) in two different modules.
The above image shows where IIdeasMessageRepository is originally registered for dependency injection.
But, I also need to use IIdeasMessageRepository in this project.
When I don't register the dependency in this module I get this exception.
Once I register the depedency.
I get this exception instead and sometimes I get the duplicate registration error.
How can I use/register the same class in two different modules without getting an exception?
Please answer the following questions before submitting an issue.
I am using capacitor (https://capacitorjs.com/) to wrap the angular frontend. The first login screen can load without problem. But I find out the angular frontend is not able to save any cookies. Therefore, I am not able to login or change the tenant.
The capacitor wrapper is working fine on Android. Cookies can be saved normally. This only happened on iOS.
Any suggestion on wrapping the ABP zero angular app in the capacitor?
Thank you.
Hi,
I added a new theme following the official documentation. Everything is working fine in my local dev environment. However, in production mode, the bootstrap css doesn't load up. I already modified the bundles.json file. Any suggestion on this?
Thanks
By the way, the "isVisibleToClients" is working fine with the default "AppSettingProvider.cs".
Hi maliming, the app is building on ABP Zero 7.2.3 with .net core 2.2. As the code shown above, I didn't add any ClientVisibilityProvider for StripePrivateKey.
new SettingDefinition(PatientPortalSettings.Payment.StripePrivateKey, "", scopes: SettingScopes.Tenant, isVisibleToClients: false, group: paymentSettingsGroup),