public void SalvarEntregavel([FromBody] EntregavelDTO novoEntregavel) { using (var db = new FIPEContratosContext()) { var strategy = db.Database.CreateExecutionStrategy(); strategy.Execute(() => { using (var transaction = db.Database.BeginTransaction()) { try { var bEntregavel = new bEntregavel(db); if (novoEntregavel.Id == 0) { bEntregavel.CriarNovoEntregavel(novoEntregavel.Nome, novoEntregavel.DataPrevista, novoEntregavel.IdContrato, novoEntregavel.Frente.Id, novoEntregavel.Numero, novoEntregavel.Cliente.Id, novoEntregavel.Situacao.Id); } else { bEntregavel.AtualizarEntregavel(novoEntregavel); } db.Database.CommitTransaction(); } catch (Exception ex) { new bEmail(db).EnviarEmailTratamentoErro(ex, "EntregavelController-SalvarEntregavel"); throw ex; } } }); } }
public bool SalvarAlteracoesGrid([FromBody] EntregavelDTO[] entregaveisAlterados) { bool operacaoBemSucedida = false; using (var db = new FIPEContratosContext()) { var strategy = db.Database.CreateExecutionStrategy(); strategy.Execute(() => { using (var transaction = db.Database.BeginTransaction()) { try { var entregaveis = entregaveisAlterados.GroupBy(_ => _.Id).Select(_ => _.Last()).ToList(); var bEntregavel = new bEntregavel(db); for (int i = 0; i < entregaveis.Count; i++) { bEntregavel.AtualizarEntregavel(entregaveis[i]); } operacaoBemSucedida = true; db.Database.CommitTransaction(); } catch (Exception ex) { new bEmail(db).EnviarEmailTratamentoErro(ex, "EntregavelController-SalvarAlteracoesGrid"); throw ex; } return(operacaoBemSucedida); } }); return(operacaoBemSucedida); } }