public IResponseDTO SearchDiscrepancyStatuses(DiscrepancyStatusFilterDto filterDto) { try { var query = _appDbContext.DiscrepancyStatuses.Where(x => !x.IsDeleted); if (filterDto != null) { if (!string.IsNullOrEmpty(filterDto.Name)) { query = query.Where(x => x.Name.Trim().ToLower().Contains(filterDto.Name.Trim().ToLower())); } } //Check Sort Property if (!string.IsNullOrEmpty(filterDto?.SortProperty)) { //query = query.OrderBy( // string.Format("{0} {1}", filterDto.SortProperty, filterDto.IsAscending ? "ASC" : "DESC")); } else { query = query.OrderByDescending(x => x.Id); } // Pagination var total = query.Count(); if (filterDto.PageIndex.HasValue && filterDto.PageSize.HasValue) { query = query.Skip((filterDto.PageIndex.Value - 1) * filterDto.PageSize.Value).Take(filterDto.PageSize.Value); } _response.IsPassed = true; _response.Data = new { List = query.ToList(), Total = total, }; } catch (Exception ex) { _response.Data = null; _response.IsPassed = false; _response.Message = "Error " + ex.Message; } return(_response); }
public IResponseDTO SearchDiscrepancyStatuses([FromQuery] DiscrepancyStatusFilterDto filterDto) { _response = _discrepancyStatusService.SearchDiscrepancyStatuses(filterDto); return(_response); }