Example #1
0
        public async Task <ActionResult <IEnumerable <Filmes> > > GetNuncaAlugado()
        {
            var modelFilme   = new FilmesModel();
            var modelLocacao = new LocacaoModel();

            List <Filmes>  listaFilme             = modelFilme.Read();
            List <Locacao> listaLocacao           = modelLocacao.Read();
            var            listaNuncaAlugados     = new List <Filmes>();
            var            listaIdsFilmesAlugados = new List <int>();

            foreach (var locacao in listaLocacao)
            {
                if (!listaIdsFilmesAlugados.Contains(locacao.IdFilme))
                {
                    listaIdsFilmesAlugados.Add(locacao.IdFilme);
                }
            }
            foreach (var filme in listaFilme)
            {
                if (!listaIdsFilmesAlugados.Contains(filme.Id) && !listaNuncaAlugados.Contains(filme))
                {
                    listaNuncaAlugados.Add(filme);
                }
            }
            return(listaNuncaAlugados);
        }
Example #2
0
        public ActionResult SalvaLocacao(string ClienteId, string[] FilmesId)
        {
            var resultado = "OK";
            var mensagens = new List <string>();
            var idSalvo   = string.Empty;

            var locacao = new LocacaoModel();
            var cliente = db.Clientes.Find(Convert.ToInt32(ClienteId));

            locacao.Cpf_Cliente = cliente.NumDocumento;
            locacao.Id_Cliente  = cliente.Id;
            locacao.Devolvido   = false;
            foreach (var FI in FilmesId)
            {
                FilmesModel Fil = db.Filmes.Find(Convert.ToInt32(FI));
                locacao.Filmes.Add(Fil);
            }
            locacao.DtLocacao = DateTime.Now;
            db.Locacao.Add(locacao);
            db.SaveChanges();
            idSalvo = locacao.Id.ToString();


            return(Json(new { Resultado = resultado, Mensagens = mensagens, IdSalvo = idSalvo }));
        }
Example #3
0
 public async Task <ActionResult <List <Filmes> > > GetFilmes()
 {
     using (var model = new FilmesModel())
     {
         List <Filmes> lista = model.Read();
         return(lista);
     }
 }
Example #4
0
        public ActionResult ExcluirFilmes(int id)
        {
            FilmesModel Fil = db.Filmes.Find(id);

            db.Filmes.Remove(Fil);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #5
0
        public async Task <ActionResult <List <Filmes> > > DeleteFilmes(int id)
        {
            var filme = new Filmes();

            filme.Id = id;
            using (var model = new FilmesModel())
            {
                model.Delete(filme);
                return(NoContent());
            }
        }
Example #6
0
        public async Task <ActionResult <Filmes> > PostFilmes(Filmes filmes)
        {
            var filme = new Filmes();

            filme.Titulo     = filmes.Titulo;
            filme.Lancamento = filmes.Lancamento;
            filme.ClassificacaoIndicativa = filmes.ClassificacaoIndicativa;
            using (var model = new FilmesModel())
            {
                model.Create(filme);
                return(NoContent());
            }
        }
Example #7
0
        public async Task <ActionResult <IEnumerable <FilmeAlugado> > > GetTop5NoAno()
        {
            var modelFilme   = new FilmesModel();
            var modelLocacao = new LocacaoModel();

            List <Filmes>  listaFilme             = modelFilme.Read();
            List <Locacao> listaLocacao           = modelLocacao.Read();
            var            lista5MaisAlugados     = new List <FilmeAlugado>();
            var            listaIdsFilmesAlugados = new List <int>();

            foreach (var locacao in listaLocacao)
            {
                if ((DateTime.Now - locacao.DataLocacao).Days <= 365)
                {
                    listaIdsFilmesAlugados.Add(locacao.IdFilme);
                }
            }
            foreach (var filme in listaFilme)
            {
                if (listaIdsFilmesAlugados.Contains(filme.Id) && lista5MaisAlugados.Count <= 5)
                {
                    var filmeAlugado = new FilmeAlugado();
                    filmeAlugado.Filme = filme;
                    filmeAlugado.QuantidadeDeAlugueis = 0;
                    lista5MaisAlugados.Add(filmeAlugado);
                }
            }

            foreach (var filme in listaFilme)
            {
                if (listaIdsFilmesAlugados.Contains(filme.Id))
                {
                    foreach (var idFilmeAlugado in listaIdsFilmesAlugados)
                    {
                        if (idFilmeAlugado == filme.Id)
                        {
                            foreach (var filmeAlugado in lista5MaisAlugados)
                            {
                                if (filmeAlugado.Filme.Id == filme.Id)
                                {
                                    filmeAlugado.QuantidadeDeAlugueis++;
                                }
                            }
                        }
                    }
                }
            }
            var listTop5Ano = lista5MaisAlugados.OrderByDescending(filme => filme.QuantidadeDeAlugueis).Take(5);

            return(listTop5Ano.ToList());
        }
Example #8
0
        public ActionResult ExcluirVariosFilmes(int[] id)
        {
            var ret = false;

            foreach (var item in id)
            {
                FilmesModel Fil = db.Filmes.Find(item);
                db.Filmes.Remove(Fil);
                db.SaveChanges();
                ret = true;
            }

            return(Json(ret));
        }
Example #9
0
 public Filmes GetFilmes(int id)
 {
     using (var model = new FilmesModel())
     {
         List <Filmes> lista = model.Read();
         foreach (var filme in lista)
         {
             if (filme.Id == id)
             {
                 return(filme);
             }
         }
         return(null);
     }
 }
Example #10
0
        public async Task <IActionResult> PutFilmes(int id, Filmes filmes)
        {
            if (id != filmes.Id)
            {
                return(BadRequest());
            }

            var filme = new Filmes();

            filme.Id         = filmes.Id;
            filme.Titulo     = filmes.Titulo;
            filme.Lancamento = filmes.Lancamento;
            filme.ClassificacaoIndicativa = filmes.ClassificacaoIndicativa;
            using (var model = new FilmesModel())
            {
                model.Update(filme);
                return(NoContent());
            }
        }
Example #11
0
        public ActionResult SalvarFilmes(FilmesModel model, List <int> idGeneros)
        {
            var resultado = "OK";
            var mensagens = new List <string>();
            var idSalvo   = string.Empty;

            if (!ModelState.IsValid)
            {
                mensagens = ModelState.Values.SelectMany(x => x.Errors).Select(x => x.ErrorMessage).ToList();
                resultado = "AVISO";
            }
            else
            {
                var id = 0;
                try
                {
                    if (model.Id > 0)
                    {
                        var Filmes = db.Filmes.Find(model.Id);
                        if (Filmes == null)
                        {
                            return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                        }
                        Filmes.Nome      = model.Nome;
                        Filmes.Ativo     = model.Ativo;
                        Filmes.DtCriacao = DateTime.Now;

                        db.SaveChanges();

                        id = Filmes.Id;
                    }
                    else
                    {
                        var NewFilmes = new FilmesModel();
                        NewFilmes.Nome      = model.Nome;
                        NewFilmes.Ativo     = model.Ativo;
                        NewFilmes.DtCriacao = DateTime.Now;

                        db.Filmes.Add(NewFilmes);
                        db.SaveChanges();

                        id = NewFilmes.Id;
                    }

                    using (var conexao = new SqlConnection())
                    {
                        conexao.ConnectionString = ConfigurationManager.ConnectionStrings["principal"].ConnectionString;
                        conexao.Open();

                        var Filmes_Id = id;

                        using (var transacao = conexao.BeginTransaction())
                        {
                            if (idGeneros.Count > 0 && idGeneros != null)
                            {
                                var sql_delete        = "delete from FilmesGeneros where Filmes_Id = @Filmes_Id";
                                var parametros_delete = new { Filmes_Id };
                                conexao.ExecuteScalar(sql_delete, parametros_delete, transacao);

                                foreach (var generoId in idGeneros)
                                {
                                    var sql_insert        = "insert into FilmesGeneros (Filmes_Id, Generos_Id) values (@Filmes_Id, @generoId)";
                                    var parametros_insert = new { Filmes_Id, generoId };
                                    conexao.ExecuteScalar(sql_insert, parametros_insert, transacao);
                                }
                            }
                            transacao.Commit();
                        }
                    }

                    if (id > 0)
                    {
                        idSalvo = id.ToString();
                    }
                }
                catch (Exception ex)
                {
                    resultado = "ERRO";
                }
            }

            return(Json(new { Resultado = resultado, Mensagens = mensagens, IdSalvo = idSalvo }));
        }