예제 #1
0
 private IQueryable <DomainClasses.Entities.EntityScheme> GetQueryByRequestOwnerAccess(EntitySchemeListRequest request, IQueryable <DomainClasses.Entities.EntityScheme> dataServiceQuery)
 {
     return(AccessManager.Filter(dataServiceQuery
                                 .Include(x => x.FieldDefenitions)
                                 .Include(x => x.FieldDefenitionGroups)
                                 .Include(x => x.FieldDefenitionGroups.Select(fdg => fdg.FieldDefenitions))
                                 .OrderByDescending(x => x.Id).ToList().AsQueryable()));
 }
        public async Task <DiscountListResponse> Get(DiscountListRequest request)
        {
            var discounts = AccessManager.Filter(_discountDataService.Query).FilterByQuery(request.Query);

            return(new DiscountListResponse
            {
                Access = ResponseAccess.Granted,
                Items = (await discounts.OrderByDescending(x => x.Id).Paginate(request.Query).ToListAsync())
                        .MapToViewModel(),
                Count = await discounts.LongCountAsync()
            });
        }
예제 #3
0
        private IQueryable <DomainClasses.Entities.Page> GetFilteredQueryByReqParamsAndUserAccess(PageListRequest request)
        {
            var pageQuery  = AccessManager.Filter(_dataSrv.Query.Where(x => x.LanguageName == request.Query.LanguageName));
            var searchText = request.Query?.SearchText;

            if (!string.IsNullOrEmpty(searchText))
            {
                pageQuery = pageQuery.Where(x => x.Title.Contains(searchText));
            }

            pageQuery = pageQuery.OrderByDescending(x => x.Id);
            return(pageQuery);
        }
예제 #4
0
        public async Task <ProductCategoryListResponse> Get(ProductCategoryListRequest request)
        {
            var categories = AccessManager.Filter(_categoryData.Query.Include(x => x.FieldDefenitions)
                                                  .Include(x => x.FieldDefenitionGroups)
                                                  .Include(x => x.FieldDefenitionGroups.Select(fdg => fdg.FieldDefenitions)).Include(x => x.Childs)
                                                  .FilterByQuery(request.Query));

            return(new ProductCategoryListResponse
            {
                Access = ResponseAccess.Granted,
                Categories = await categories.ToViewModelListIncludeMetaDataAsync(_metaDataService),
                Count = await categories.CountAsync()
            });
        }
        public async Task <EntityListResponse> Get(EntityListRequest request)
        {
            if (!HasPremission(request.RequestOwner, EntityPremission.CanSee))
            {
                return(UnauthorizedListRequest());
            }
            var entities = AccessManager.Filter(_dataSrv.Query).FilterByEntityQuery(request.Query).ApplyEntityOrderBy(request.Query.Order);

            return(new EntityListResponse()
            {
                Access = ResponseAccess.Granted,
                Entities =
                    await entities.Include(x => x.Scheme).Include(x => x.PrimaryCategory).OrderByDescending(x => x.CreateDateTime)
                    .Paginate(request.Query ?? new Pagenation())
                    .ToViewModelListAsync(),
                Count = entities.Count()
            });
        }
예제 #6
0
 public async Task<UserListResponse> GetAsync(UserListRequest request)
 {
     if (!HasPremission(request.RequestOwner, UserManagePremission.CanSeeUsers))
         return UnauthorizedListRequest();
     var guestRoleId = _roleManager.FindByName(PreDefRoles.Guest).Id;
     var userQuery = AccessManager.Filter(_userDataSrv.Query).FilterByQuery(request.Query).Where(x => x.Roles.All(r => r.RoleId != guestRoleId));
     userQuery = _userFilterStrategyFactory.GetStrategy(request.RequestOwner.Identity).Filter(userQuery);
     var currentUserId = Guid.Parse(request.RequestOwner.Identity.GetUserId());
     return new UserListResponse()
     {
         Access = ResponseAccess.Granted,
         Users =
             await userQuery.OrderByDescending(x => x.Id)
                 .Where(x => x.Id != currentUserId )
                 .Paginate(request.Query ?? new Pagenation())
                 .ToViewModelListAsync(),
         Count = userQuery.Where(x => x.Id != currentUserId).LongCount()
     };
 }
        public async Task <CategoryListResponse> Get(CategoryListRequest request)
        {
            if (!HasPremission(request.RequestOwner, CategoryPremission.CanSee))
            {
                return(UnauthorizedListRequest());
            }
            var query = AccessManager.Filter(_dataSrv.Query).FilterByQuery(request.Query, _unitOfWork);

            return(new CategoryListResponse()
            {
                Access = ResponseAccess.Granted,
                Categories = await query.Include(x => x.Scheme)
                             .Include(x => x.Parent)
                             .Include(x => x.FieldDefenitions)
                             .Include(x => x.FieldDefenitionGroups)
                             .Include(x => x.FieldDefenitionGroups.Select(fdg => fdg.FieldDefenitions))
                             .ToViewModelListIncludeMetaDataAsync(_metaDataService),
            });
        }