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); }