Hi
Since this ticket is closed I´m forced to create a new one.
I have the exact problem with Blazor WASM 4.3.2, that the content on the Settings page is missing when logged in as tenant, but the suggested fix in the above ticket doesn´t solve it.
The following code doesn´t seem to do anything when placed (anywhere) in the Define() method in the PermissionDefinitionProvider class
var setting = context.GetPermissionOrNull(SettingManagementPermissions.Emailing);
setting.MultiTenancySide = MultiTenancySides.Both;
Am I missing something?
Here you can see the Settings menu item but totally empty page.
I need to implement the payment gateway provider Rapyd and I would like to know what is my best approach to it?
I see that the abp.io payment module only supports 4 gateways and not one of them supports my local currency (ISK).
What would you reccommend I should do?
Any change you could add Rapyd to the payment module?
See Growing At 400%, Rapyd Takes On PayPal In $160 Trillion B2B Payments Market
This is probably a two-fold but related question:
I have a page with data, that when saved, creates MyEvent. The page contains few things that I like to separate out (not be in the same table) so I can use it later somewhere else. See image at bottom
When I use Suite I create the following entities
where CommonId,SettingsId and GeoRestrictionId are navigation properties on MyEvent.
This way I can (in MyEventAppService) use the GetWithNavigationPropertiesAsync() method and get the related entities directly into the service (or GetAsync() if I just want the ids to query and use later).
So far so good?
If so then whats the best practice to create MyEvent with the navigationproperties in one go?
Would it be fine to do it like this in MyEventAppService? Will this use unit-of-work (if one insert fails all fails)?
[Authorize(MyPermissions.MyEvent.Create)]
public virtual async Task<MyEventDto> CreateAsync(MyEventCreateDto input)
{
var myEvent = ObjectMapper.Map<MyEventCreateDto, MyEvent>(input);
// Insert Common/Settings/GeoRestriction and get their id's
var commontemp = new Common(GuidGenerator.Create()){ Name = input.Common.Name, etc... }
var common = await _commonRepository.InsertAsync(commontemp, autoSave: true);
...
... same for Settings and GeoRestriction
// then "hook" it together by addin their ids to myEvent and save
myEvent.CommonId = common.Id;
myEvent.SettingsId = settings.Id;
myEvent.GeoRestrictionId = geoRestriction.Id;
myEvent.TenantId = CurrentTenant.Id;
myEvent = await _myEventRepository.InsertAsync(myEvent, autoSave: true);
return ObjectMapper.Map<MyEvent, MyEventDto>(myEvent);
}
I really feel like I have got this down just by writing the question but would like to know for sure.
I was wondering if there was a good way to delete related records, just like you can get all the records with WithDetailsAsync()?
Or will I just have to add all the services (of the related entities I want to delte) to the main one (channelAppService in my example) and iterate through them and manually delete each one (see example 1)?
/* code in my ChannelAppService */
public async Task<ChannelDto> GetWithDetailsAsync(Guid id)
{
//Get the related records General and Settings from _channelRepository
var queryable = await _channelRepository.WithDetailsAsync(x => x.General, x => x.Settings);
//Where Channel is == id
var query = queryable.Where(x => x.Id == id);
//Get Channel with General and Settings back
return ObjectMapper.Map<Channel, ChannelDto>(await AsyncExecuter.FirstOrDefaultAsync(query));
}
// What would be the recomended way to delete the related records of channel?
public async Task DeleteWithDetailsAsync(Guid id)
{
// 1. example
// But what if the first delete works but the rest fail?
_channelRepository.DeleteAsync(id);
_generalRepository.DeleteAsync(theGeneralId);
_settingsRepository.DeleteAsync(theSettingsId);
// 2. example
//OR is there simpler way like this maybe (with some more code obviously) ?
await AsyncExecuter.DeleteWithDetails(channel);
}
This must be fairly common to do so isn't there some examples you can share with me?
Hi
I'm getting CS0104 ambiguous reference errors when adding entities in Suite. Unique namespaces don´t seem to be enough.
Here are two examples of this
1.
First I had this one
C:\Dev\Test\aspnet-core\src\Test.EntityFrameworkCore\EntityFrameworkCore\TestEntityFrameworkCoreModule.cs(55,49): error CS0104: 'EfCoreLanguageRepository' is an ambiguous reference between 'Test.Languages.EfCoreLanguageRepository' and 'Volo.Abp.LanguageManagement.EntityFrameworkCore.EfCoreLanguageRepository' [C:\Dev\Test\aspnet-core\src\Test.EntityFrameworkCore\Test.EntityFrameworkCore.csproj]
For now, I´ll call it "OurLanguages" (or something.. naming is hard) but I would prefer it just being Language and the DB table AppLanguage.
2.
And now I just had this one that I find even stranger
error CS0104: 'TimeZone' is an ambiguous reference between 'Test.TimeZones.TimeZone' and 'System.TimeZone'
Why
Your ABP Framework version. 4.2.2 Your database provider: EF Core Blazor
Hi, I have tried to read everything on abp.io multi-tenancy (github/discussions/formums) but I´m unsure what route I should take and would like some guidance on how to start the project the correct way.
Scenario: "We give 3party entities access to use our portal and they sell their material back to others (clients)"
So my question is basically what architecture approach should we choose based on our requirements and abp.io capabilities? What is possible and/or best approach and/or do you have examples (that attempt to do something similar) for us?
I hope I made myself clear enough, and what my requirements are. If not just shoot back.