public async Task <int?> CreateAsync(ItemCreateSM model) { var item = new Item { Type = model.Type, CommercialType = model.CommercialType, Title = model.Title, Description = model.Description, Size = model.Size, Price = model.Price, Quantity = model.Quantity }; this.db.Items.Add(item); int?result = await db.SaveChangesAsync(); if (result == null) { return(result); } item.Images = await CreateImages(model.ImageUrls, item); result = await db.SaveChangesAsync(); if (result == null) { return(result); } return(item.Id); }
public async Task <IActionResult> Create(ItemCreateIM model) { if (ModelState.IsValid == false) { return(View(model)); } ItemType itemType; bool isValidType = Enum.TryParse <ItemType>(model.Type, out itemType); CommercialType itemCommType; bool isValidCommercialType = Enum.TryParse <CommercialType>(model.CommercialType, out itemCommType); Sizing size; bool isValidSize = Enum.TryParse <Sizing>(model.Size, out size); if (isValidCommercialType == false || isValidType == false || isValidSize == false) { var error = new ErrorVM { Message = "Please, insert Personal, Gift or ForSale as Commercial Type" }; return(RedirectToAction("Error", error)); } var createSM = new ItemCreateSM { Title = model.Title, Description = model.Description, Type = itemType, CommercialType = itemCommType, Size = size, Price = model.Price, Quantity = model.Quantity }; createSM.ImageUrls = await UploadImages((List <IFormFile>) model.Images, model.Title); var createResult = await this.itemService.CreateAsync(createSM); if (createResult == null) { var error = new ErrorVM { Message = "The item was not properly added to the Database." }; return(RedirectToAction("Error", error)); } return(Redirect("/")); }