public async Task <IActionResult> ListEquipmentTypes([FromQuery] EquipmentTypesQuery request) { try { var result = await _service.GetEquipmentTypes(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 })); } }
public async Task <Response <EquipmentTypesDto> > GetEquipmentTypes(EquipmentTypesQuery request) { var result = _context.EquipmentTypes.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 EquipmentTypesDto { Dtos = await finalResult.Select(d => new EquipmentTypeDto() { Id = d.Id, Name = d.Name }).ToListAsync(), PageId = request.PageId, PageSize = request.PageSize, Total = await result.CountAsync() }; return(new Response <EquipmentTypesDto> { Data = resultData, Status = true, Message = "success" }); }