예제 #1
0
        //------------------------------------------------------
        //Удаление товара
        public ActionResult DeleteProduct(int ProductId, int CategoryId)
        {
            if (CategoryId == 1)
            {
                Parfum obj = productrepo.GetProductById(ProductId);
                productrepo.DeleteProduct(obj);
                TempData["message"] = String.Format("Товар '{0}' удален из базы", obj.ProductName);
                return(RedirectToAction("ShowProductsInCategory", "Admin", new { obj.CategoryId }));
            }

            else if (CategoryId == 2)
            {
                Cosmetic obj = cosmeticrepo.GetProductById(ProductId);
                cosmeticrepo.DeleteProduct(obj);
                TempData["message"] = String.Format("Товар '{0}' удален из базы", obj.ProductName);
                return(RedirectToAction("ShowProductsInCategory", "Admin", new { obj.CategoryId }));
            }

            else if (CategoryId == 3)
            {
                Care obj = carerepo.GetProductById(ProductId);
                carerepo.DeleteProduct(obj);
                TempData["message"] = String.Format("Товар'{0}'удвлен из базы", obj.ProductName);
                return(RedirectToAction("ShowProductsInCategory", "Admin", new { obj.CategoryId }));
            }

            return(View());
        }
예제 #2
0
        //----------------------------------------------------
        //Метод для отображения информации по одному товару при клике на его изображение
        public ActionResult GetOneProductInfo(int ProductId, int CategoryId)
        {
            AbstractProduct obj = null;

            if (CategoryId == 1)
            {
                Parfum parfum = ProductRepo.GetProductById(ProductId);
                return(PartialView("GetOneParfumInfo", parfum));
            }

            else if (CategoryId == 2)
            {
                obj             = CosmeticRepo.GetProductById(ProductId);
                obj.PriceToShow = BuildPrice(obj.NewPrice);
                CosmeticRepo.AddCountOfView(ProductId);
                return(PartialView("GetOneProductInfo", obj));
            }

            else if (CategoryId == 3)
            {
                obj             = CareRepo.GetProductById(ProductId);
                obj.PriceToShow = BuildPrice(obj.NewPrice);
                CareRepo.AddCountOfView(ProductId);
                return(PartialView("GetOneProductInfo", obj));
            }

            //return PartialView("GetOneProductInfo", obj);
            return(View());
        }
예제 #3
0
        //-----------------------------------------------
        //Удаление товара из корзины
        public ActionResult RemoveProductFromCart(int ProductId, int CategoryId, string Size, string ColorId)
        {
            AbstractProduct obj = null;

            if (CategoryId == 1)
            {
                Parfum parfum = productrepo.GetProductById(ProductId);
                Cart.RemoveParfumFromCart(parfum, Size);
            }

            if (CategoryId == 2)
            {
                obj = cosmeticrepo.GetProductById(ProductId);
                if (obj.Colors.Count > 0)
                {
                    int colorid = Int32.Parse(ColorId);
                    obj.Colors.RemoveAll(color => color.ColorId != colorid);
                }
                Cart.RemoveProductFromCart(obj);
            }

            if (CategoryId == 3)
            {
                obj = carerepo.GetProductById(ProductId);
                Cart.RemoveProductFromCart(obj);
            }
            //Cart.RemoveProductFromCart(obj);
            return(RedirectToAction("ShowCartOnPage", "Cart"));
        }
예제 #4
0
        // To protect from overposting attacks, enable the specific properties you want to bind to, for
        // more details, see https://aka.ms/RazorPagesCRUD.
        public async Task <IActionResult> OnPostAsync(string[] selectedArome)
        {
            var newParfum = new Parfum();

            if (selectedArome != null)
            {
                newParfum.AromeParfum = new List <AromaParfum>();
                foreach (var cat in selectedArome)
                {
                    var catToAdd = new AromaParfum
                    {
                        AromaID = int.Parse(cat)
                    };
                    newParfum.AromeParfum.Add(catToAdd);
                }
            }
            if (await TryUpdateModelAsync <Parfum>(
                    newParfum,
                    "Parfum",
                    i => i.Denumire, i => i.Descriere,
                    i => i.Pret, i => i.DataAparitie, i => i.BrandID, i => i.GenID))
            {
                _context.Parfum.Add(newParfum);
                await _context.SaveChangesAsync();

                return(RedirectToPage("./Index"));
            }
            PopulateAtributAromaData(_context, newParfum);
            return(Page());
        }
예제 #5
0
        //-----------------------------------------------------
        //Редактирование парфюма
        public ActionResult EditProduct(int ProductId)
        {
            Parfum          product = productrepo.GetProductById(ProductId);
            ParfumViewModel obj     = Mapper.Map <ParfumViewModel>(product);

            return(View(obj));
        }
예제 #6
0
        //----------------------------------------------------------


        //----------------------------------------------------------
        //Метод по добавлению нового товара и по сохранению изменений в существующих
        public void SaveProduct(Parfum obj)
        {
            if (obj.ProductId == 0)
            {
                context.Parfums.Add(obj);
            }

            else
            {
                Parfum prod = context.Parfums.Find(obj.ProductId);
                if (prod != null)
                {
                    prod.ProductName = obj.ProductName;
                    prod.CategoryId  = obj.CategoryId;
                    //prod.Price = obj.Price;
                    prod.PriceFor50ml  = obj.PriceFor50ml;
                    prod.PriceFor75ml  = obj.PriceFor75ml;
                    prod.PriceFor100ml = obj.PriceFor100ml;
                    prod.Size25ml      = obj.Size25ml;
                    prod.Size50ml      = obj.Size50ml;
                    prod.Size75ml      = obj.Size75ml;
                    prod.Size100ml     = obj.Size100ml;
                    prod.Description   = obj.Description;
                    prod.Sex           = obj.Sex;
                    if (obj.ImageMimeType != null && obj.ImageData != null)
                    {
                        prod.ImageData     = obj.ImageData;
                        prod.ImageMimeType = obj.ImageMimeType;
                    }
                }
            }
            context.SaveChanges();
        }
예제 #7
0
        public IActionResult OnGet()
        {
            ViewData["BrandID"] = new SelectList(_context.Set <Brand>(), "ID", "NumeBrand");
            ViewData["GenID"]   = new SelectList(_context.Set <Gen>(), "ID", "NumeGen");
            var parfum = new Parfum();

            parfum.AromeParfum = new List <AromaParfum>();
            PopulateAtributAromaData(_context, parfum);

            return(Page());
        }
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Parfum = await _context.Parfum.FirstOrDefaultAsync(m => m.ID == id);

            if (Parfum == null)
            {
                return(NotFound());
            }
            return(Page());
        }
예제 #9
0
        //-----------------------------------------
        //Удаление парфюма из корзины
        public void RemoveParfumFromCart(Parfum obj, string Size)
        {
            ProductsInCart parfum = Products.FirstOrDefault(x => x.obj.ProductId == obj.ProductId && x.Size == Size);

            if (parfum.Quantity > 1)
            {
                parfum.Quantity--;
                parfum.TotalPrice = parfum.Quantity * parfum.obj.NewPrice;
            }

            else
            {
                Products.Remove(parfum);
            }
        }
예제 #10
0
        public FileContentResult GetImage(int ProductId, int CategoryId)
        {
            if (CategoryId == 1)
            {
                Parfum obj = productrepo.GetProductById(ProductId);
                if (obj != null)
                {
                    return(File(obj.ImageData, obj.ImageMimeType));
                }

                else
                {
                    return(null);
                }
            }

            else if (CategoryId == 2)
            {
                Cosmetic obj = cosmeticrepo.GetProductById(ProductId);
                if (obj != null)
                {
                    return(File(obj.ImageData, obj.ImageMimeType));
                }

                else
                {
                    return(null);
                }
            }

            else if (CategoryId == 3)
            {
                Care obj = carerepo.GetProductById(ProductId);
                if (obj != null)
                {
                    return(File(obj.ImageData, obj.ImageMimeType));
                }

                else
                {
                    return(null);
                }
            }

            return(null);
        }
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Parfum = await _context.Parfum.FindAsync(id);

            if (Parfum != null)
            {
                _context.Parfum.Remove(Parfum);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
예제 #12
0
        public async Task OnGetAsync(int?id, int?aromaID)
        {
            ParfumD = new ParfumData();

            ParfumD.Parfumuri = await _context.Parfum
                                .Include(b => b.Brand)
                                .Include(b => b.Gen)
                                .Include(b => b.AromeParfum)
                                .ThenInclude(b => b.Aroma)
                                .AsNoTracking()
                                .OrderBy(b => b.Denumire)
                                .ToListAsync();

            if (id != null)
            {
                ParfumID = id.Value;
                Parfum parfum = ParfumD.Parfumuri
                                .Where(i => i.ID == id.Value).Single();
                ParfumD.Arome = parfum.AromeParfum.Select(s => s.Aroma);
            }
        }
예제 #13
0
        public ActionResult EditProduct(ParfumViewModel obj, HttpPostedFileBase Image)
        {
            if (ModelState.IsValid)
            {
                if (Image != null)
                {
                    obj.ImageMimeType = Image.ContentType;
                    obj.ImageData     = new byte[Image.ContentLength];
                    Image.InputStream.Read(obj.ImageData, 0, Image.ContentLength);
                }
                Parfum p = Mapper.Map <Parfum>(obj);
                productrepo.SaveProduct(p);
                TempData["message"] = String.Format("Изменения в товаре '{0}' сохранены", obj.ProductName);
                return(RedirectToAction("ShowProductsInCategory", "Admin", new { obj.CategoryId }));
            }

            else
            {
                return(View(obj));
            }
        }
예제 #14
0
        public ActionResult AddProduct(ParfumViewModel obj, HttpPostedFileBase Image)
        {
            if (ModelState.IsValid)
            {
                if (Image != null)
                {
                    obj.ImageMimeType = Image.ContentType;
                    obj.ImageData     = new byte[Image.ContentLength];
                    Image.InputStream.Read(obj.ImageData, 0, Image.ContentLength);
                }
                Parfum prod = Mapper.Map <Parfum>(obj);
                productrepo.SaveProduct(prod);
                TempData["message"] = String.Format("Товар '{0}' добавлен", obj.ProductName);
                return(RedirectToAction("Categories", "Admin"));
            }

            else
            {
                return(View(obj));
            }
        }
예제 #15
0
        //------------------------------------------
        //Добавление парфюма в корзину
        public void AddParfumToCart(Parfum obj, string Size)
        {
            ProductsInCart parfum = Products.FirstOrDefault(x => x.obj.ProductId == obj.ProductId && x.Size == Size);

            if (parfum != null)
            {
                parfum.Quantity++;
                parfum.TotalPrice = parfum.Quantity * parfum.obj.NewPrice;
            }

            else
            {
                int QuantityParfum = 1;
                Products.Add(new ProductsInCart
                {
                    obj        = obj,
                    Quantity   = QuantityParfum,
                    TotalPrice = QuantityParfum * obj.NewPrice,
                    Size       = Size
                });
            }
        }
예제 #16
0
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Parfum = await _context.Parfum
                     .Include(b => b.Brand)
                     .Include(b => b.Gen)
                     .Include(b => b.AromeParfum).ThenInclude(b => b.Aroma)
                     .AsNoTracking()
                     .FirstOrDefaultAsync(m => m.ID == id);

            if (Parfum == null)
            {
                return(NotFound());
            }
            PopulateAtributAromaData(_context, Parfum);
            ViewData["BrandID"] = new SelectList(_context.Set <Brand>(), "ID", "NumeBrand");
            ViewData["GenID"]   = new SelectList(_context.Set <Gen>(), "ID", "NumeGen");
            return(Page());
        }
예제 #17
0
        //-----------------------------------------------------------
        //Выбираем продукт по идшнику
        public Parfum GetProductById(int ProductId)
        {
            Parfum obj = context.Parfums.FirstOrDefault(product => product.ProductId == ProductId);

            return(obj);
        }
예제 #18
0
        //----------------------------------------------------------


        //----------------------------------------------------------
        //Удаление товара
        public void DeleteProduct(Parfum obj)
        {
            context.Parfums.Remove(obj);
            context.SaveChanges();
        }