public IActionResult Get(CatSalemanCriteria criteria, int page, int size) { var data = catSaleManService.Paging(criteria, page, size, out int rowCount); var result = new { data, totalItems = rowCount, page, size }; return(Ok(result)); }
public List <CatSaleManViewModel> Paging(CatSalemanCriteria criteria, int page, int size, out int rowsCount) { List <CatSaleManViewModel> results = null; var list = Query(criteria); if (list == null) { rowsCount = 0; return(results); } rowsCount = list.ToList().Count; if (size > 1) { if (page < 1) { page = 1; } results = list.OrderByDescending(x => x.ModifiedDate).Skip((page - 1) * size).Take(size).ToList(); } return(results); }
public IQueryable <CatSaleManViewModel> Query(CatSalemanCriteria criteria) { var salesMan = GetSaleMan().Where(x => x.PartnerId == criteria.PartnerId); var sysUser = sysUserRepository.Get(); var query = from saleman in salesMan join users in sysUser on saleman.SaleManId equals users.Id select new { saleman, users }; if (criteria.All == null) { query = query.Where(x => (x.saleman.Company == criteria.Company || criteria.Company == Guid.Empty) && (x.saleman.Office == criteria.Office || criteria.Office == Guid.Empty) && (x.saleman.Status == criteria.Status || criteria.Status == null) ); } else { query = query.Where(x => (x.saleman.Company == criteria.Company || criteria.Company == Guid.Empty) || (x.saleman.Office == criteria.Office || criteria.Office == Guid.Empty) || (x.saleman.Status == criteria.Status || criteria.Status == null) || (x.saleman.PartnerId == criteria.PartnerId) ); } if (query.Count() == 0) { return(null); } List <CatSaleManViewModel> results = new List <CatSaleManViewModel>(); foreach (var item in query) { var saleman = mapper.Map <CatSaleManViewModel>(item.saleman); saleman.Username = item.users.Username; results.Add(saleman); } return(results?.OrderBy(x => x.CreateDate).AsQueryable()); }
public IActionResult Get(CatSalemanCriteria criteria) { var results = catSaleManService.Query(criteria); return(Ok(results)); }