Пример #1
0
        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);
            }
        }
Пример #2
0
        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;
                        }
                    }
                });
            }
        }
Пример #3
0
        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;
                }
            }
        }