public IActionResult Orders() { var userId = User.GetId(); var orders = _dbContext.Orders.Where(o => o.UserId == userId); IOrderStates toShopOrderManager = new ToShopDeliveryOrder(); IOrderStates toHomeOrderManager = new ToHomeDeliveryOrder(); var model = orders.Select(o => new OrderInfoViewModel() { OrderId = o.Id, CreateDate = o.CreateDate, TotalPrice = o.TotalPrice, State = o.DeliveryMethod == DeliveryMethods.DeliveryToHome.GetString? new OrderState() { State = o.State, CssClass = toHomeOrderManager.GetStateCssClass(o.State) }: new OrderState() { State = o.State, CssClass = toShopOrderManager.GetStateCssClass(o.State) }, }).AsEnumerable(); return(View(model)); }
public IActionResult Orders(AdminPanelOrdersViewModel model) { var orders = _dbContext.Orders.Where(x => x == x); if (model.QueryId != 0) { if (model.StringSearchBy == ((int)SearchByEnum.Order).ToString()) { orders = orders.Where(o => o.Id == model.QueryId); } if (model.StringSearchBy == ((int)SearchByEnum.User).ToString()) { orders = orders.Where(o => o.UserId == model.QueryId); } } var ordersInMemory = orders.ToList(); IOrderStates toHomeDeliveryOrderManager = new ToHomeDeliveryOrder(); IOrderStates toShopDeliveryOrderManager = new ToShopDeliveryOrder(); var ordersResult = ordersInMemory.Select(o => new AdminPanelOrderInfoViewModel() { OrderId = o.Id, OwnerId = o.UserId, CreateDate = o.CreateDate, OrderState = o.DeliveryMethod == DeliveryMethods.DeliveryToHome.GetString ? new OrderState { State = o.State, CssClass = toHomeDeliveryOrderManager.GetStateCssClass(o.State) } : new OrderState { State = o.State, CssClass = toShopDeliveryOrderManager.GetStateCssClass(o.State) } }); var newModel = new AdminPanelOrdersViewModel() { Orders = ordersResult, QueryId = model.QueryId == 0 ? 1 : model.QueryId, StringSearchBy = model.StringSearchBy, SearchBy = model.SearchBy == null ? new List <SelectListItem>() { new SelectListItem("Номеру заказа", ((int)SearchByEnum.Order).ToString(), ((int)SearchByEnum.Order).ToString() == model.StringSearchBy? true : false), new SelectListItem("Идентификатору пользователя", ((int)SearchByEnum.User).ToString(), ((int)SearchByEnum.User).ToString() == model.StringSearchBy? true : false) } : model.SearchBy }; ModelState.Clear(); TryValidateModel(newModel, nameof(newModel)); return(View(newModel)); }