Example #1
0
        public string AprovarReserva(IReservas reserva)
        {
            string mensagem = string.Empty;

            if (reserva.Status != ReservasStatusListaItens.ItemAguardandoAprovacao)
            {
                throw new BusinessException("Esta reserva não está aguardando aprovação!");
            }

            var carrosDisponiveis = _carrosDao.CarrosDisponiveisPorModeloEPeriodo(reserva.ModeloCarroHandle, reserva.DataInicio.Value, reserva.DataFim.Value);

            if (carrosDisponiveis != null && carrosDisponiveis.Count > 0)
            {
                reserva.CarroHandle = carrosDisponiveis[0]["HANDLE"].GetInt32();
                reserva.Status      = ReservasStatusListaItens.ItemReservado;
                mensagem            = "Reserva aprovada com sucesso!!!";
            }
            else
            {
                reserva.Status = ReservasStatusListaItens.ItemRecusado;
                mensagem       = "Reserva Recusada! Não existem carros do modelo selecionado no período requisitado!";
            }
            _reservasDao.Save(reserva);

            return(mensagem);
        }
        public void CriarEAprovarReservaComCarroDisponivelDeveAtribuirStatusReservado()
        {
            using (var transaction = new TransactionContext())
            {
                // Arrange
                var gerenciador = BusinessComponent.CreateInstance <IGerenciadorReservas>();
                var reservasDao = ReservasDao.CreateInstance();

                IReservas reserva = reservasDao.Create();
                reserva.PlanoHandle       = 1;
                reserva.PessoaHandle      = 1;
                reserva.Status            = ReservasStatusListaItens.ItemAguardandoAprovacao;
                reserva.ModeloCarroHandle = 10; // Na nossa base Fiat 147
                reserva.DataInicio        = DateTime.Now.AddMonths(1);
                reserva.DataFim           = DateTime.Now.AddMonths(1).AddDays(5);

                // Act
                gerenciador.AprovarReserva(reserva);

                // Assert
                reserva = reservasDao.Get(reserva.Handle); // Buscar da base
                Assert.AreEqual(ReservasStatusListaItens.ItemReservado, reserva.Status);
                Assert.AreEqual(10, reserva.CarroInstance.ModeloHandle);

                //transaction.Complete();// Rollback
            }
        }
Example #3
0
        public string AprovarReserva(IReservas reserva)
        {
            string mensagem = string.Empty;

            if (reserva.Status != ReservasStatusListaItens.ItemAguardandoAprovacao)
            {
                throw new BusinessException("Esta reserva não está aguardando aprovação!");
            }

            return(mensagem);
        }
Example #4
0
        public string DevolverReserva(IReservas reserva)
        {
            string mensagem = string.Empty;

            if (reserva.Status == ReservasStatusListaItens.ItemReservado)
            {
                reserva.Status = ReservasStatusListaItens.ItemDevolvido;
                mensagem       = "Reservas devolvida com sucesso!";
            }
            else
            {
                throw new BusinessException("Esta reserva não está efetiva - Status reservada!");
            }
            _reservasDao.Save(reserva);
            return(mensagem);
        }
Example #5
0
        public string RecusarReserva(IReservas reserva)
        {
            string mensagem = string.Empty;

            if (reserva.Status == ReservasStatusListaItens.ItemAguardandoAprovacao)
            {
                reserva.Status = ReservasStatusListaItens.ItemRecusado;
                mensagem       = "Reserva recusada com sucesso!";
            }
            else
            {
                throw new BusinessException("A reserva não pode ser recusada, pois não está aguardando aprovação!");
            }
            _reservasDao.Save(reserva);

            return(mensagem);
        }
        public void AprovarReservaComCarroDisponivelDeveAtribuirStatusReservado()
        {
            // Arrange
            var carrosDao   = CarrosDao.CreateInstance();
            var reservasDao = new MockReservasDaoComSaveGet();
            var gerenciador = new GerenciadorReservas(Substitute.For <ITransactionContextFactory>(),
                                                      carrosDao,
                                                      reservasDao,
                                                      Substitute.For <IPessoasDao>());
            IReservas reserva = Entidades.Reservas.Get(6);

            reserva.Status            = ReservasStatusListaItens.ItemAguardandoAprovacao;
            reserva.ModeloCarroHandle = 10; // Na nossa base Fiat 147
            reserva.DataInicio        = DateTime.Now.AddMonths(6);
            reserva.DataFim           = DateTime.Now.AddMonths(6).AddDays(5);

            // Act
            gerenciador.AprovarReserva(reserva);

            // Assert
            reserva = reservasDao.Get(reserva.Handle);
            Assert.AreEqual(ReservasStatusListaItens.ItemReservado, reserva.Status);
            Assert.AreEqual(10, reserva.CarroInstance.ModeloHandle);
        }
Example #7
0
 public string AprovarReserva(IReservas reserva)
 {
     throw new NotImplementedException();
 }
Example #8
0
 public void Delete(IReservas entity)
 {
     throw new NotImplementedException();
 }
Example #9
0
 public IReservas CreateClone(IReservas sourceEntity)
 {
     throw new NotImplementedException();
 }
Example #10
0
 public void Save(IReservas entity)
 {
     _reserva = entity;
 }