public ActionResult AdicionarAssistidos(int?id) //Adiciona o anime completo como "assistido" { Usuario user = Session["usuarioLogado"] as Usuario; Animes a = AnimeDAO.BuscarAnimesPorId(id); //Pega o anime inteiro a partir de sua ID if (user.AnimesAssistidos == null) //Isso aqui é só pra iniciar a lista, se não fizer isso vem excessão de nullpointer { user.AnimesAssistidos = new List <Assistidos>(); } Assistidos aux = new Assistidos { Anime = a // Recebe o anime e coloca ele como 'Assistido" }; List <AssistindoAnime> asn = AssistindoAnimeDAO.AnimesSendoAssistidos(user); foreach (AssistindoAnime item in asn) { if (item.Anime.NomeAnime.Equals(a.NomeAnime)) { AssistindoAnimeDAO.RemoverAnimeAsN(item); break; } } if (BibliotecaDAO.AdicionarAnimeBiblioteca(user, id, aux) == true) // Se retornar false, o anime já está cadastrado { return(RedirectToAction("Perfil", "Home")); // Redireciona para o perfil como "sucesso" } TempData["MsgErro"] = "O anime " + a.NomeAnime + " já está adicionado a 'Assistidos' !! "; return(RedirectToAction("BibliotecaAnimes", "Biblioteca"));//Retorna para a Biblioteca para ele adicionar outro }
public ActionResult AssistindoAnime(Animes a, int?Episodios) //Adiciona o "assistindo" para aquele usuário { Usuario user = Session["usuarioLogado"] as Usuario; //Pega o usuário na Session Temporada t = TempData["SaveTemp"] as Temporada; AssistindoAnime an = new AssistindoAnime(); a = AnimeDAO.BuscarPorIDInclude(a.IDAnime); an = AssistindoAnimeDAO.BuscarExANS(user, a); if (an != null) //Se não for nulo, ele já marcou como "estou assistindo", ou seja, apenas atualiza esse { an = AssistindoAnimeDAO.BuscarAnimeSendoAssistido(an); // Essa busca tem todos os includes an.TemporadaAtual = t; an.UltimoEP = EpisodioDAO.BuscarEPporID(Episodios); AssistindoAnimeDAO.AtualizarASN(an); } else { an = new AssistindoAnime(); an.Anime = a; an.Usuario = user; an.UltimoEP = EpisodioDAO.BuscarEPporID(Episodios); an.TemporadaAtual = t; AssistindoAnimeDAO.AdicionarAssistido(an); } return(RedirectToAction("AnimesAssistindo", "Biblioteca")); }
public ActionResult RemoverAssistindo(int?id) // Remover anime de assistidos { AssistindoAnime asn = new AssistindoAnime(); asn.IDAnimeSendoAssistido = (int)id; asn = AssistindoAnimeDAO.BuscarAnimeSendoAssistido(asn); if (asn != null) { AssistindoAnimeDAO.RemoverAnimeAsN(asn); } return(RedirectToAction("AnimesAssistindo", "Biblioteca")); }
public ActionResult AnimesAssistindo() // Faz a lista dos animes que estão marcados como "assistindo" do usuário logado { Usuario user = Session["usuarioLogado"] as Usuario; //Pega o usuário na Session List <AssistindoAnime> x = AssistindoAnimeDAO.AnimesSendoAssistidos(user); foreach (AssistindoAnime item in x) { item.TempoConclusão = AssistindoAnimeDAO.TempoConclusaoTemporada(item); } return(View(x)); }
public ActionResult AtualizarEpAnime(AssistindoAnime asn, int?Episodios) //Alterar POST { Usuario user = Session["usuarioLogado"] as Usuario; //Pega o usuário na Session asn = AssistindoAnimeDAO.BuscarAnimeSendoAssistido(asn); asn.UltimoEP = EpisodioDAO.BuscarEPporID(Episodios); if (AssistindoAnimeDAO.VerificarMaxTemp(asn)) { //Fazer AssistindoAnimeDAO.AtualizarASN(asn); } else { AssistindoAnimeDAO.AtualizarASN(asn); } return(RedirectToAction("AnimesAssistindo", "Biblioteca")); }
public ActionResult AtualizarEpAnime(int?id) //Uma Cópia do adicionar praticamente { Usuario user = Session["usuarioLogado"] as Usuario; //Pega o usuário na Session AssistindoAnime asn = new AssistindoAnime(); Temporada t = TempData["SaveTemp1"] as Temporada; List <Episodio> eps = new List <Episodio>(); if (id == null) { asn = TempData["ASNAUX"] as AssistindoAnime; } else { asn.IDAnimeSendoAssistido = (int)id; asn = AssistindoAnimeDAO.BuscarAnimeSendoAssistido(asn); TempData["ASNAUX"] = asn; } if (t == null) //Se for nulo, é o primeiro acesso { ViewBag.Temporada = new SelectList(asn.Anime.Temporadas.ToList().OrderByDescending(e => e.Estacao.Equals(asn.TemporadaAtual.Estacao)), "IDTemporada", "Estacao", "Ano"); eps = asn.TemporadaAtual.Episodios.ToList(); //Lista de episodios dql temp if (eps != null) //se os eps forem nulos, não crie viewbag { ViewBag.Episodios = new SelectList(eps.ToList().OrderByDescending(e => e.NumEpisodio.Equals(asn.UltimoEP.NumEpisodio)), "IDEpisodio", "NumEpisodio"); //Cria Viewbag dos eps } } else { asn.TemporadaAtual = t; eps = asn.TemporadaAtual.Episodios.ToList(); //Lista de episodios dql temp ViewBag.Temporada = new SelectList(asn.Anime.Temporadas.ToList().OrderByDescending(e => e.Estacao.Equals(asn.TemporadaAtual.Estacao)), "IDTemporada", "Estacao", "Ano"); ViewBag.Episodios = new SelectList(eps.ToList().OrderByDescending(e => e.NumEpisodio.Equals(asn.UltimoEP.NumEpisodio)), "IDEpisodio", "NumEpisodio"); //Cria Viewbag dos eps } return(View(asn)); //Retorna o anime sendo assistido }