Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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));
        }