Ejemplo n.º 1
0
        public static Usuario AdicionarAssistindoAnime(Usuario user, AssistindoAnime a) //Adicionar anime a assistindo
        {
            if (user.AssistindoAnime == null)                                           //Isso aqui é só pra iniciar a lista, se não fizer isso vem excessão de nullpointer
            {
                user.AssistindoAnime = new List <AssistindoAnime>();
            }

            user.AssistindoAnime.Add(a);
            ctx.Entry(user).State = System.Data.Entity.EntityState.Modified;
            try
            {
                // Your code...
                // Could also be before try if you know the exception occurs in SaveChanges

                ctx.SaveChanges();
            }
            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                      eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (var ve in eve.ValidationErrors)
                    {
                        Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                          ve.PropertyName, ve.ErrorMessage);
                    }
                }
            }

            return(user);
        }
Ejemplo n.º 2
0
        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"));
        }
Ejemplo n.º 3
0
        public static int TempoConclusaoTemporada(AssistindoAnime asn)
        {
            int total         = asn.TemporadaAtual.Episodios.Count;
            int epsAssistidos = asn.UltimoEP.NumEpisodio;
            int res           = total - epsAssistidos;

            return(res * 20);
        }
Ejemplo n.º 4
0
        public static AssistindoAnime BuscarExANS(Usuario u, Animes a) //Vê se esse anime já está sendo assistido
        {
            AssistindoAnime ans = ctx.AssistindoAnime.FirstOrDefault(x =>
                                                                     x.Anime.IDAnime.Equals(a.IDAnime) &&
                                                                     x.Usuario.UsuarioId.Equals(u.UsuarioId));

            if (ans != null) // Procure em 'AssistindoAnime' um usuario que esteja assistindo aquele anime
            {
                return(ans);
            }
            return(null);
        }
Ejemplo n.º 5
0
        public static bool VerificarMaxTemp(AssistindoAnime asn)
        {
            List <Episodio> ep = asn.TemporadaAtual.Episodios.ToList();

            int a = ep.Max(t => t.NumEpisodio);

            if (a == (asn.UltimoEP.NumEpisodio))
            {
                return(true);
            }
            return(false);
        }
Ejemplo n.º 6
0
 public static AssistindoAnime BuscarAnimeSendoAssistido(AssistindoAnime asn)//Busca q inclui todos os includes
 {
     return(ctx.AssistindoAnime.
            Include("Anime").
            Include("Anime.Temporadas").
            Include("Anime.Temporadas.Episodios").
            Include("Anime.Categoria").
            Include("Usuario").
            Include("TemporadaAtual").
            Include("UltimoEP").
            SingleOrDefault(x => x.IDAnimeSendoAssistido == asn.IDAnimeSendoAssistido));
 }
Ejemplo n.º 7
0
        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"));
        }
Ejemplo n.º 8
0
        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"));
        }
Ejemplo n.º 9
0
        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
        }
Ejemplo n.º 10
0
 public static void RemoverAnimeAsN(AssistindoAnime asn)
 {
     ctx.AssistindoAnime.Remove(asn);
     ctx.SaveChanges();
 }
Ejemplo n.º 11
0
 public static void AtualizarASN(AssistindoAnime asn)
 {
     ctx.Entry(asn).State = System.Data.Entity.EntityState.Modified;
     ctx.SaveChanges();
 }
Ejemplo n.º 12
0
 public static void AdicionarAssistido(AssistindoAnime assistindoAnim)
 {
     ctx.AssistindoAnime.Add(assistindoAnim);
     ctx.SaveChanges();
 }