Beispiel #1
0
        public async Task <IActionResult> Create([Bind("SKUId,Price,IsDiscounted,DiscountedPrice,ProductId,ImageUrl,OptionId,Files,SKUOptions")] SKUFormViewModel skuFormViewModel)
        {
            //TODO Validate SKU Size has been entered


            if (ModelState.IsValid)
            {
                //create new SKU
                var sku = new SKU(skuFormViewModel);

                //Add SKU Options
                sku.SKUOptions = skuFormViewModel.SKUOptions;

                //Add SKU Pictures
                await sku.UpdateSKUPictures(skuFormViewModel.Files, _environment);

                //Add SKU to DB
                _context.Add(sku);

                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }

            var product = await _context.Products.Include(x => x.SizeGroup)
                          .ThenInclude(x => x.Sizes)
                          .SingleOrDefaultAsync(x => x.Id == skuFormViewModel.ProductId);

            skuFormViewModel.Product    = product;
            skuFormViewModel.OptionList =
                await _context.Options.Where(x => x.OptionGroupId == product.OptionGroupId).ToListAsync();

            skuFormViewModel.SizeList = await _context.Sizes.Where(x => x.SizeGroupId == product.SizeGroupId).ToListAsync();

            ViewData["Header"] = "SKUs";
            return(View("SKUForm", skuFormViewModel));
        }