Example #1
0
        public IActionResult Alterar([FromBody] LocacaoViewModel pLocacao)
        {
            var locacao = _mapper.Map <LocacaoViewModel, Locacao>(pLocacao);

            var locacoesFilme = _locacaoFilmeRepository.Pegar(s => s.LocacaoId == locacao.Id).ToList();

            foreach (var lcFilme in locacoesFilme)
            {
                _locacaoFilmeRepository.Remover(lcFilme.Id);
                _locacaoFilmeRepository.SaveChanges();
            }

            foreach (var fId in pLocacao.FilmesId)
            {
                var locFilme = new LocacaoFilme
                {
                    FilmeId   = fId,
                    LocacaoId = locacao.Id
                };
                if (locFilme.EhValido())
                {
                    _locacaoFilmeRepository.Adicionar(locFilme);
                    _locacaoFilmeRepository.SaveChanges();
                }
            }

            var locFilmes = _locacaoFilmeRepository.PegarLocacoesFilmePorLocacaoId(locacao.Id, UsuarioCPF);

            MontarFilmesDaLocacao(locacao, locFilmes);

            var retorno = _mapper.Map <Locacao, LocacaoViewModel>(locacao);

            return(Response(true, retorno));
        }
Example #2
0
        public IActionResult Adicionar([FromBody] LocacaoViewModel pLocacao)
        {
            pLocacao.DataLocacao = DateTime.Now;
            pLocacao.Locacoes    = null;
            var locacao = _mapper.Map <LocacaoViewModel, Locacao>(pLocacao);

            try
            {
                _locacaoRepository.Adicionar(locacao);
                _locacaoRepository.SaveChanges();

                foreach (var fId in pLocacao.FilmesId)
                {
                    var locFilme = new LocacaoFilme
                    {
                        FilmeId   = fId,
                        LocacaoId = locacao.Id
                    };
                    _locacaoFilmeRepository.Adicionar(locFilme);
                    _locacaoFilmeRepository.SaveChanges();
                }

                var locacoesFilme = _locacaoFilmeRepository.PegarLocacoesFilmePorLocacaoId(locacao.Id, UsuarioCPF);
                MontarFilmesDaLocacao(locacao, locacoesFilme);

                var retorno = _mapper.Map <Locacao, LocacaoViewModel>(locacao);
                return(Response(true, retorno));
            }
            catch (Exception)
            {
                return(Response(false, erros: locacao.ValidationErrors));
            }
        }
Example #3
0
        // Método Visualizar: Retorna lista de locações por usuários
        public ActionResult Lista(LocacaoFilme locacaoFilme)
        {
            if (CheckLogin()) // Verifica se a sessão Usuario_Nome existe
            {
                var multList = new MultList();
                using (IDbConnection db = new SqlConnection(DapperDBConnection))                                                                                                                                                                                                                                                                                                                                           // Estabelecendo conexão com o banco de dados
                {
                    multList.LocacaoFilmes = db.Query <LocacaoFilme>("SELECT l.[Id], l.[Usuario_Id] AS Usuario_Id, f.[Id] AS Filme_Id, f.[Nome] AS Filme_Nome, g.[Nome] AS Genero_Nome, l.[Data_Locacao] AS Data_Locacao FROM [Locacao] AS l LEFT JOIN [Filme] AS f ON l.[Filme_Id] = f.[Id] LEFT JOIN [Genero] AS g ON g.[Id] = f.[Genero_Id] WHERE l.[Devolucao] = 0 AND l.[Usuario_Id] = " + locacaoFilme.Id).ToList(); // Localisa genero por ID
                }

                return(Json(multList.LocacaoFilmes, JsonRequestBehavior.AllowGet)); // Caso esteja logado, retorna o resultado da consulta em json
            }
            else
            {
                return(RedirecionaPaginaLogin()); // Caso contrário, redireciona para página de login
            }
        }