public HttpResponseMessage CadastrarSeguro([FromBody] SeguroDtos objSeg) { ISeguroRepository objRepository = new SeguroRepository(); try { Business.SeguroBo ValidaSeguro = new Business.SeguroBo(); if (!ValidaSeguro.ValidaVeiculo(objSeg)) { return(Request.CreateErrorResponse(HttpStatusCode.PaymentRequired, "Id do veículo inválido !")); } if (!ValidaSeguro.ValidaSeguro(objSeg)) { return(Request.CreateErrorResponse(HttpStatusCode.PaymentRequired, "Id do segurado inválido !")); } Seguro objSeguro = new Seguro() { SeguradoRefId = objSeg.SeguradoRefId, VeiculoRefId = objSeg.VeiculoRefId }; if (objSeguro == null || objSeguro.SeguradoRefId == 0 || objSeguro.VeiculoRefId == 0) { return(Request.CreateErrorResponse(HttpStatusCode.PaymentRequired, "Erro: Todos os campos são obrigatórios para requisição !")); } /* Verifica se o segurado e veículo não estão cadastrados, se tiver não aceitar o cadastro */ var exite = objRepository.VerificarExisteCadastroSeguroSegurado(objSeguro); if (exite.Count == 0) { IVeiculoRepository objVeiculoRepository = new VeiculoRepository(); var objVeiculo = objVeiculoRepository.GetById(objSeguro.VeiculoRefId); /// Calcula o valor do seguro do veículo Business.SeguroBo calcularSeguro = new Business.SeguroBo(); Seguro objCalculoSeguro = calcularSeguro.calcularSeguro(objVeiculo[0].valor); Seguro obj = new Seguro() { SeguradoRefId = objSeguro.SeguradoRefId, VeiculoRefId = objSeguro.VeiculoRefId, ValorSeguro = objCalculoSeguro.PremioComercial, TaxaRisco = objCalculoSeguro.TaxaRisco, PremioRisco = objCalculoSeguro.PremioRisco, PremioPuro = objCalculoSeguro.PremioPuro, PremioComercial = objCalculoSeguro.PremioComercial }; objRepository.Add(obj); objRepository.Save(); return(Request.CreateResponse(HttpStatusCode.OK, obj)); } else { return(Request.CreateResponse("Seguro já cadastrado para esse segurado e veículo, verifique !")); } } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.NotFound + " - Exceção: " + ex)); } }
public HttpResponseMessage AlterarVeiculo(int id, [FromBody] Veiculo veiculo) { try { Business.VeiculoBo Valida = new Business.VeiculoBo(); if (!Valida.ValidaVeiculo(veiculo.MarcaModelo)) { return(Request.CreateErrorResponse(HttpStatusCode.PaymentRequired, "Marca/Modelo inválida, favor preencher o campo !")); } if (!Valida.ValidaValor(veiculo.valor)) { return(Request.CreateErrorResponse(HttpStatusCode.PaymentRequired, "O valor do veículo não pode ser menor que R$ 2.000,00 !")); } IVeiculoRepository obj = new VeiculoRepository(); var exite = obj.GetById(veiculo.Id); if (exite.Count != 0) { /// Caso exista seguro para o veículo, a alteração não será efetivada Seguro objSeguro = new Seguro() { VeiculoRefId = veiculo.Id }; ISeguroRepository objSeguroRepository = new SeguroRepository(); var exiteSegu = objSeguroRepository.VerificarExisteSeguroParaVeiculo(objSeguro); if (exiteSegu.Count == 0) { IVeiculoRepository objRepository = new VeiculoRepository(); objRepository.Update(veiculo); objRepository.Save(); return(Request.CreateResponse(HttpStatusCode.OK, "Veículo " + veiculo.MarcaModelo + " foi alterado com sucesso, verifique !")); } else { return(Request.CreateResponse(HttpStatusCode.Ambiguous, "O Veículo " + veiculo.MarcaModelo + " não pode ser alterado porque possui seguro calculado, verifique !")); } } else { return(Request.CreateResponse(HttpStatusCode.NotFound, "Veículo não enccontrado!, verifique !")); } } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.NotModified, "Veículo " + veiculo.MarcaModelo + " não foi alterado, ocorreu algum erro, verifique !, " + ex.InnerException)); } }