示例#1
0
        public async Task <IActionResult> Add([FromBody] SegurosRequest model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var Id = await segurosRepository.Add(model);

                    if (Id > 0)
                    {
                        var result = new
                        {
                            code = 20000,
                            data = new
                            {
                                id     = Id,
                                mesage = "success"
                            }
                        };

                        return(Ok(result));
                    }
                    else
                    {
                        return(NotFound());
                    }
                }
                catch (Exception)
                {
                    return(BadRequest());
                }
            }

            return(BadRequest());
        }
        public async Task <int> Add(SegurosRequest model)
        {
            if (db != null)
            {
                int IdVeiculo          = model.Veiculo.IdVeiculo;
                var veiculosRepository = new VeiculosRepository(db);
                if (IdVeiculo == 0)
                {
                    IdVeiculo = await veiculosRepository.Add(model.Veiculo);
                }
                else
                {
                    var veiculo = await veiculosRepository.Get(IdVeiculo);

                    if (veiculo != null)
                    {
                        model.Veiculo = new Veiculos {
                            IdVeiculo     = veiculo.IdVeiculo,
                            MarcaVeiculo  = veiculo.MarcaVeiculo,
                            ModeloVeiculo = veiculo.ModeloVeiculo,
                            CorVeiculo    = veiculo.CorVeiculo,
                            Placa         = veiculo.Placa,
                            AnoVeiculo    = veiculo.AnoVeiculo,
                            Renavam       = veiculo.Renavam,
                            ValorVeiculo  = veiculo.ValorVeiculo
                        };
                    }
                }

                var paremetrosRepository       = new ParemetrosRepository(db);
                ParametrosViewModel Parametros = await paremetrosRepository.GetParemetros();

                Seguros newModel = new Seguros();
                newModel.TaxaRisco       = ((model.Veiculo.ValorVeiculo * 5) / (model.Veiculo.ValorVeiculo * 2) / 100);
                newModel.PremioRisco     = newModel.TaxaRisco * model.Veiculo.ValorVeiculo;
                newModel.PremioPuro      = newModel.PremioRisco * (1 + (Parametros.MargemSeguranca / 100));
                newModel.PremioComercial = newModel.PremioPuro * (1 + (Parametros.Lucro / 100));
                newModel.ValorSeguro     = newModel.PremioComercial;

                newModel.IdSegurado = model.IdSegurado;
                newModel.IdVeiculo  = IdVeiculo;
                await db.Seguros.AddAsync(newModel);

                await db.SaveChangesAsync();

                return(newModel.IdSeguro);
            }

            return(0);
        }