Exemplo n.º 1
0
        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;
                        }
                    }
                });
            }
        }
Exemplo n.º 2
0
        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);
            }
        }