public async Task <IActionResult> Edit(int id, [Bind("SubTypeID,SubTypeName,Extension,TypeID")] RentSubType rentSubType) { if (id != rentSubType.SubTypeID) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(rentSubType); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!RentSubTypeExists(rentSubType.SubTypeID)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["TypeID"] = new SelectList(_context.RentTypes, "TypeID", "TypeName", rentSubType.TypeID); return(View(rentSubType)); }
public async Task <IActionResult> Create([Bind("SubTypeID,SubTypeName,File,TypeID")] RentSubType rentSubType) { using (var memoryStream = new MemoryStream()) { await rentSubType.File.FormFile.CopyToAsync(memoryStream); string photoname = rentSubType.File.FormFile.FileName; rentSubType.Extension = Path.GetExtension(photoname); if (!".jpg.jpeg.png.gif.bmp".Contains(rentSubType.Extension.ToLower())) { ModelState.AddModelError("File.FormFile", "Invalid Format of Image Given."); } else { ModelState.Remove("Extension"); } } if (ModelState.IsValid) { _context.Add(rentSubType); await _context.SaveChangesAsync(); var uploadsRootFolder = Path.Combine(_environment.WebRootPath, "images/subtypes"); if (!Directory.Exists(uploadsRootFolder)) { Directory.CreateDirectory(uploadsRootFolder); } string filename = rentSubType.SubTypeID + rentSubType.Extension; var filePath = Path.Combine(uploadsRootFolder, filename); using (var fileStream = new FileStream(filePath, FileMode.Create)) { await rentSubType.File.FormFile.CopyToAsync(fileStream).ConfigureAwait(false); } return(RedirectToAction(nameof(Index))); } ViewData["TypeID"] = new SelectList(_context.RentTypes, "TypeID", "TypeName", rentSubType.TypeID); return(View(rentSubType)); }