Esempio n. 1
0
        public async Task <IActionResult> AddItems(ManuallyNewItemsViewModel model)
        {
            if (ModelState.IsValid)
            {
                var   slug     = FriendlyUrl.GetFriendlyTitle(model.Name);
                Items newItems = new Items(model.Name, model.Price, model.Description, 0, @"temp", _categoryRepository.GetByName(model.Category), _sellerRepository.GetBySellerId(model.SellerId), model.Offer, slug, true);
                _itemsRepository.Add(newItems);
                _itemsRepository.SaveChanges();

                newItems.Image = @"images\items\" + newItems.ItemsId + @"\";
                _itemsRepository.SaveChanges();

                var filePath = @"wwwroot/images/items/" + newItems.ItemsId + "/thumb.jpg";
                Directory.CreateDirectory(Path.GetDirectoryName(filePath));
                var fileStream = new FileStream(filePath, FileMode.Create);
                await model.Thumbnail.CopyToAsync(fileStream);

                fileStream.Close();

                for (int i = 0; i < model.Image.Count; i++)
                {
                    filePath = @"wwwroot/images/items/" + newItems.ItemsId + "/Image/" + (i + 1) + ".jpg";
                    Directory.CreateDirectory(Path.GetDirectoryName(filePath));
                    fileStream = new FileStream(filePath, FileMode.Create);
                    await model.Image[i].CopyToAsync(fileStream);
                    fileStream.Close();
                }


                return(RedirectToAction("ItemsOverview"));
            }
            ViewData["category"] = new SelectList(_categoryRepository.GetAll().Select(c => c.Name));
            ViewData["offer"]    = Offer();
            return(View(nameof(AddItems), model));
        }