public ActionResult SearchPost(int?page) { var viewModel = new OrderListFilters { Employees = _employeeService.Employees.Where(x => x.IsActive && x.IsVerified) .Select(n => new SelectListItem { Value = n.Id.ToString(), Text = string.Format("{0} {1}", n.Name, n.Surname) }) }; if (!TryUpdateModel(viewModel) || !ModelState.IsValid) { return(View(viewModel)); } try { var pageIndex = page ?? 1; viewModel.Results = _orderService.Search(viewModel).ToPagedList(pageIndex, 10); return(View(viewModel)); } catch (Exception ex) { return(View(viewModel)); throw ex; } }
public IEnumerable <SearchResult> Search(OrderListFilters filters) { var records = Orders.Where(x => (filters.OrderId == null || x.Id == filters.OrderId) && (string.IsNullOrEmpty(filters.Customer) || string.Format("{0} {1}", x.Customer.Name, x.Customer.Surname).Contains(filters.Customer)) && (string.IsNullOrEmpty(filters.Car) || string.Format("{0} {1}", x.Car.Mark, x.Car.Model).Contains(filters.Car)) && (filters.OrderTypeId == null || x.OrderType.Id == filters.OrderTypeId) && (filters.OrderStatusId == null || x.OrderStatus.Id == filters.OrderStatusId) && (filters.EmployeeId == null || x.Employee.Id == filters.EmployeeId)); var result = records.Select(n => new SearchResult { OrderId = n.Id, CustomerName = string.Format("{0} {1}", n.Customer.Name, n.Customer.Surname), Car = string.Format("{0} {1}", n.Car.Mark, n.Car.Model), OrderStatus = n.OrderStatus.Name, OrderType = n.OrderType.Name, EmployeeName = string.Format("{0} {1}", n.Employee.Name, n.Employee.Surname) }); switch (filters.SortedBy) { case "OrderId ASC": return(result.OrderBy(x => x.OrderId)); break; case "OrderId DESC": return(result.OrderByDescending(x => x.OrderId)); break; case "Customer ASC": return(result.OrderBy(x => x.CustomerName)); break; case "Customer DESC": return(result.OrderByDescending(x => x.CustomerName)); break; case "Car ASC": return(result.OrderBy(x => x.Car)); break; case "Car DESC": return(result.OrderByDescending(x => x.Car)); break; default: return(result.OrderBy(x => x.OrderId)); break; } }
public ActionResult Search(int?page) { var viewModel = new OrderListFilters { Employees = _employeeService.Employees.Where(x => x.IsActive && x.IsVerified) .Select(n => new SelectListItem { Value = n.Id.ToString(), Text = string.Format("{0} {1}", n.Name, n.Surname) }) }; var pageIndex = page ?? 1; viewModel.Results = _orderService.Search(viewModel).ToPagedList(pageIndex, 10); return(View(viewModel)); }
public List <Order> GetOrderList(OrderListFilters orderListFilters) { var orders = _orderDal.GetList().ToList(); if (orderListFilters.EndDate != null && orderListFilters.StartDate != null) { orders = orders.Where(o => o.OrderDate <orderListFilters.EndDate && o.OrderDate> orderListFilters.StartDate).ToList(); } if (orderListFilters.OrderStatusId != null) { orders = orders.Where(o => o.OrderStatusId == orderListFilters.OrderStatusId).ToList(); } if (orderListFilters.MaxTotalPrice != null && orderListFilters.MinTotalPrice != null) { orders = orders.Where(o => o.OrderTotalPrice <orderListFilters.MaxTotalPrice && o.OrderTotalPrice> orderListFilters.MinTotalPrice).ToList(); } return(orders); }
public IActionResult GetOrders(OrderListFilters orderListFilters) { return(Ok(_orderService.GetOrderList(orderListFilters))); }