public async Task <ActionResult <PaginatedList <ProvinceSummary> > > GetAll([FromBody] ProvinceFilterRequest filter) { try { // get list of active sales quote (not deleted) var list = context.Provinces .Include(c => c.Cities) .AsNoTracking(); // filter if (!string.IsNullOrEmpty(filter?.SearchTerm)) { list = list.Where(c => c.Name.Contains(filter.SearchTerm, StringComparison.CurrentCultureIgnoreCase) || c.Cities.Any(a => a.Name.Contains(filter.SearchTerm, StringComparison.CurrentCultureIgnoreCase))); } // sort var ordering = $"{Constants.ColumnNames.Name} {Constants.DefaultSortDirection}"; if (!string.IsNullOrEmpty(filter?.SortBy)) { ordering = $"{filter.SortBy} {filter.SortDirection}"; } list = list.OrderBy(ordering); var result = await listHelpers.CreatePaginatedListAsync <Province, ProvinceSummary>(list, filter.PageNumber, filter.PageSize); return(result); } catch (Exception e) { logger.LogError(e.Message); return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public async Task <ActionResult <PaginatedList <UserSummary> > > GetAll([FromBody] UserFilterRequest filter) { try { // get list of active users (not deleted) var list = context.Users .AsNoTracking(); // filter if (filter != null) { list = list.Where(a => a.Username.Contains(filter.SearchTerm) || a.Firstname.Contains(filter.SearchTerm) || a.Lastname.Contains(filter.SearchTerm)); } // sort var ordering = $"{Constants.ColumnNames.Username} {Constants.DefaultSortDirection}"; if (!string.IsNullOrEmpty(filter?.SortBy)) { ordering = $"{filter.SortBy} {filter.SortDirection}"; } list = list.OrderBy(ordering); var result = await listHelpers.CreatePaginatedListAsync <ApplicationUser, UserSummary>(list, filter.PageNumber, filter.PageSize); return(result); } catch (Exception e) { logger.LogError(e.Message); return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public async Task <ActionResult <PaginatedList <OrderSummary> > > GetAll([FromBody] OrderFilterRequest filter) { try { // get list of active orders (not deleted) var list = context.Orders .Include(c => c.Customer) .AsNoTracking(); // filter if (!string.IsNullOrEmpty(filter?.SearchTerm)) { list = list.Where(c => c.Code.ToString().Contains(filter.SearchTerm)); } if (!(filter?.ProvinceId).IsNullOrZero()) { list = list.Where(c => c.Customer.ProvinceId == filter.ProvinceId); } if (!(filter?.CustomerId).IsNullOrZero()) { list = list.Where(c => c.CustomerId == filter.CustomerId); } if (filter?.DateFrom != null || filter?.DateTo != null) { filter.DateFrom = filter.DateFrom == null || filter.DateFrom == DateTime.MinValue ? DateTime.Today : filter.DateFrom; filter.DateTo = filter.DateTo == null || filter.DateTo == DateTime.MinValue ? DateTime.Today : filter.DateTo; list = list.Where(c => c.Date >= filter.DateFrom && c.Date < filter.DateTo.Value.AddDays(1)); } if (!(filter?.ItemId).IsNullOrZero()) { list = list.Where(c => c.LineItems.Any(d => d.ItemId == filter.ItemId)); } var isInvoiced = filter?.IsInvoiced ?? false; list = list.Where(c => c.IsInvoiced == isInvoiced); // sort var ordering = $"{Constants.ColumnNames.Code} {Constants.DefaultSortDirection}"; if (!string.IsNullOrEmpty(filter?.SortBy)) { ordering = $"{filter.SortBy} {filter.SortDirection}"; } list = list.OrderBy(ordering); var entities = await listHelpers.CreatePaginatedListAsync <Order, OrderSummary>(list, filter.PageNumber, filter.PageSize); return(entities); } catch (Exception e) { logger.LogError(e.Message); return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public async Task <ActionResult <PaginatedList <ItemSummary> > > GetAll([FromBody] ItemFilterRequest filter) { try { // get list of active items (not deleted) var list = context.Items.AsNoTracking(); // filter if (!string.IsNullOrEmpty(filter?.SearchTerm)) { list = list.Where(c => c.Code.Contains(filter.SearchTerm, StringComparison.CurrentCultureIgnoreCase) || c.Name.Contains(filter.SearchTerm, StringComparison.CurrentCultureIgnoreCase)); } if (!(filter?.CategoryId).IsNullOrZero()) { list = list.Where(c => c.CategoryId == filter.CategoryId); } if (filter?.IsQuantityLow ?? false) { list = list.Where(c => c.Quantity < Constants.DefaultLowQuantity); } // sort var ordering = $"{Constants.ColumnNames.Code} {Constants.DefaultSortDirection}"; if (!string.IsNullOrEmpty(filter?.SortBy)) { ordering = $"{filter.SortBy} {filter.SortDirection}"; } list = list.OrderBy(ordering); var result = await listHelpers.CreatePaginatedListAsync <Item, ItemSummary>(list, filter.PageNumber, filter.PageSize); return(result); } catch (Exception e) { logger.LogError(e.Message); return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public async Task <ActionResult <PaginatedList <CashVoucherSummary> > > GetAll([FromBody] CashVoucherFilterRequest filter) { try { // get list of active cashVouchers (not deleted) var list = context.CashVouchers.AsNoTracking(); // filter if (!string.IsNullOrEmpty(filter?.SearchTerm)) { list = list.Where(c => c.VoucherNumber.ToString().Contains(filter.SearchTerm) || c.PayTo.Contains(filter.SearchTerm)); } if (filter?.DateFrom != null || filter?.DateTo != null) { filter.DateFrom = filter.DateFrom == null || filter.DateFrom == DateTime.MinValue ? DateTime.Today : filter.DateFrom; filter.DateTo = filter.DateTo == null || filter.DateTo == DateTime.MinValue ? DateTime.Today : filter.DateTo; list = list.Where(c => c.Date >= filter.DateFrom && c.Date < filter.DateTo.Value.AddDays(1)); } // sort var ordering = $"{Constants.ColumnNames.VoucherNumber} {Constants.DefaultSortDirection}"; if (!string.IsNullOrEmpty(filter?.SortBy)) { ordering = $"{filter.SortBy} {filter.SortDirection}"; } list = list.OrderBy(ordering); var entities = await listHelpers.CreatePaginatedListAsync <CashVoucher, CashVoucherSummary>(list, filter.PageNumber, filter.PageSize); return(entities); } catch (Exception e) { logger.LogError(e.Message); return(StatusCode(StatusCodes.Status500InternalServerError)); } }