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)); }
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)); } }
// 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 } }