コード例 #1
0
        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));
        }
コード例 #2
0
        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());
        }
コード例 #3
0
        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"));
        }
コード例 #4
0
        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"));
        }