public IActionResult EditEpisode(int id) { var animeEpisode = _animeRepository.GetEpisode(id); if (animeEpisode == null) { return(View("404Error")); } var strings = animeEpisode.Links.Split(","); var model = new EpisodeEditViewModel() { Id = animeEpisode.Id, Anime = _animeRepository.GetAnime(animeEpisode.AnimeId), Title = animeEpisode.Title, Alternative1 = strings[0], Alternative2 = strings[1], Alternative3 = strings[2], Alternative4 = strings[3], Alternative5 = strings[4], }; return(View(model)); }
public IActionResult EditEpisode(EpisodeEditViewModel model) { if (ModelState.IsValid) { AnimeEpisode episode = _animeRepository.GetEpisode(model.Id); episode.Title = model.Title; episode.Links = model.Alternative1 + "," + model.Alternative2 + "," + model.Alternative3 + "," + model.Alternative4 + "," + model.Alternative5; _animeRepository.UpdateEpisode(episode); return(RedirectToAction("Episodes", new{ id = episode.AnimeId })); } return(View()); }
public IActionResult Edit(int id) { Episode episode = _episodeRepository.GetById(id); if (episode != null) { EpisodeEditViewModel model = new EpisodeEditViewModel { Id = episode.Id, Title = episode.Title, Description = episode.Description, VidelUrl = episode.VidelUrl }; ViewBag.Image = episode.Image; ViewBag.Thumb = episode.Thumb; return(View("Edit", model)); } TempData["Error"] = "Episódio não encontrado."; return(RedirectToAction("Index")); }
public async Task <IActionResult> Update(EpisodeEditViewModel model, int id) { Episode episode = _episodeRepository.GetById(id); if (episode != null) { try { if (ModelState.IsValid) { episode.Title = model.Title; episode.Description = model.Description; episode.VidelUrl = model.VidelUrl; episode.UpdatedAt = DateTime.Now; if (model.Image != null) { var imageName = GetUniqueFileName(model.Image.FileName); var uploads = Path.Combine(_environment.WebRootPath, "uploads"); var filePath = Path.Combine(uploads, imageName); using (var steam = System.IO.File.Create(filePath)) { await model.Image.CopyToAsync(steam); } filePath = Path.Combine(uploads, episode.Image); System.IO.File.Delete(filePath); episode.Image = imageName; } if (model.Thumb != null) { var imageName = GetUniqueFileName(model.Thumb.FileName); var uploads = Path.Combine(_environment.WebRootPath, "uploads"); var filePath = Path.Combine(uploads, imageName); using (var steam = System.IO.File.Create(filePath)) { await model.Thumb.CopyToAsync(steam); } filePath = Path.Combine(uploads, episode.Thumb); System.IO.File.Delete(filePath); episode.Thumb = imageName; } _episodeRepository.Update(episode); _episodeRepository.SaveChanges(); TempData["Success"] = "Episódio atualizado com sucesso!"; return(RedirectToAction("Edit", new { id = episode.Id })); } return(View("Edit", model)); } catch (Exception exception) { TempData["Error"] = "Erro ao atualizar episódio."; _logger.LogError("Episode update error: " + exception); return(RedirectToAction("Edit", new { id = episode.Id })); } } TempData["Error"] = "Episódio não encontrado."; return(RedirectToAction("Index")); }