コード例 #1
0
        public ActionResult <Models.Response.PersonagemResponse> AdicionarPersonagem(int idFilme, Models.Request.PersonagemRequest req)
        {
            try
            {
                filmeBusiness.ConferirIdPersonagemFilme(idFilme);

                try
                {
                    req.Filme = idFilme;

                    Models.TbFilmeAtor personagem = personagemConversor.ToTableConversor(req);

                    personagem = filmeBusiness.AdicionarPersonagem(personagem);

                    Models.Response.PersonagemResponse resp = personagemConversor.ToResponseConversor(personagem);

                    return(resp);
                }
                catch (System.Exception e)
                {
                    return(BadRequest(
                               new Models.Response.ErrorResponse(400, e.Message)
                               ));
                }
            }
            catch (System.Exception e)
            {
                return(NotFound(
                           new Models.Response.ErrorResponse(404, e.Message)
                           ));
            }
        }
コード例 #2
0
        public Models.TbFilmeAtor ConsultarPersonagemFilme(int idFilme, int idPersonagem)
        {
            List <Models.TbFilmeAtor> personagens = this.ConsultarPersonagensFilme(idFilme);

            if (idFilme <= 0)
            {
                throw new ArgumentException("ID do filme Inválido.");
            }

            if (idPersonagem <= 0)
            {
                throw new ArgumentException("ID do personagem Inválido.");
            }

            if (personagens.All(x => x.IdFilme != idFilme))
            {
                throw new ArgumentException("O ID do filme não existe.");
            }

            if (personagens.All(x => x.IdFilmeAtor != idPersonagem))
            {
                throw new ArgumentException("O ID do personagem não existe.");
            }

            Models.TbFilmeAtor personagem = filmeDb.ConsultarPersonagemFilme(idFilme, idPersonagem);

            return(personagem);
        }
コード例 #3
0
        public Models.TbFilmeAtor DeletarPersonagemFilme(Models.TbFilmeAtor personagem)
        {
            ctx.Remove(personagem);
            ctx.SaveChanges();

            return(personagem);
        }
コード例 #4
0
        public Models.TbFilmeAtor AlterarPersonagemFilme(Models.TbFilmeAtor atual, Models.TbFilmeAtor novo)
        {
            if (novo.NmPersonagem == string.Empty)
            {
                throw new ArgumentException("Nome Inválido.");
            }

            if (novo.IdFilme <= 0)
            {
                throw new ArgumentException("ID do filme Inválido.");
            }

            if (novo.IdAtor <= 0)
            {
                throw new ArgumentException("ID do ator Inválido.");
            }

            List <Models.TbAtor> atores = atorDb.ConsultarAtores();

            if (atores.All(x => x.IdAtor != novo.IdAtor))
            {
                throw new ArgumentException("ID do ator não existe.");
            }

            atual = filmeDb.AlterarPersonagemFilme(atual, novo);

            return(atual);
        }
コード例 #5
0
        public Models.TbFilmeAtor AdicionarPersonagem(Models.TbFilmeAtor personagem)
        {
            if (personagem.NmPersonagem == string.Empty)
            {
                throw new ArgumentException("Nome Inválido.");
            }

            if (personagem.IdFilme <= 0)
            {
                throw new ArgumentException("ID do filme Inválido.");
            }

            if (personagem.IdAtor <= 0)
            {
                throw new ArgumentException("ID do ator Inválido.");
            }

            List <Models.TbAtor> atores = atorDb.ConsultarAtores();

            if (atores.All(x => x.IdAtor != personagem.IdAtor))
            {
                throw new ArgumentException("ID do ator não existe.");
            }

            personagem = filmeDb.AdicionarPersonagem(personagem);

            return(personagem);
        }
コード例 #6
0
        public Models.TbFilmeAtor ConsultarPersonagemFilme(int idFilme, int idPersonagem)
        {
            Models.TbFilmeAtor personagem = ctx.TbFilmeAtor.First(x => x.IdFilme == idFilme &&
                                                                  x.IdFilmeAtor == idPersonagem);

            return(personagem);
        }
コード例 #7
0
        public Models.TbFilmeAtor AdicionarPersonagem(Models.TbFilmeAtor personagem)
        {
            ctx.TbFilmeAtor.Add(personagem);
            ctx.SaveChanges();

            return(personagem);
        }
コード例 #8
0
 public Models.TbFilmeAtor DeletarPorId(int filmeid, int id)
 {
     Models.TbFilmeAtor tabela = ctx.TbFilmeAtor.FirstOrDefault(x => x.IdFilme == filmeid && x.IdFilmeAtor == id);
     ctx.TbFilmeAtor.Remove(tabela);
     ctx.SaveChanges();
     return(tabela);
 }
コード例 #9
0
        public Models.TbFilmeAtor ParaModeloTabela(Models.Request.personagemrequest req)
        {
            Models.TbFilmeAtor tabela = new Models.TbFilmeAtor();
            tabela.NmPersonagem = req.Personagem;
            tabela.IdFilme      = req.Filme;
            tabela.IdAtor       = req.ator;

            return(tabela);
        }
コード例 #10
0
        public Models.TbFilmeAtor ToTableConversor(Models.Request.PersonagemRequest req)
        {
            Models.TbFilmeAtor personagem = new Models.TbFilmeAtor();
            personagem.NmPersonagem = req.Personagem;
            personagem.IdFilme      = req.Filme;
            personagem.IdAtor       = req.Ator;

            return(personagem);
        }
コード例 #11
0
        public void Remover(Models.TbFilmeAtor filmeAtor)
        {
            Models.apidbContext ctx = new Models.apidbContext();

            Models.TbFilmeAtor atual = ctx.TbFilmeAtor.First(x => x.IdFilmeAtor == filmeAtor.IdFilmeAtor);

            ctx.TbFilmeAtor.Remove(atual);
            ctx.SaveChanges();
        }
コード例 #12
0
        public void Alterar(Models.TbFilmeAtor filmeAtor)
        {
            Models.apidbContext ctx = new Models.apidbContext();

            Models.TbFilmeAtor atual = ctx.TbFilmeAtor.First(x => x.IdFilmeAtor == filmeAtor.IdFilmeAtor);
            atual.NmPersonagem = filmeAtor.NmPersonagem;

            ctx.SaveChanges();
        }
コード例 #13
0
        public Models.Response.PersonagemResponse ToResponseConversor(Models.TbFilmeAtor personagem)
        {
            Models.Response.PersonagemResponse response = new Models.Response.PersonagemResponse(
                personagem.IdFilmeAtor, personagem.NmPersonagem,
                personagem.IdFilme, personagem.IdAtor
                );

            return(response);
        }
コード例 #14
0
        public Models.TbFilmeAtor Alterar(Models.Request.personagemrequest req, int filmeid, int id)
        {
            Models.TbFilmeAtor atual = ctx.TbFilmeAtor.FirstOrDefault(x => x.IdFilme == filmeid && x.IdFilmeAtor == id);
            atual.IdAtor       = req.ator;
            atual.IdFilme      = req.Filme;
            atual.NmPersonagem = req.Personagem;
            ctx.SaveChanges();

            return(atual);
        }
コード例 #15
0
        public Models.TbFilmeAtor AlterarPersonagemFilme(Models.TbFilmeAtor atual, Models.TbFilmeAtor novo)
        {
            atual.NmPersonagem = novo.NmPersonagem;
            atual.IdFilme      = novo.IdFilme;
            atual.IdAtor       = novo.IdAtor;

            ctx.SaveChanges();

            return(atual);
        }
コード例 #16
0
        public Models.Response.personagemresponse ParaModeloResponse(Models.TbFilmeAtor tabela)
        {
            Models.Response.personagemresponse resp = new Models.Response.personagemresponse();
            resp.Id         = tabela.IdFilmeAtor;
            resp.Personagem = tabela.NmPersonagem;
            resp.Filme      = tabela.IdFilme;
            resp.Ator       = tabela.IdAtor;


            return(resp);
        }
コード例 #17
0
 public ActionResult <Models.Response.personagemresponse> DeletarPersonagem(int filmeid, int id)
 {
     try
     {
         Models.TbFilmeAtor tabela = database.DeletarPorId(filmeid, id);
         Models.Response.personagemresponse resp = conversor.ParaModeloResponse(tabela);
         return(resp);
     }
     catch
     {
         return(new NotFoundObjectResult(new Models.Response.erroresponse(404, "personagem nao encontrado")));
     }
 }
コード例 #18
0
        public ActionResult <Models.Response.personagemresponse> ConsultarPorId(int id)
        {
            try
            {
                Models.TbFilmeAtor pers = database.ConsultarPorId(id);
                Models.Response.personagemresponse resposta = conversor.ParaModeloResponse(pers);

                return(resposta);
            }
            catch
            {
                return(new NotFoundObjectResult(new Models.Response.erroresponse(404, "personagem nao encontrado")));
            }
        }
コード例 #19
0
        public ActionResult <Models.Response.personagemresponse> Alterar(Models.Request.personagemrequest req, int filmeid, string personagem, int id)
        {
            try
            {
                bussines.ValidarAlteracao(req);
                Models.TbFilmeAtor tabela = database.Alterar(req, filmeid, id);
                Models.Response.personagemresponse resposta = conversor.ParaModeloResponse(tabela);

                return(resposta);
            }
            catch (System.Exception ex)
            {
                return(BadRequest(new Models.Response.erroresponse(400, ex.Message)));
            }
        }
コード例 #20
0
        public ActionResult <Models.Response.personagemresponse> Inserir(Models.Request.personagemrequest req)
        {
            try
            {
                Models.TbFilmeAtor tabela = conversor.ParaModeloTabela(req);
                bussines.ValidarPersonagem(tabela);
                tabela = database.Inserir(tabela);
                Models.Response.personagemresponse resp = conversor.ParaModeloResponse(tabela);

                return(resp);
            }
            catch (System.Exception ex)
            {
                return(BadRequest(new Models.Response.erroresponse(400, ex.Message)));
            }
        }
コード例 #21
0
        public Models.TbFilmeAtor ValidarPersonagem(Models.TbFilmeAtor personagem)
        {
            if (personagem.NmPersonagem == string.Empty)
            {
                throw new ArgumentException("Personagem obrigatorio");
            }

            if (personagem.IdFilme == 0)
            {
                throw new ArgumentException("O id deve ser maior que 0");
            }

            if (personagem.IdAtor == 0)
            {
                throw new ArgumentException("O id deve ser maior que 0");
            }

            return(personagem);
        }
コード例 #22
0
        public List <int> RemoverPersonagens(int filmeId, List <string> personagens)
        {
            List <Models.TbFilmeAtor> filmeAtores =
                db.TbFilmeAtor.Where(x => x.IdFilme == filmeId).ToList();


            List <int> personagensIds = new List <int>();

            foreach (string personagem in personagens)
            {
                Models.TbFilmeAtor filmeAtor = filmeAtores.FirstOrDefault(x => x.NmPersonagem == personagem);
                if (filmeAtor != null)
                {
                    personagensIds.Add(filmeAtor.IdFilmeAtor);
                    db.TbFilmeAtor.Remove(filmeAtor);
                }
            }

            db.SaveChanges();
            return(personagensIds);
        }
コード例 #23
0
        public ActionResult <Models.Response.PersonagemResponse> ConsultarPersonagemFilme(int idFilme, int idPersonagem)
        {
            try
            {
                filmeBusiness.ConferirIdPersonagemFilme(idFilme);

                filmeBusiness.ConferirIdFilmePersonagem(idPersonagem, idFilme);

                Models.TbFilmeAtor personagem = filmeBusiness.ConsultarPersonagemFilme(idFilme, idPersonagem);

                Models.Response.PersonagemResponse resp = personagemConversor.ToResponseConversor(personagem);

                return(resp);
            }
            catch (System.Exception e)
            {
                return(NotFound(
                           new Models.Response.ErrorResponse(404, e.Message)
                           ));
            }
        }
コード例 #24
0
        public ActionResult <Models.Response.PersonagemResponse> AlterarPersonagemFilme(int idFilme,
                                                                                        int idPersonagem,
                                                                                        Models.Request.PersonagemRequest req)
        {
            try
            {
                filmeBusiness.ConferirIdPersonagemFilme(idFilme);

                filmeBusiness.ConferirIdFilmePersonagem(idPersonagem, idFilme);

                try
                {
                    req.Filme = idFilme;

                    Models.TbFilmeAtor atual = filmeBusiness.ConsultarPersonagemFilme(idFilme, idPersonagem);

                    Models.TbFilmeAtor novo = personagemConversor.ToTableConversor(req);

                    atual = filmeBusiness.AlterarPersonagemFilme(atual, novo);

                    Models.Response.PersonagemResponse resp = personagemConversor.ToResponseConversor(atual);

                    return(resp);
                }
                catch (System.Exception e)
                {
                    return(BadRequest(
                               new Models.Response.ErrorResponse(400, e.Message)
                               ));
                }
            }
            catch (System.Exception e)
            {
                return(NotFound(
                           new Models.Response.ErrorResponse(404, e.Message)
                           ));
            }
        }
コード例 #25
0
        public void Salvar(Models.Request.FilmeAtorRequest request)
        {
            Models.apidbContext ctx = new Models.apidbContext();

            foreach (Models.Request.FilmeAtorItemRequest item in request.Atores)
            {
                Models.TbAtor ator = new Models.TbAtor();
                ator.NmAtor       = item.Ator;
                ator.VlAltura     = item.Altura;
                ator.DtNascimento = item.Nascimento;

                ctx.TbAtor.Add(ator);
                ctx.SaveChanges();

                Models.TbFilmeAtor fa = new Models.TbFilmeAtor();
                fa.IdFilme      = request.IdFilme;
                fa.IdAtor       = ator.IdAtor;
                fa.NmPersonagem = item.Personagem;

                ctx.TbFilmeAtor.Add(fa);
                ctx.SaveChanges();
            }
        }
コード例 #26
0
        public Models.TbFilmeAtor DeletarPersonagemFilme(Models.TbFilmeAtor personagem)
        {
            personagem = filmeDb.DeletarPersonagemFilme(personagem);

            return(personagem);
        }
コード例 #27
0
 public Models.TbFilmeAtor Inserir(Models.TbFilmeAtor tabela)
 {
     ctx.TbFilmeAtor.Add(tabela);
     ctx.SaveChanges();
     return(tabela);
 }
コード例 #28
0
        public Models.TbFilmeAtor ConsultarPorId(int id)
        {
            Models.TbFilmeAtor personagem = ctx.TbFilmeAtor.FirstOrDefault(x => x.IdFilmeAtor == id);

            return(personagem);
        }
コード例 #29
0
 public Models.TbFilmeAtor ConsultarPorIdNome(int filmeid, int id)
 {
     Models.TbFilmeAtor filmeAtor = ctx.TbFilmeAtor.FirstOrDefault(x => x.IdFilme == filmeid && x.IdFilmeAtor == id);
     return(filmeAtor);
 }