public async Task <IActionResult> CreateAsync(FlavourCreateViewModel model) { if (ModelState.IsValid) { string uniqueFileName = null; //Filnamn sätts till null initialt if (model.Photo != null) { string uploadsFolder = Path.Combine(hostingEnviroment.WebRootPath, "images"); //Sparar ner wwwroot path och lagrar i sträng uniqueFileName = Guid.NewGuid().ToString() + "_" + model.Photo.FileName; //Skapar unika filnamn för att inte overrida bilder med guid global unique identifier, varje gång GUID metoden anropas returneras ett unikt id som konverteras till sträng med tillägg för ett _ och sedan läggs uploadedFilename till string filePath = Path.Combine(uploadsFolder, uniqueFileName); //Kombinerar strängarna uploadsFolder och uniqueFileName och lagrar det i en strängvariabel model.Photo.CopyTo(new FileStream(filePath, FileMode.Create)); //Kopierar uppladdad bild till image folder med metoden CopyTo i IFormFile } Flavour newFlavour = new Flavour { FlavourName = model.FlavourName, FlavourDescription = model.FlavourDescription, FlavourPrice = model.FlavourPrice, PhotoPath = uniqueFileName }; _context.Add(newFlavour); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View()); }
public async Task <IActionResult> Edit(int id, [Bind("FlavourId,FlavourName,FlavourDescription,FlavourPrice,PhotoPath")] Flavour flavour) { if (id != flavour.FlavourId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(flavour); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!FlavourExists(flavour.FlavourId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(flavour)); }