public IActionResult Results(ConsumptionEventSearchModel searchModel) { searchModel.ItemsPerPage = searchModel.ResultsPerPage; var query = new ConsumptionEventSearchQueryEntity() { InventoryItemId = searchModel.InventoryItemId, DateCreatedStart = searchModel.DateCreatedStart, DateCreatedEnd = searchModel.DateCreatedEnd, ConsumedBy = searchModel.ConsumedBy, OrderNumber = searchModel.OrderNumber, ResultsPerPage = searchModel.ResultsPerPage }; var results = _eventService.FindConsumptionSearchResults(query); var filterResults = results .Skip((searchModel.CurrentPage - 1) * searchModel.ItemsPerPage) .Take(searchModel.ItemsPerPage) .ToList(); var presentation = new ConsumptionEventSearchResultsModel { CurrentPage = searchModel.CurrentPage, Events = filterResults, ItemsPerPage = searchModel.ResultsPerPage, TotalItems = (results.Count() > 0 ? results.Count() : 1) }; return(View(presentation)); }
public IActionResult Search() { ViewData["ResultsPerPage"] = _selectListService.ResultsPerPage(); var presentation = new ConsumptionEventSearchModel(); return(View(presentation)); }
/// <summary> /// Return all Consumption Events matching the specified criteria. /// All results are returned if no criteria are specified /// </summary> /// <param name="searchModel"></param> /// <returns></returns> public List <ConsumptionEvent> FindConsumptionSearchResults(ConsumptionEventSearchModel searchModel) { var results = Context.ConsumptionEvents .AsQueryable() .AsNoTracking(); // Code if (!string.IsNullOrEmpty(searchModel.InventoryItemId)) { results = results.Where(x => x.InventoryItemId.Contains(searchModel.InventoryItemId)); } // Date Added if (searchModel.DateCreatedStart != null && searchModel.DateCreatedEnd != null) { results = results.Where(x => x.DateAdded.Value.Date >= searchModel.DateCreatedStart.Value.Date && x.DateAdded.Value.Date <= searchModel.DateCreatedEnd.Value.Date); } else if (searchModel.DateCreatedStart != null && searchModel.DateCreatedEnd == null) { results = results.Where(x => x.DateAdded.Value.Date >= searchModel.DateCreatedStart.Value.Date); } else if (searchModel.DateCreatedStart == null && searchModel.DateCreatedEnd != null) { results = results.Where(x => x.DateAdded.Value.Date <= searchModel.DateCreatedEnd.Value.Date); } var realResults = results.OrderBy(x => x.ConsumptionEventId).ToList(); // Consumed By if (!string.IsNullOrEmpty(searchModel.ConsumedBy)) { realResults = realResults.Where(x => x.ConsumedBy.Contains(searchModel.ConsumedBy, StringComparison.OrdinalIgnoreCase)).ToList(); } // Order Number if (!string.IsNullOrEmpty(searchModel.OrderNumber)) { realResults = realResults.Where(x => x.OrderNumber.Contains(searchModel.OrderNumber, StringComparison.OrdinalIgnoreCase)).ToList(); } return(realResults); }
public IActionResult Results(ConsumptionEventSearchModel searchModel) { searchModel.ItemsPerPage = searchModel.ResultsPerPage; var results = _eventService.FindConsumptionSearchResults(searchModel); var filterResults = results .Skip((searchModel.CurrentPage - 1) * searchModel.ItemsPerPage) .Take(searchModel.ItemsPerPage) .ToList(); var presentation = new ConsumptionEventSearchResultsModel { CurrentPage = searchModel.CurrentPage, Events = filterResults, ItemsPerPage = searchModel.ResultsPerPage, TotalItems = (results.Count() > 0 ? results.Count() : 1) }; return(View(presentation)); }