Exemple #1
0
        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;
            }
        }
Exemple #2
0
        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;
            }
        }
Exemple #3
0
        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));
        }
Exemple #4
0
        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);
        }
Exemple #5
0
 public IActionResult GetOrders(OrderListFilters orderListFilters)
 {
     return(Ok(_orderService.GetOrderList(orderListFilters)));
 }