Пример #1
0
        public IActionResult ProductShow(int id)
        {
            //var productVM = new ProductShowViewModel();
            //var productTypes = _productTypeBLL.GetAll();
            var product   = _productBLL.GetByid(id);
            var productVM = ProductShowViewModel.FromModel(product);

            return(View(productVM));
        }
Пример #2
0
        public async Task <ProductShowViewModel> GetWithRelatedData(Guid id)
        {
            Product product = await _repository.Products.GetWithRelatedData(id);

            product.Bids.OrderByDescending(i => i.BidPrice);
            product.Bids.Take(10);

            List <string> img = new List <string>();

            foreach (var image in product.Image)
            {
                img.Add(image.ImgPath);
            }

            List <BidFrontEnd> bids = new List <BidFrontEnd>();

            foreach (var Bid in product.Bids)
            {
                BidFrontEnd bid = new BidFrontEnd
                {
                    BidPrice    = Bid.BidPrice,
                    BidTime     = DateTime.Now,
                    UserId      = new Guid(Bid.ApplicationUser.Id),
                    UserName    = Bid.ApplicationUser.UserName,
                    userAddress = Bid.ApplicationUser.User.Address,
                    userImage   = Bid.ApplicationUser.User.Image,
                    ProductId   = product.Id
                };
                bids.Add(bid);
            }

            ProductShowViewModel model = new ProductShowViewModel
            {
                posterId           = new Guid(product.ApplicationUserId),
                userId             = new Guid(product.ApplicationUser.Id),
                userName           = product.ApplicationUser.UserName,
                userAddress        = product.ApplicationUser.User.Address,
                userImage          = product.ApplicationUser.User.Image,
                userPhone          = product.ApplicationUser.User.Phone,
                StartDateTime      = product.StartDateTime.Value,
                EndDateTime        = product.EndDateTime.Value,
                ProductName        = product.ProductName,
                ProductDescription = product.ProductDescription,
                Quantity           = product.Quantity,
                BasePrice          = product.BasePrice,
                ContactInfo        = product.ContactInfo,
                CategoryId         = product.Category.Id,
                CategoryName       = product.Category.CategoryName,
                CityId             = product.City.Id,
                CityName           = product.City.CityName,
                Image = img.ToList(),
                Bids  = bids.ToList()
            };

            return(model);
        }
Пример #3
0
        public IHttpResponse CakeDetails(ProductShowViewModel model)
        {
            if (!IsAuthenticated())
            {
                ViewData["visible"] = "bloc";
                ViewData["title"]   = "Login";
                return(View("account/login"));
            }

            //var cakeId = Request.QueryData["id"].ToString().Trim();
            //var id = int.Parse(cakeId);


            if (model.Id == 0)

            {
                var message = "Invalid request.";
                return(BadRequestError(message));
            }

            using (Db)
            {
                var cake = Db.Products
                           .Where(c => c.Id == model.Id)
                           .Select(c => new ProductDetailsViewModel
                {
                    Name     = c.Name,
                    Price    = c.Price,
                    ImageUrl = c.ImageUrl
                })
                           .First();

                if (cake == null)
                {
                    ViewData["title"] = "Home";
                    return(View("home/index"));
                }

                ViewData["cakeName"]   = cake.Name;
                ViewData["cakeId"]     = model.Id.ToString();
                ViewData["cakePrice"]  = cake.Price.ToString(CultureInfo.InvariantCulture);
                ViewData["pictureUrl"] = cake.ImageUrl;
                ViewData["title"]      = "Cake Details";
            }

            return(View("products/cakeDetails"));
        }
Пример #4
0
        public async Task <IActionResult> AddProduct(ProductShowViewModel model)
        {
            ViewBag.ParentId = new SelectList(_db.ProductCatalogs.CatalogDll(), "value", "label");

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var isExist = await _db.Products.IsExistAsync(model.ProductName, model.ProductCatalogId).ConfigureAwait(false);

            if (!isExist)
            {
                _db.Products.AddCustom(model);
                await _db.SaveChangesAsync();

                return(RedirectToAction("AddProduct"));
            }

            ModelState.AddModelError("ProductName", "Product Name Already Exist");
            return(View(model));
        }