Example #1
0
 public bool Cadastrar(Motorista motorista, CNH cnh) //Mudança na Query, Verificar
 {
     try
     {
         Motorista obj = _motoristaDAL.BuscarCPF(motorista.CPF); //Metodo criado, falta validar
         if (obj != null)
         {
             throw new RegistroExisteException("Já existe um motorista com esse CPF no sistema!");
         }
         return(_motoristaDAL.Cadastrar(motorista, cnh));
     }
     catch (ConcorrenciaBancoException)
     {
         throw new ConcorrenciaBancoException("Favor tentar novamente mais tarde.");
     }
 }
        public IHttpActionResult Post([FromBody] Viagem viagem)
        {
            if (viagem == null)
            {
                return(BadRequest());
            }

            Motorista motorista = _motoristaDAL.BuscarCPF(viagem.CPF);

            if (motorista == null)
            {
                return(BadRequest());
            }

            Veiculo veiculo = _veiculoDAL.BuscarPlaca(viagem.Placa);

            if (veiculo == null)
            {
                veiculo = _veiculoDAL.BuscarPlacaAlugado(viagem.Placa);

                if (veiculo == null)
                {
                    return(BadRequest());
                }
            }

            try
            {
                int requisicao = _viagemService.PopularRequisicao();
                viagem.Requisicao = requisicao;
                viagem.Ocupante   = false;

                bool result = _viagemService.Cadastrar(viagem, viagem.Requisicao);
                if (result)
                {
                    return(Ok());
                }
                else
                {
                    return(BadRequest("Houve um erro na operação!"));
                }
            }
            catch (RegistroExisteException e)
            {
                return(BadRequest(e.Message));
            }
            catch (ConcorrenciaBancoException e)
            {
                return(BadRequest(e.Message));
            }
        }