コード例 #1
0
 public PagingResultDto <IEnumerable <ProductDto> > GetAllProduct(ProductFilterRequestDto request, int RequestUserId, string TokenKey)
 {
     try
     {
         CheckAuthentication(RequestUserId, TokenKey);
         var data      = GetAllCachedData <ProductEntity>().AsQueryable();
         var predicate = PredicateBuilderHelper.True <ProductEntity>();
         if (request.PriceStart.HasValue && request.PriceEnd.HasValue)
         {
             predicate = predicate.And(q => q.Price >= request.PriceStart && q.Price <= request.PriceEnd);
         }
         if (request.DiscountPriceStart.HasValue && request.DiscountPriceEnd.HasValue)
         {
             predicate = predicate.And(q => q.DiscountPrice >= request.DiscountPriceStart && q.DiscountPrice <= request.DiscountPriceEnd);
         }
         if (request.ProductTypeId.HasValue)
         {
             predicate = predicate.And(q => q.ProductTypeId == request.ProductTypeId.Value);
         }
         var result     = data.Where(predicate).AsEnumerable();
         var rdata      = result.ConvertTo <IEnumerable <ProductDto> >();
         var ReturnData = PageingHelper.GetPagingResult(rdata, request.PageNumber, request.PageSize);
         return(ReturnData);
     }
     catch (KnownException ex)
     {
         throw ex;
     }
     catch (Exception ex)
     {
         Logger.AddLog(LogTypeEnum.Error, "ProductManager.GetAllProduct", RequestUserId, ex.Message, request.ToJson(), ex);
         throw new KnownException(ErrorTypeEnum.UnexpectedExeption, ex.Message, ex);
     }
 }
コード例 #2
0
        public virtual IActionResult GetUsers([FromQuery] PaginationParameters paginationParameters)
        {
            var usersQuery = userManager.Users;

            PagedList <UserDto> usersForReturn =
                PageingHelper.CreatePagedList <User, UserDto>(usersQuery, paginationParameters.PageNumber, paginationParameters.PageSize, mapper);
            var paginationMetadata =
                this.pagingMetadataHelper.GetPagingMetadata(usersForReturn, nameof(GetUsers), paginationParameters);

            Response.Headers.Add("X-Pagination",
                                 Newtonsoft.Json.JsonConvert.SerializeObject(paginationMetadata));
            return(Ok(usersForReturn));
        }
コード例 #3
0
 public PagingResultDto <IEnumerable <UsersDto> > GetAll(UserFilterRequestDto request, int RequestUserId, string TokenKey)
 {
     try
     {
         CheckAuthentication(RequestUserId, TokenKey);
         var data      = GetAllCachedData <UsersDto>().AsQueryable();
         var predicate = PredicateBuilderHelper.True <UsersDto>();
         if (request.Id.HasValue)
         {
             predicate = predicate.And(q => q.Id == request.Id);
         }
         if (request.ActivationStatus.HasValue)
         {
             predicate = predicate.And(q => q.ActivationStatus == request.ActivationStatus);
         }
         if (!request.UserName.IsNullOrEmpty())
         {
             predicate = predicate.And(q => q.UserName.Contains(request.UserName));
         }
         if (!request.FullName.IsNullOrEmpty())
         {
             predicate = predicate.And(q => q.FullName.Contains(request.FullName));
         }
         if (!request.EMail.IsNullOrEmpty())
         {
             predicate = predicate.And(q => q.EMail == request.EMail);
         }
         var result     = data.Where(predicate).AsEnumerable();
         var ReturnData = PageingHelper.GetPagingResult(result, request.PageNumber, request.PageSize);
         return(ReturnData);
     }
     catch (KnownException ex)
     {
         throw ex;
     }
     catch (Exception ex)
     {
         Logger.AddLog(LogTypeEnum.Error, "UserManager.GetAll", RequestUserId, ex.Message, request.ToJson(), ex);
         throw new KnownException(ErrorTypeEnum.UnexpectedExeption, ex.Message, ex);
     }
 }
コード例 #4
0
        public virtual IActionResult GetUserRoles([FromRoute] int userId, [FromQuery] PaginationParameters paginationParameters)
        {
            var userFromDatabase = userManager.FindByIdAsync(userId.ToString()).Result;

            if (userFromDatabase == null)
            {
                return(NotFound(new ResponseMessage {
                    Title = $"خطای 404", Descripton = $".متاسفانه نتوانستیم کاربر با شناسه {userId} را پیدا کنیم"
                }));
            }

            var rolesQuery = userManager.GetRolesAsync(userFromDatabase).Result.AsQueryable();


            PagedList <string> rolesForReturn =
                PageingHelper.CreatePagedList(rolesQuery, paginationParameters.PageNumber, paginationParameters.PageSize);
            var paginationMetadata =
                this.pagingMetadataHelper.GetPagingMetadata(rolesForReturn, nameof(GetUserRoles), paginationParameters);

            Response.Headers.Add("X-Pagination",
                                 Newtonsoft.Json.JsonConvert.SerializeObject(paginationMetadata));
            return(Ok(rolesForReturn));
        }
コード例 #5
0
        public PagedList <TEntity> GetByCondition(Expression <Func <TEntity, bool> > query, int pageNumber = 1, int pageSize = int.MaxValue)
        {
            var result = dbSet.Where(query);

            return(PageingHelper.CreatePagedList <TEntity>(result, pageNumber, pageSize));
        }
コード例 #6
0
        public PagedList <TEntity> Get(int pageNumber = 1, int pageSize = int.MaxValue)
        {
            var result = dbSet;

            return(PageingHelper.CreatePagedList <TEntity>(result, pageNumber, pageSize));
        }
コード例 #7
0
        public async Task <PagedList <TEntity> > GetAsync(int pageNumber = 1, int pageSize = int.MaxValue, CancellationToken cancellationToken = default(CancellationToken))
        {
            var result = dbSet;

            return(await PageingHelper.CreatePagedListAsync <TEntity>(result, pageNumber, pageSize, cancellationToken));
        }
コード例 #8
0
        public async Task <PagedList <TEntity> > GetByConditionAsync(Expression <Func <TEntity, bool> > query, int pageNumber = 1, int pageSize = int.MaxValue, CancellationToken cancellationToken = default(CancellationToken))
        {
            var result = dbSet.Where(query);

            return(await PageingHelper.CreatePagedListAsync <TEntity>(result, pageNumber, pageSize, cancellationToken));
        }