public ActionResult ActiveOrders()
        {
            ViewBag.Title = "Active orders";
            var userId = User.Identity.GetUserId();

            if (_userManager.IsInRole(userId, UserRole.Buyer))
            {
                var buyer  = _buyerRepository.FirstOrDefault(item => item.Id == userId);
                var orders = buyer.Orders.Where(item => StatusTypes.ActiveStatuses.Contains(item.Status));
                var res    = new List <OrderViewModel>();
                foreach (var o in orders)
                {
                    var oModel = _mapper.Map <OrderViewModel>(o);
                    var image  = o.Product.Images.Count > 0 ?
                                 o.Product.Images.FirstOrDefault(i => i.Index == o.Product.Images.Select(s => s.Index).Min()) : null;
                    oModel.MainImage = image != null ? "/Content/ProductImages/" + image.Id + image.Extention : "/Content/no_available_image.png";
                    res.Add(oModel);
                }

                ViewBag.Helper = _mapper.Map <BuyerProfileHelperViewModel>(buyer);
                return(View("../Buyer/Orders", res));
            }
            else
            {
                var seller = _sellerRepository.FirstOrDefault(item => item.Id == userId);
                var orders = seller.Products.SelectMany(item => item.Orders)
                             .Where(item => StatusTypes.ActiveStatuses.Contains(item.Status));
                var res = new List <OrderViewModel>();
                foreach (var o in orders)
                {
                    var oModel = _mapper.Map <OrderViewModel>(o);
                    var image  = o.Product.Images.Count > 0 ?
                                 o.Product.Images.FirstOrDefault(i => i.Index == o.Product.Images.Select(s => s.Index).Min()) : null;
                    oModel.MainImage = image != null ? "/Content/ProductImages/" + image.Id + image.Extention : "/Content/no_available_image.png";
                    res.Add(oModel);
                }
                ViewBag.Helper = _mapper.Map <SellerProfileHelperViewModel>(seller);
                return(View("../Seller/Orders", res));
            }
        }
Exemple #2
0
        private Buyer GetBuyer()
        {
            var userId = User.Identity.GetUserId();

            return(_buyerRepository.FirstOrDefault(item => item.Id == userId));
        }