public async Task <IActionResult> List([FromQuery] OffishCategoriesQuery request)
        {
            try
            {
                var result = await _service.GetOffishCategories(request);

                return(Ok(result));
            }
            catch (BusinessLogicException ex)
            {
                return(BadRequest(new Response
                {
                    Status = false,
                    Message = ex.Message
                }));
            }
            catch (Exception e)
            {
                return(BadRequest(new Response
                {
                    Status = false,
                    Message = ErrorMessages.UnkownError
                }));
            }
        }
Example #2
0
        public async Task <Response <OffishCategoriesDto> > GetOffishCategories(OffishCategoriesQuery request)
        {
            var result = _context.OffishCategories.AsQueryable();

            if (!string.IsNullOrEmpty(request.Name))
            {
                result = result.Where(x => x.Name.Contains(request.Name));
            }



            ///pagenating
            int take = request.PageSize;
            int skip = (request.PageId - 1) * take;

            int totalPages = (int)Math.Ceiling(result.Count() / (double)take);

            var finalResult = result.OrderBy(x => x.Name).Skip(skip).Take(take).AsQueryable();


            //----------------


            var resultData = new OffishCategoriesDto
            {
                Dtos = await finalResult.Select(d => new OffishCategoryDto()
                {
                    Id   = d.Id,
                    Name = d.Name
                }).ToListAsync(),
                PageId   = request.PageId,
                PageSize = request.PageSize,
                Total    = await result.CountAsync()
            };

            return(new Response <OffishCategoriesDto>
            {
                Data = resultData,


                Status = true,
                Message = "success"
            });
        }