// GET: Advertisements/Edit/5 public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } var advertisement = await _context.Advertisement.FindAsync(id); if (advertisement == null) { return(NotFound()); } AdvertViewModel advertViewModel = new AdvertViewModel { AdvertDescription = advertisement.AdvertDescription, AdvertImage = advertisement.AdvertImage, AdvertName = advertisement.AdvertName, Category = advertisement.Category, CategoryID = advertisement.CategoryID, EndDate = advertisement.EndDate, StartDate = advertisement.StartDate, ID = advertisement.ID, Position = advertisement.Position }; ViewData["CategoryID"] = new SelectList(_context.Category, "ID", "CategoryName", advertisement.CategoryID); return(View(advertViewModel)); }
public async Task <IActionResult> Create([Bind("ID,AdvertName,AdvertDescription,AdUrl,StartDate,EndDate,Position,CategoryID")] AdvertViewModel advertViewModel) { Advertisement advertisement = new Advertisement(); if (ModelState.IsValid) { IFormFile file = advertViewModel.AdUrl; string relativePath = ""; if (file != null) { var fileName = $"{advertViewModel.ID}{Path.GetFileName(file.FileName)}"; relativePath = Path.Combine("images", "ads", fileName); var absolutePath = Path.Combine(_env.WebRootPath, relativePath); using (FileStream stream = new FileStream(absolutePath, FileMode.Create)) { file.CopyTo(stream); } } advertisement.AdvertDescription = advertViewModel.AdvertDescription; advertisement.AdvertImage = relativePath; advertisement.AdvertName = advertViewModel.AdvertName; advertisement.Category = advertViewModel.Category; advertisement.CategoryID = advertViewModel.CategoryID; advertisement.EndDate = advertViewModel.EndDate; advertisement.ID = advertViewModel.ID; advertisement.StartDate = advertViewModel.StartDate; advertisement.Position = advertViewModel.Position; _context.Add(advertisement); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["CategoryID"] = new SelectList(_context.Category, "ID", "CategoryName", advertisement.CategoryID); return(View(advertisement)); }
public async Task <IActionResult> Edit(int id, [Bind("ID,AdvertName,AdvertDescription,AdvertImage,StartDate,Position,EndDate,CategoryID,AdUrl")] AdvertViewModel advertViewModel) { Advertisement advertisement = new Advertisement(); if (id != advertViewModel.ID) { return(NotFound()); } if (ModelState.IsValid) { IFormFile file = advertViewModel.AdUrl; string relativePath = ""; if (file != null) { if (advertViewModel.AdvertImage != null) { var oldPath = Path.Combine(_env.WebRootPath, advertViewModel.AdvertImage); if (System.IO.File.Exists(oldPath)) { System.IO.File.Delete(oldPath); } } var fileName = $"{advertViewModel.ID}{Path.GetFileName(file.FileName)}"; relativePath = Path.Combine("images", "ads", fileName); var absolutePath = Path.Combine(_env.WebRootPath, relativePath); using (FileStream stream = new FileStream(absolutePath, FileMode.Create)) { file.CopyTo(stream); } } try { advertisement.AdvertDescription = advertViewModel.AdvertDescription; advertisement.AdvertImage = (!string.IsNullOrEmpty(relativePath)) ? relativePath : advertViewModel.AdvertImage; advertisement.AdvertName = advertViewModel.AdvertName; advertisement.Category = advertViewModel.Category; advertisement.CategoryID = advertViewModel.CategoryID; advertisement.EndDate = advertViewModel.EndDate; advertisement.ID = advertViewModel.ID; advertisement.StartDate = advertViewModel.StartDate; advertisement.Position = advertViewModel.Position; _context.Update(advertisement); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AdvertisementExists(advertisement.ID)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["CategoryID"] = new SelectList(_context.Category, "ID", "CategoryName", advertisement.CategoryID); return(View(advertisement)); }