Esempio n. 1
0
        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));
            }
        }
Esempio n. 2
0
        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));
            }
        }