Exemple #1
0
        public List <ParcelaDTO> CarregarCronogramaFinanceiroTemporaria(int idContrato)
        {
            var parcelas = new List <ParcelaDTO>();

            using (var db = new FIPEContratosContext())
            {
                var strategy = db.Database.CreateExecutionStrategy();

                strategy.Execute(() =>
                {
                    using (var transaction = db.Database.BeginTransaction())
                    {
                        try
                        {
                            parcelas = new bParcela(db).ObterParcelasTemporaria(idContrato);

                            db.Database.CommitTransaction();
                        }
                        catch (Exception ex)
                        {
                            new bEmail(db).EnviarEmailTratamentoErro(ex, "ParcelaController-CarregarCronogramaFinanceiroTemporaria");
                            throw ex;
                        }
                    }
                });

                return(parcelas);
            }
        }
Exemple #2
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);
            }
        }
Exemple #3
0
        Task IJob.Execute(IJobExecutionContext context)
        {
            using (var db = new FIPEContratosContext())
            {
                var strategy = db.Database.CreateExecutionStrategy();

                strategy.Execute(() =>
                {
                    using (var transaction = db.Database.BeginTransaction())
                    {
                        try
                        {
                            var listaEntregaveis = new bEntregavel(db).ObterTodosEntregaiveis();
                            var listaParcelas    = new bParcela(db).ObterTodasParcelas();

                            foreach (var entregavel in listaEntregaveis)
                            {
                                if (DateTime.Now.Date > entregavel.DtProduto)
                                {
                                    if (entregavel.IdSituacao != 89 && entregavel.IdSituacao != 90 && entregavel.IdSituacao != 91)
                                    {
                                        entregavel.IcAtraso = true;
                                        if (entregavel.IdSituacao == 56)
                                        {
                                            entregavel.IdSituacao = 68;
                                        }
                                    }
                                }
                            }

                            foreach (var parcela in listaParcelas)
                            {
                                if (DateTime.Now.Date > parcela.DtFaturamento && parcela.IdSituacao == 92)
                                {
                                    parcela.IdSituacao = 93;
                                    parcela.IcAtraso   = true;
                                }
                            }

                            db.SaveChanges();
                            db.Database.CommitTransaction();
                        }
                        catch (Exception ex)
                        {
                        }
                    }

                    return(Task.CompletedTask);
                });

                return(Task.CompletedTask);
            }
        }
        public List <ParcelaHistoricoDTO> CarregarHistorico(int idContratoReajuste)
        {
            var parcelas = new List <ParcelaHistoricoDTO>();

            using (var db = new FIPEContratosContext())
            {
                try
                {
                    parcelas = new bParcela(db).ObterHistoricoContratoReajuste(idContratoReajuste);
                }
                catch (Exception ex)
                {
                    new bEmail(db).EnviarEmailTratamentoErro(ex, "ContratoReajusteController-CarregarHistorico");
                    throw ex;
                }

                return(parcelas);
            }
        }
Exemple #5
0
        public bool SalvarAlteracoesGridTemporaria([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++)
                            {
                                if (parcelas[i].Situacao.Id == 98)
                                {
                                    parcelas[i].DtFaturamento = null;
                                }

                                bParcela.AtualizarParcelaTemporaria(parcelas[i]);
                            }

                            operacaoBemSucedida = true;

                            db.Database.CommitTransaction();
                        }
                        catch (Exception ex)
                        {
                            new bEmail(db).EnviarEmailTratamentoErro(ex, "ParcelaController-SalvarAlteracoesGridTemporaria");

                            throw ex;
                        }
                    }
                });

                return(operacaoBemSucedida);
            }
        }
Exemple #6
0
        public ParcelaDTO ConsultarParcelaTemporaria(int idParcela)
        {
            var parcela = new ParcelaDTO();

            using (var db = new FIPEContratosContext())
            {
                try
                {
                    parcela = new bParcela(db).ConsultarParcelaTemporaria(idParcela);
                }
                catch (Exception ex)
                {
                    new bEmail(db).EnviarEmailTratamentoErro(ex, "ParcelaController-ConsultarParcelaTemporaria");


                    throw ex;
                }

                return(parcela);
            }
        }
Exemple #7
0
        public bool ValidarCriacaoCronogramaFinanceiro(int idContrato)
        {
            bool contratoValido = false;

            using (var db = new FIPEContratosContext())
            {
                try
                {
                    var bParcela = new bParcela(db);
                    contratoValido = bParcela.ContratoPossuiFrente(idContrato) && bParcela.ContratoPossuiPagador(idContrato);
                }
                catch (Exception ex)
                {
                    new bEmail(db).EnviarEmailTratamentoErro(ex, "ParcelaController-ValidarCriacaoCronogramaFinanceiro");


                    throw ex;
                }

                return(contratoValido);
            }
        }
Exemple #8
0
        public bool HabilitarCronogramaFinanceiro(int idContrato)
        {
            bool habilitado = false;

            using (var db = new FIPEContratosContext())
            {
                try
                {
                    var bParcela = new bParcela(db);
                    var clientes = bParcela.ObterClientes(idContrato);
                    habilitado = clientes != null && clientes.Count > 0;
                }
                catch (Exception ex)
                {
                    new bEmail(db).EnviarEmailTratamentoErro(ex, "ParcelaController-HabilitarCronogramaFinanceiro");


                    throw ex;
                }

                return(habilitado);
            }
        }
Exemple #9
0
        public void SalvarParcelaTemporaria([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.CriarNovaParcelaTemporaria(parcela);
                            }
                            else
                            {
                                bParcela.AtualizarParcelaTemporaria(parcela);
                            }

                            db.Database.CommitTransaction();
                        }
                    });
                }
                catch (Exception ex)
                {
                    new bEmail(db).EnviarEmailTratamentoErro(ex, "ParcelaController-SalvarParcelaTemporaria");


                    throw ex;
                }
            }
        }