Exemple #1
0
 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);
        }
Exemple #3
0
 public IEnumerable <AdminOrderVM> GetAllForAdmin(SearchOrderVM search) => _orderRepository.GetAllForAdmin(search);