Ejemplo n.º 1
0
        public IActionResult Update(EditProductViewModel model)
        {
            if (ModelState.IsValid)
            {
                Product productForUpdate = productRepository.GetSingleProduct(model.Id);

                productForUpdate.Description = model.Description;
                productForUpdate.Name        = model.Name;
                productForUpdate.CategoryId  = model.CategoryId;//Check


                if (model.MainImages != null)
                {
                    productForUpdate.mainImages = IFormFileToString(model.MainImages);
                }



                if (model.Images != null && model.Images.Count != 0)
                {
                    List <ImageProduct> imgeProductsList = new List <ImageProduct>();
                    if (model?.Images?.Count > 0)
                    {
                        foreach (var item in model.Images)
                        {
                            ImageProduct imageValue = new ImageProduct()
                            {
                                image = IFormFileToString(item)
                            };
                            imgeProductsList.Add(imageValue);
                        }
                    }
                    productForUpdate.imageProducts = imgeProductsList;
                }

                productRepository.Update(productForUpdate);
                return(RedirectToAction("Index"));
            }
            else
            {
                var errors = ModelState.Select(x => x.Value.Errors)
                             .Where(y => y.Count > 0)
                             .ToList();
            }
            return(View());
        }
Ejemplo n.º 2
0
        //https://stackoverflow.com/questions/30566848/when-should-i-use-async-controllers-in-asp-net-mvc
        //[HttpGet]
        public IActionResult showSingle(int ProductID)
        {
            LogDetails log = new LogDetails()
            {
                productID = ProductID,
                VisitTime = DateTime.Now,
                IP        = Request.HttpContext.Connection.RemoteIpAddress.ToString()
            };

            _LogDetails.Add(log);
            Product res = RepoPrc.GetSingleProduct(ProductID);

            if (res == null)
            {
                return(NotFound());
            }

            var TAGS     = ProductInfoREPO.GetMoreInfo(ProductID, "TAG");
            var relerted = RepoPrc.GetReletionPruduct(ProductID);
            //UserViewModel userViewModel = _mapper.Map<UserViewModel>(user);
            //var relertedmap = _mapper.Map<productSingleImage>(relerted);
            var relertedmaps = _mapper.Map <List <Product>, List <productSingleImage> >(relerted.ToList());
            //Product res =await restask;
            productMultiImage image = new productMultiImage()
            {
                AllImages      = res.imageProducts.Select(x => x.image).ToList(),
                Category       = res.Category,
                Description    = res.Description,
                id             = res.ProductID,
                Name           = res.Name,
                Tags           = TAGS,
                RelatedProduct = relertedmaps
            };

            image.AllImages.Add(res.mainImages);
            return(View(image));
        }