public bool Cadastrar(Veiculo veiculo, string placa) { try { Veiculo obj1 = _veiculoDAL.BuscarPlaca(placa); Veiculo obj2 = _veiculoDAL.BuscarPlacaAlugado(placa); if (obj1 != null || obj2 != null) { throw new RegistroExisteException("Já existe um veículo com essa Placa no sistema!"); } if (veiculo.VeiculoAlugado != null) { return(_veiculoDAL.CadastrarAlugado(veiculo)); } else { return(_veiculoDAL.Cadastrar(veiculo)); } } catch (TransacaoException e) { throw new TransacaoException(e.Message); } catch (ConcorrenciaBancoException e) { throw new ConcorrenciaBancoException(e.Message); } }
public bool Cadastrar(Abastecimento abastecimento, string placa, AbastecimentoTipo tipo, DateTime data) //Mudança na Query, Verificar { try { Abastecimento obj = _abastecimentoDAL.BuscarAbastecimento(placa, tipo, data); if (obj != null) { throw new RegistroExisteException("Já existe uma Manutenção com esses dados no sistema!"); } else { Veiculo veiculo = _veiculoDAL.BuscarPlaca(placa); AbastecimentoTipo abastecimentoTipo = (AbastecimentoTipo)Enum.Parse(typeof(AbastecimentoTipo), veiculo.Combustivel.ToString()); if (abastecimentoTipo == AbastecimentoTipo.Flex) { if (abastecimento.Tipo == AbastecimentoTipo.Gasolina || abastecimento.Tipo == AbastecimentoTipo.Etanol || abastecimento.Tipo == AbastecimentoTipo.Gasolina_Aditivada) { return(_abastecimentoDAL.Cadastrar(abastecimento)); } else { throw new TipoCombustivelException("Combustível escolhido é incompatível com o veículo!"); } } else if (abastecimentoTipo == abastecimento.Tipo) { return(_abastecimentoDAL.Cadastrar(abastecimento)); } else { throw new TipoCombustivelException("Combustível escolhido é incompatível com o veículo!"); } } } catch (ConcorrenciaBancoException e) { throw new ConcorrenciaBancoException(e.Message); } }
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)); } }