public void OnGet(SearchOrderVM search) { Users = new SelectList(_userApplication.GetAllForSearch(), "Id", "Fullname"); Orders = _orderApplication.GetAllForAdmin(search); }
public IEnumerable <AdminOrderVM> GetAllForAdmin(SearchOrderVM search) { var users = _accountContext.Users.Select(u => new { u.Id, u.Fullname }).ToList(); var query = _shopContext.Orders.Select(o => new AdminOrderVM { Id = o.Id, DiscountPrice = o.DiscountPrice, IsPayed = o.IsPayed, IssueTrackingNo = o.IssueTrackingNo, PayAmount = o.PayAmount, RefId = o.RefId, TotalPrice = o.TotalPrice, UserId = o.UserId, Status = o.Status, PaymentMethodId = o.PaymentMethod, CreationDate = o.CreationTime.ToFarsi() }).OrderByDescending(o => o.Id).AsNoTracking(); if (search.UserId > 0) { query = query.Where(o => o.UserId == search.UserId); } if (search.Status > 0) { query = query.Where(o => o.Status == search.Status); } var orders = query.ToList(); orders.ForEach(o => o.PaymentMethod = o.PaymentMethodId == PaymentMethod.Online ? "پرداخت اینترنتی" : "پرداخت نقدی"); orders.ForEach(o => o.Fullname = users.Find(u => u.Id == o.UserId)?.Fullname); foreach (var order in orders) { switch (order.Status) { case OrderStatus.Transaction: order.StatusTitle = "در حال انجام تراکنش"; break; case OrderStatus.PreParation: order.StatusTitle = "آماده سازی"; break; case OrderStatus.Dispatching: order.StatusTitle = "در حال ارسال"; break; case OrderStatus.AgentDelivary: order.StatusTitle = "تحویل پست"; break; case OrderStatus.CustomerDelivary: order.StatusTitle = "تحویل داده شد"; break; } } return(orders); }
public IEnumerable <AdminOrderVM> GetAllForAdmin(SearchOrderVM search) => _orderRepository.GetAllForAdmin(search);