public async Task <ActionResult> Atualiza([FromBody] Reserva item)
        {
            try
            {
                //carrega o repositorio
                using var repository = new ReservaRepository();

                //efetua a validacao
                var validacao = repository.Valida(item);

                if (validacao.Valido)
                {
                    //efetua a consulta
                    var result = await repository.Atualiza(item);

                    //retorna o resultado
                    if (result != null)
                    {
                        return(Ok(result));
                    }
                }
                else
                {
                    //retorna erro de validacao
                    return(BadRequest(validacao));
                }

                return(NoContent());
            }
            catch (Exception ex)
            {
                return(BadRequest(new ValidationModel(ex.Message)));
            }
        }
Example #2
0
 public UnitOfWork(ApplicationDbContext ctx)
 {
     _ctx                  = ctx;
     Mudancas              = new MudancaRepository(_ctx);
     Funcionalidades       = new FuncionalidadeRepository(_ctx);
     TiposMudanca          = new TiposMudancaRepository(_ctx);
     Usuarios              = new UsuariosRepository(_ctx);
     Visitantes            = new VisitanteRepository(_ctx);
     Encomendas            = new EncomendasRepository(_ctx);
     Horarios              = new HorariosRepository(_ctx);
     Reservas              = new ReservaRepository(_ctx);
     Locais                = new LocaisRepository(_ctx);
     HorariosLocais        = new HorariosLocaisRepository(_ctx);
     Notificacoes          = new NotificacoesRepository(_ctx);
     Ocorrencias           = new OcorrenciasRepository(_ctx);
     NotificacaoReserva    = new NotificacaoReservaRepository(_ctx);
     UsuariosNotificacao   = new UsuarioNotificacaoRepository(_ctx);
     NotificacaoOcorrencia = new NotificacaoOcorrenciaRepository(_ctx);
     PerfisUsuario         = new PerfilRepository(_ctx);
     Reunioes              = new ReunioesRepository(_ctx);
     NotificacaoReuniao    = new NotificacaoReuniaoRepository(_ctx);
     NotificacaoEncomenda  = new NotificacaoEncomendaRepository(_ctx);
     Posts                 = new PostsRepository(_ctx);
     Comentarios           = new ComentariosRepository(_ctx);
     NotificacaoMudanca    = new NotificacaoMudancaRepository(_ctx);
 }
        public async Task <ActionResult> Put(int id, [FromBody] AlterarReservaViewModel reserva)
        {
            ReservaRepository _reserva = new ReservaRepository();
            var ReservaUsuario         = await _reserva.BuscarPorID(id);

            if (ReservaUsuario == null)
            {
                return(NotFound(new {
                    Mensagem = "Reserva não encontrada",
                    Erro = true
                }));
            }

            OfertaRepository _oferta = new OfertaRepository();
            var QtdOferta            = await _oferta.BuscarPorID(ReservaUsuario.OfertaId.Value);


            if (QtdOferta != null)
            {
                QtdOferta.Quantidade = QtdOferta.Quantidade + ReservaUsuario.Quantidade;
                var RetornorOferta = await _oferta.Alterar(QtdOferta);
            }


            if (QtdOferta.Quantidade < reserva.Quantidade)
            {
                return(NotFound(new {
                    Mensagem = "Atenção! Quantidade desejada maior que a ofertada",
                    Erro = true
                }));
            }

            var ReservaAlterada = VerificaAlteracaoReserva(ReservaUsuario, reserva);

            QtdOferta.Quantidade = QtdOferta.Quantidade - ReservaAlterada.Quantidade;

            try {
                await _repositorio.Alterar(ReservaAlterada);

                await _oferta.Alterar(QtdOferta);

                return(Ok(new {
                    Mensagem = "Reserva Alterada Com Sucesso",
                    Erro = false
                }));
            } catch (DbUpdateConcurrencyException) {
                //Verificamos se o objeto realmente existe no banco
                var reserva_valido = await _repositorio.BuscarPorID(id);

                if (reserva_valido == null)
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
        }
        public PartialViewResult AbrirModalConsumo(Guid reservaId, Guid quartoId)
        {
            ViewBag.ReservaId = reservaId;
            ViewBag.QuartoId  = quartoId;
            var quarto  = quartoRepository.BuscarPorId(quartoId);
            var reserva = new ReservaRepository(quarto, db).Buscar(reservaId);

            return(PartialView("_Consumo", reserva));
        }
        public PartialViewResult AbrirModalAtualizar(Guid id, Guid quartoId)
        {
            var quarto  = quartoRepository.BuscarPorId(quartoId);
            var reserva = new ReservaRepository(quarto, db).Buscar(id);

            ViewBag.UsuarioId = new SelectList(usuarioRepository.Buscar(TipoUsuario.Usuario), "UsuarioId", null, reserva.UsuarioId);

            var quartos = quartoRepository.BuscarTodos().Where(x => x.IsDisponivel(reserva.Data, reserva.DataFinal)).Append(quarto);

            ViewBag.QuartoId = new SelectList(quartos, "Id", null, quartoId);
            return(PartialView("_Atualizar", reserva));
        }
Example #6
0
        public ReservaTo ObtenerReservaPorCodigoReserva(Guid id)
        {
            ReservaTo reserva = new ReservaTo();

            using (var Contexto = ViveVolarDbContext.GetDbContext())
            {
                var reservaRepositorio = new ReservaRepository(Contexto);
                var result             = reservaRepositorio.Filtrar(ConstruirExpresionConsultaReservasPorCodigoReserva(id)).AsEnumerable().SingleOrDefault();
                reserva = Mapper.Map <ReservaTo>(result);
            }
            return(reserva);
        }
Example #7
0
        public async Task <ReservaTo> ObtenerReservaPorIdAsync(int id)
        {
            ReservaTo reserva = new ReservaTo();

            using (var Contexto = ViveVolarDbContext.GetDbContext())
            {
                var reservaRepositorio = new ReservaRepository(Contexto);
                var result             = await reservaRepositorio.ObtenerPorId(id.ToString());

                reserva = Mapper.Map <ReservaTo>(result);
            }
            return(reserva);
        }
        public ActionResult ApagarConsumo(Guid reservaId, Guid quartoId, Consumo consumo)
        {
            var quarto            = quartoRepository.BuscarPorId(quartoId);
            var reservaRepository = new ReservaRepository(quarto, db);
            var reserva           = reservaRepository.Buscar(reservaId);

            reserva.Consumo.Remove(reserva.Consumo.FirstOrDefault(x => x.Id == consumo.Id));
            reservaRepository.Atualizar(reserva);

            TempData["Pagina"] = 1;
            var quartos = quartoRepository.BuscarTodos().Where(x => !x.Excluido).ToList();

            return(PartialView("_PartialTabela", quartos.ToPagedList(1, 5)));
        }
        public ActionResult CadastrarConsumo(Guid reservaId, Guid quartoId, Consumo consumo)
        {
            if (ModelState.IsValid)
            {
                var quarto            = quartoRepository.BuscarPorId(quartoId);
                var reservaRepository = new ReservaRepository(quarto, db);
                var reserva           = reservaRepository.Buscar(reservaId);
                reserva.Consumo.Add(consumo);
                reservaRepository.Atualizar(reserva);

                return(RedirectToAction("Index", new { area = "Recepcao" }).Success("Consumo cadastrado com sucesso."));
            }
            return(RedirectToAction("Index", new { area = "Recepcao" }).Error("Consumo não foi cadastrado."));
        }
Example #10
0
 public void GuardarNuevaReserva(ReservaTo reserva)
 {
     using (var Scope = new TransactionScope())
     {
         using (var Contexto = ViveVolarDbContext.GetDbContext())
         {
             var     reservaRepositorio = new ReservaRepository(Contexto);
             Reserva objetoReserva      = Mapper.Map <Reserva>(reserva);
             reservaRepositorio.Insertar(objetoReserva);
             reservaRepositorio.GuardarCambios();
         }
         Scope.Complete();
     }
 }
Example #11
0
 public void ActualizarReserva(ReservaTo reserva)
 {
     using (var Scope = new TransactionScope())
     {
         using (var Contexto = ViveVolarDbContext.GetDbContext())
         {
             var     reservaRepositorio = new ReservaRepository(Contexto);
             Reserva reservaModificada  = Mapper.Map <Reserva>(reserva);
             ActualizarDatosPasajerosItinerarios(Contexto, reservaModificada);
             Reserva objetoREservaBd = Contexto.Reservas.Find(reserva.IdReserva);
             MapearDatosActualesReserva(objetoREservaBd, reserva);
             reservaRepositorio.GuardarCambios();
         }
         Scope.Complete();
     }
 }
Example #12
0
        public async Task <ActionResult> Get([FromBody] ReservaFilter item)
        {
            try
            {
                //carrega o repositorio
                using var repository = new ReservaRepository();

                //efetua a consulta
                var result = await repository.Busca(item);

                //retorna o resultado
                return(Ok(result));
            }
            catch (Exception ex)
            {
                return(BadRequest(new ValidationModel(ex.Message)));
            }
        }
Example #13
0
        public async Task <ActionResult> Get(int id)
        {
            try
            {
                //carrega o repositorio
                using var repository = new ReservaRepository();

                //efetua a consulta
                var result = await repository.Busca(id);

                //retorna o resultado
                if (result != null)
                {
                    return(Ok(result));
                }

                return(NoContent());
            }
            catch (Exception ex)
            {
                return(BadRequest(new ValidationModel(ex.Message)));
            }
        }
        public ActionResult CheckInOut(Guid id, Guid quartoId, int pagina = 1)
        {
            var quarto            = quartoRepository.BuscarPorId(quartoId);
            var reservaRepository = new ReservaRepository(quarto, db);
            var reserva           = reservaRepository.Buscar(id);

            if (reserva.IsCheckin())
            {
                reserva.FazerCheckout();
            }
            else
            {
                reserva.FazerCheckin();
            }
            reservaRepository.Atualizar(reserva);

            TempData["Pagina"] = pagina;
            int itensPorPagina = 5;
            var quartos        = quartoRepository.BuscarTodos().Where(x => !x.Excluido).ToList();
            var lista          = new List <Models.Quarto>();

            lista.AddRange(quartos);
            return(PartialView("_PartialTabela", lista.ToPagedList(pagina, itensPorPagina)));
        }