Activities of "khalid"

ABP Framework version: v3.2.0 UI type: Angular Tiered (MVC) or Identity Server Seperated (Angular): Identity Server Seperated (Angular) Exception message and stack trace: Steps to reproduce the issue:

I have same issue like this How to share an entity that is managed by the host but is accessible by tenants

public class Book: FullAuditedAggregateRoot<Guid>, IMultiTenant
    {
        public virtual Guid? TenantId { get; set; } }

    public string BookName { get; set; }
}

How can  share an entity that is created  by the host to all tenants?

For example a tenant user should be able to see the list of books which is created by  himself and  by host. do I need to add Feature check? if so how?

Hi, I have created this controller only to inlcude GetUnitCategoryLookupAsync and I need it to be appear under the same path in swagger. If I put it under a new controller, it will create it under a new path ,and I guess combobox won't appear in UI !!

I am really stuck with this issue. I would be appreciative if you could help me with it.

Yes I created the controller in *.HttpApi

I have been following the guide on how to customize the app modules with the intention of extending module entities with new properties and exposing these with a modified service/controller .

I have extended OrganizationUnit from a module with the following properties: and then mapped these new properties to the same database table as OrganizationUnit by updating DbContext.OnModelCreating and EfCoreEntityExtensionMappings and and Dto Extensions and  created a database-migration

And here is user interface for inserting new organization unit and its work fine

Summary To summarize, I wish to achieve the following:

How do I add new method from applications services and controllers in a way that enables me to get list of UnitCategory as dropdown list? I have implemented the following based on the solution #438 :

 public interface IAppOrganizationUnitAppService : IOrganizationUnitAppService
    {
        Task<PagedResultDto<LookupDto>> GetUnitCategoryLookupAsync(LookupRequestDto input);

    }

 [RemoteService(IsEnabled = false)] // If you use dynamic controller feature you can disable remote service. Prevent creating duplicate controller for the application service.
    [Dependency(ReplaceServices = true)]
    [ExposeServices( typeof(OrganizationUnitAppService),typeof(IAppOrganizationUnitAppService))]
    public class AppOrganizationUnitAppService : OrganizationUnitAppService, IAppOrganizationUnitAppService
    {
        private readonly IMODRepository<OrganizationUnitCategory, Guid> _unitCategoryRepository;

        public AppOrganizationUnitAppService(
            OrganizationUnitManager organizationUnitManager,
            IdentityUserManager userManager,
            IOrganizationUnitRepository organizationUnitRepository,
            IIdentityUserRepository identityUserRepository,
            IIdentityRoleRepository identityRoleRepository,
            IMODRepository<OrganizationUnitCategory, Guid> unitCategoryRepository)
        :base(organizationUnitManager,userManager, organizationUnitRepository, identityUserRepository, identityRoleRepository)
        {
            _unitCategoryRepository = unitCategoryRepository;
        }

        public  async Task<PagedResultDto<LookupDto>> GetUnitCategoryLookupAsync(LookupRequestDto input)
        {
            var query = _unitCategoryRepository.AsQueryable()
                .WhereIf(!string.IsNullOrWhiteSpace(input.Filter), x => x.ArabicName != null && x.ArabicName.Contains(input.Filter));

            var lookupData = await query.PageBy(input.SkipCount, input.MaxResultCount).ToDynamicListAsync<OrganizationUnitCategory>();

            var totalCount = query.Count();

            return new PagedResultDto<LookupDto>
            {
                TotalCount = totalCount,
                Items = ObjectMapper.Map<List<OrganizationUnitCategory>, List<LookupDto>>(lookupData)
            };
        }
    }

 [Dependency(ReplaceServices = true)]
    [ExposeServices(typeof(OrganizationUnitController), typeof(IAppOrganizationUnitAppService))]
    [RemoteService(true, Name = "AbpIdentity")]
    [Route("api/identity/organization-units", Order = 0)]
    [ControllerName("OrganizationUnit")]
    [Area("identity")]
    public class AppOrganizationUnitController : OrganizationUnitController, IAppOrganizationUnitAppService
    {
        public AppOrganizationUnitController(IOrganizationUnitAppService organizationUnitAppService)
            : base(organizationUnitAppService)
        {

        }

        [HttpGet]
        [Route("Unit-Category-lookup")]
        public Task<PagedResultDto<LookupDto>> GetUnitCategoryLookupAsync(LookupRequestDto input)
        {
            return ((IAppOrganizationUnitAppService)OrganizationUnitAppService).GetUnitCategoryLookupAsync(input);
        }


    }

However when I attempt to start the HttpApi.Host project I now get the following exception:

  • ABP Framework version: v3.2.0
  • UI type: Angular
  • Tiered (MVC) or Identity Server Seperated (Angular)Identity Server Seperated (Angular)
  • Exception message and stack trace:
  • Steps to reproduce the issue:

Hi Support Team I have the same issue above ,I extending

my issue how to use dynamic controller to show the endpoint of the new method which I added in app service without extending OrganizationUnitController?

I tried to use [RemoteService(IsEnabled = false)] to prevent creating duplicate controller  but the end point of new method  not showing

I have one- to-many relationship between the following two classes WorkRoleTenantAssignment and Tenant.

I trying to get all WorkRoleTenantAssignment with Tenant Because tenant is an aggregate root and adding navigation property to aggregate roots is not allowed in Abp, I added new class below, similar to the classes generated by Abp suite

And I wrote the following Linq query to fetch data Work Roles Assignments along with their assigned tenants. When I run the code I got this following error: I have tried many ways to overcome this issue but with no luck. Your guidance is appreciated.

Showing 11 to 16 of 16 entries
Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v9.3.0-preview. Updated on June 13, 2025, 11:37