public bool ValidarValorParcelaTemporaria([FromBody] InputParcela parcela) { bool parcelaValida = false; using (var db = new FIPEContratosContext()) { try { var bParcela = new bParcela(db); var parcelas = bParcela.ObterParcelasTemporaria(parcela.IdContrato); decimal valorContrato = bParcela.ObterValorContrato(parcela.IdContrato); if (parcelas == null) { parcelaValida = parcela.Valor <= valorContrato; } else { decimal?valorParcelas = parcelas.Where(_ => parcela.IdContrato == 0 || _.Id != parcela.Id)?.Sum(_ => _.Valor); parcelaValida = (valorParcelas == null ? parcela.Valor : (valorParcelas.Value + parcela.Valor)) <= valorContrato; } } catch (Exception ex) { new bEmail(db).EnviarEmailTratamentoErro(ex, "ParcelaController-ValidarValorParcelaTemporaria"); throw ex; } return(parcelaValida); } }
public void AtualizarParcelaTemporaria([FromBody] InputParcela parcela) { using (var db = new FIPEContratosContext()) { var strategy = db.Database.CreateExecutionStrategy(); strategy.Execute(() => { using (var transaction = db.Database.BeginTransaction()) { try { new bParcela(db).AtualizarParcelaTemporaria(parcela); db.Database.CommitTransaction(); } catch (Exception ex) { new bEmail(db).EnviarEmailTratamentoErro(ex, "ParcelaController-AtualizarParcelaTemporaria"); throw ex; } } }); } }
public void SalvarParcela([FromBody] InputParcela parcela) { using (var db = new FIPEContratosContext()) { try { var strategy = db.Database.CreateExecutionStrategy(); strategy.Execute(() => { using (var transaction = db.Database.BeginTransaction()) { var bParcela = new bParcela(db); if (parcela.Id == 0) { bParcela.CriarNovaParcela(parcela); } else { bParcela.AtualizarParcela(parcela); } db.Database.CommitTransaction(); } }); } catch (Exception ex) { new bEmail(db).EnviarEmailTratamentoErro(ex, "ParcelaController-SalvarParcela"); throw ex; } } }