public bool SalvarAlteracoesGrid([FromBody] ParcelaDTO[] parcelasAlteradas) { bool operacaoBemSucedida = false; using (var db = new FIPEContratosContext()) { var strategy = db.Database.CreateExecutionStrategy(); strategy.Execute(() => { using (var transaction = db.Database.BeginTransaction()) { try { var parcelas = parcelasAlteradas.GroupBy(_ => _.Id).Select(_ => _.Last()).ToList(); var bParcela = new bParcela(db); for (int i = 0; i < parcelas.Count; i++) { bParcela.AtualizarParcela(parcelas[i]); } operacaoBemSucedida = true; db.Database.CommitTransaction(); } catch (Exception ex) { new bEmail(db).EnviarEmailTratamentoErro(ex, "ParcelaController-SalvarAlteracoesGrid"); throw ex; } } }); return(operacaoBemSucedida); } }
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; } } }