// GET: Products public IActionResult Index(string sortOrder, string searchString, int?page, int?pageSize) { ViewData["NameSortParm"] = string.IsNullOrEmpty(sortOrder) || sortOrder == "name_desc" ? "name" : "name_desc"; ViewData["QttySortParm"] = sortOrder == "qtty" ? "qtty_desc" : "qtty"; ViewData["CurrentFilter"] = searchString; var queryParameters = new QueryParameters { PageNumber = page ?? 1, PageSize = pageSize ?? 10 }; var sortItem = new QuerySortItem(); switch (sortOrder) { case "name_desc": sortItem.FieldName = "Name"; sortItem.Descending = true; break; case "qtty": sortItem.FieldName = "Qtty"; sortItem.Descending = false; break; case "qtty_desc": sortItem.FieldName = "Qtty"; sortItem.Descending = true; break; default: sortItem.FieldName = "Name"; sortItem.Descending = false; break; } queryParameters.SortItems.Add(sortItem); if (!string.IsNullOrEmpty(searchString)) { queryParameters.Filters.Add(new QueryFilterItem { FieldName = "Name", FilterValue = searchString, FilterOperator = "LIKE", ParameterName = "Name" }); } var products = _productsQueryRepository.Get(queryParameters) .Select(x => new ProductViewModel { Id = x.Id, Name = x.Name, Description = x.Description, Qtty = _stocksQueryRepository.GetProductQtty(x.Id) }).ToList(); return(View(products)); }
// GET: Stocks public IActionResult Index(string sortOrder, string searchString, int?page, int?pageSize) { ViewData["OperationTimeSortParm"] = sortOrder == "operationTime" ? "operationTime_desc" : "operationTime"; ViewData["ProductNameSortParm"] = string.IsNullOrEmpty(sortOrder) || sortOrder == "name_desc" ? "name" : "name_desc"; ViewData["PriceSortParm"] = string.IsNullOrEmpty(sortOrder) || sortOrder == "price_desc" ? "price" : "price_desc"; ViewData["QttySortParm"] = sortOrder == "qtty" ? "qtty_desc" : "qtty"; ViewData["CurrentFilter"] = searchString; var queryParameters = new QueryParameters { PageNumber = page ?? 1, PageSize = pageSize ?? 10 }; var sortItem = new QuerySortItem(); switch (sortOrder) { case "operationTime_desc": sortItem.FieldName = "OperationTime"; sortItem.Descending = true; break; case "operationTime": sortItem.FieldName = "OperationTime"; sortItem.Descending = false; break; case "name_desc": sortItem.FieldName = "Name"; sortItem.Descending = true; break; case "name": sortItem.FieldName = "Name"; sortItem.Descending = false; break; case "price_desc": sortItem.FieldName = "Price"; sortItem.Descending = true; break; case "qtty": sortItem.FieldName = "Qtty"; sortItem.Descending = false; break; case "qtty_desc": sortItem.FieldName = "Qtty"; sortItem.Descending = true; break; default: sortItem.FieldName = "Price"; sortItem.Descending = false; break; } queryParameters.SortItems.Add(sortItem); if (!string.IsNullOrEmpty(searchString)) { queryParameters.Filters.Add(new QueryFilterItem { FieldName = "Name", FilterValue = searchString, FilterOperator = "LIKE", ParameterName = "Name" }); } var stocks = _stocksQueryRepository.Get(queryParameters); //.Select(x => new StockViewModel //{ // Id = x.Id, // Price = x.Price, // Quantity = x.Quantity, // Product = x.Product //}).ToList(); return(View(stocks)); }