Пример #1
0
        private void grdDevedores_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e)
        {
            if (ListaDevedoresFiltrada.Count <= 0)
            {
                return;
            }

            InformacoesClienteInfo info = ListaDevedoresFiltrada[e.RowIndex];

            switch (grdDevedores.Columns[e.ColumnIndex].Name)
            {
            case "Sel":
                e.Value = info.Selecionado;
                break;

            case "CodigoAssessor":
                e.Value = info.CodigoAssessor + "  ";
                break;

            case "CodigoCliente":
                e.Value = info.CodigoCliente + "  ";
                break;

            case "NomeCliente":
                e.Value = info.NomeCliente;
                break;

            case "Email":
                e.Value = info.EmailCliente;
                break;
            }
        }
Пример #2
0
        private bool IsClienteDevedor(InformacoesClienteInfo cliente)
        {
            if (cliente.SaldoDisponivel > LimiteSaldoDisponivel)
            {
                return(false);
            }

            if (cliente.NrDiasNegativo == 0)
            {
                return(false);
            }

            return(true);
        }
Пример #3
0
        private void grdHistorico_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e)
        {
            if (ListaDevedores.Count <= 0)
            {
                return;
            }

            InformacoesClienteInfo info = ListaDevedores[e.RowIndex];

            switch (grdHistorico.Columns[e.ColumnIndex].Name)
            {
            case "Sel":
                e.Value = info.Selecionado;
                break;

            case "Data":
                e.Value = info.DataMovimento.ToString("dd/MM/yyyy");
                break;

            case "CodigoAssessor":
                e.Value = info.CodigoAssessor + "  ";
                break;

            case "NomeCliente":
                e.Value = info.NomeCliente;
                break;

            case "CodigoCliente":
                e.Value = info.CodigoCliente + "  ";
                break;

            case "NomeAssessor":
                e.Value = info.NomeAssessor;
                break;

            case "SaldoDisponivel":
                e.Value = info.SaldoDisponivel.ToString("N2");
                break;

            case "NrDiasNegativo":
                e.Value = info.NrDiasNegativo;
                break;

            case "SaldoTotal":
                e.Value = info.SaldoTotal.ToString("N2");
                break;
            }
        }
Пример #4
0
        private void grdClientesDevedores_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e)
        {
            if (ListaDevedoresFiltrada.Count <= 0)
            {
                return;
            }

            InformacoesClienteInfo info = ListaDevedoresFiltrada[e.RowIndex];

            switch (grdClientesDevedores.Columns[e.ColumnIndex].Name)
            {
            case "CodigoCliente":
                e.Value = info.CodigoCliente + "  ";
                break;

            case "NomeCliente":
                e.Value = info.NomeCliente;
                break;

            case "CodigoAssessor":
                e.Value = info.CodigoAssessor + "  ";
                break;

            case "NomeAssessor":
                e.Value = info.NomeAssessor;
                break;

            case "SaldoDisponivel":
                e.Value = info.SaldoDisponivel.ToString("N2");
                break;

            case "JurosCalculado":
                e.Value = info.JurosCalculado.ToString("N2").Replace('-', ' ');
                break;

            case "NrDiasNegativo":
                e.Value = info.NrDiasNegativo;
                break;

            case "SaldoTotal":
                e.Value = info.SaldoTotal.ToString("N2");
                break;

            case "Desenquadrado":
                e.Value = info.Desenquadrado.ToString("N2") + "  ";
                break;
            }
        }
Пример #5
0
        public HistoricoResponse ObterListaHistorico(HistoricoRequest request)
        {
            AcessaDados lAcessaDados = new AcessaDados();

            HistoricoResponse response = new HistoricoResponse();

            response.Lista   = new List <InformacoesClienteInfo>();
            response.Retorno = HistoricoDatasResponse.RETORNO_ERRO;

            try
            {
                lAcessaDados.ConnectionStringName = gNomeConexaoSQL;

                using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "prc_sel_historico"))
                {
                    lAcessaDados.AddInParameter(lDbCommand, "@dtHistorico", DbType.DateTime, request.DataHistorico);
                    DataTable lDataTable = lAcessaDados.ExecuteDbDataTable(lDbCommand);

                    if (null != lDataTable && lDataTable.Rows.Count > 0)
                    {
                        for (int i = 0; i <= lDataTable.Rows.Count - 1; i++)
                        {
                            InformacoesClienteInfo ClienteInfo = new InformacoesClienteInfo();
                            ClienteInfo.DataMovimento   = (lDataTable.Rows[i]["dtMovimento"]).DBToDateTime();
                            ClienteInfo.CodigoAssessor  = (lDataTable.Rows[i]["idAssessor"]).DBToInt32();
                            ClienteInfo.NomeAssessor    = (lDataTable.Rows[i]["nmAssessor"]).DBToString();
                            ClienteInfo.CodigoCliente   = (lDataTable.Rows[i]["idCliente"]).DBToInt32();
                            ClienteInfo.NomeCliente     = (lDataTable.Rows[i]["nmCliente"]).DBToString();
                            ClienteInfo.SaldoDisponivel = (lDataTable.Rows[i]["vlSaldoAbertura"]).DBToDecimal();
                            ClienteInfo.SaldoTotal      = (lDataTable.Rows[i]["vlSaldoProjetado"]).DBToDecimal();
                            ClienteInfo.JurosCalculado  = (lDataTable.Rows[i]["vlJuros"]).DBToDecimal();
                            ClienteInfo.NrDiasNegativo  = (lDataTable.Rows[i]["nrDiasNegativo"]).DBToInt32();
                            ClienteInfo.Desenquadrado   = (lDataTable.Rows[i]["vlDesenquadrado"]).DBToDecimal();
                            response.Lista.Add(ClienteInfo);
                        }
                    }
                }
                response.Retorno = TextoEmailResponse.RETORNO_OK;
            }
            catch (Exception ex)
            {
                logger.Error("ObterListaHistorico(): Ocorreu um erro ao acessar o banco de dados: " + ex.Message);
            }

            return(response);
        }
Пример #6
0
        private void grdHistoricoTotais_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e)
        {
            if (ListaTotais.Count <= 0)
            {
                return;
            }

            InformacoesClienteInfo info = ListaTotais[e.RowIndex];

            switch (grdHistoricoTotais.Columns[e.ColumnIndex].Name)
            {
            case "Data":
                e.Value = info.DataMovimento.ToString("dd/MM/yyyy");
                break;

            case "Total":
                e.Value = Math.Abs(info.SaldoDisponivel).ToString("N2");
                break;
            }
        }
Пример #7
0
        private void grdDevedores_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e)
        {
            if (ListaDevedoresFiltrada.Count <= 0)
            {
                return;
            }

            InformacoesClienteInfo info = ListaDevedoresFiltrada[e.RowIndex];

            switch (grdDevedores.Columns[e.ColumnIndex].Name)
            {
            case "Sel":
                e.Value = info.Selecionado;
                break;

            case "CodigoCliente":
                e.Value = info.CodigoCliente + "  ";
                break;

            case "NomeCliente":
                e.Value = info.NomeCliente;
                break;

            case "CodigoAssessor":
                e.Value = info.CodigoAssessor + "  ";
                break;

            case "DataMovimento":
                e.Value = info.DataMovimento.ToString("dd/MM/yyyy");
                break;

            case "SaldoDisponivel":
                e.Value = info.SaldoDisponivel.ToString("N2").Replace('-', ' ');
                break;

            case "JurosCalculado":
                e.Value = info.JurosCalculado.ToString("N2").Replace('-', ' ');
                break;
            }
        }
Пример #8
0
        private void btnConsultar_Click(object sender, EventArgs e)
        {
            try
            {
                bool     result = false;
                DateTime dataInicial;
                DateTime dataFinal;

                result = DateTime.TryParse(txtDataInicial.Text, culture, System.Globalization.DateTimeStyles.None, out dataInicial);
                if (!result)
                {
                    MessageBox.Show("Data inicial inválido. Formato: dd/mm/aaaa", "Histórico Totais", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                result = DateTime.TryParse(txtDataFinal.Text, culture, System.Globalization.DateTimeStyles.None, out dataFinal);
                if (!result)
                {
                    MessageBox.Show("Data final inválido. Formato: dd/mm/aaaa", "Histórico Totais", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                btnConsultar.Enabled = false;
                ListaTotais.Clear();
                grdHistoricoTotais.Rows.Clear();

                ISaldoDevedor serv = Ativador.Get <ISaldoDevedor>();

                for (var dia = dataInicial.Date; dia.Date <= dataFinal.Date; dia = dia.AddDays(1))
                {
                    HistoricoRequest request = new HistoricoRequest();
                    request.DataHistorico = dia;

                    HistoricoResponse response = serv.ObterListaHistorico(request);
                    if (response.Lista.Count > 0)
                    {
                        decimal totalSaldo = 0;
                        List <InformacoesClienteInfo> lista = new List <InformacoesClienteInfo>();
                        foreach (InformacoesClienteInfo item in response.Lista)
                        {
                            if (!ListaExcecaoAssessor.Contains(item.CodigoAssessor))
                            {
                                if (!ListaExcecaoCliente.Contains(item.CodigoCliente))
                                {
                                    totalSaldo += item.SaldoDisponivel;
                                }
                            }
                        }
                        InformacoesClienteInfo info = new InformacoesClienteInfo();
                        info.DataMovimento   = dia;
                        info.SaldoDisponivel = totalSaldo;
                        ListaTotais.Add(info);
                    }
                }
                grdHistoricoTotais.Rows.Clear();
                grdHistoricoTotais.RowCount = ListaTotais.Count;
                grdHistoricoTotais.Invalidate();
                btnConsultar.Enabled = true;
            }
            catch (Exception ex)
            {
                string msg = "Consultar: " + ex.Message;
                MessageBox.Show(msg, "Histórico Totais", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Пример #9
0
        public InformacaoClienteResponse ObterListaClientesSaldoDevedor(InformacaoClienteRequest request)
        {
            AcessaDados lAcessaDados = new AcessaDados();

            InformacaoClienteResponse response = new InformacaoClienteResponse();

            response.ListaInformacoesCliente = new Dictionary <int, InformacoesClienteInfo>();
            response.Retorno = InformacaoClienteResponse.RETORNO_ERRO;

            try
            {
                lAcessaDados.ConnectionStringName = gNomeConexaoSinacor;

                using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "prc_obter_saldo_devedor"))
                {
                    lAcessaDados.AddInParameter(lDbCommand, "dtMovimento", DbType.DateTime, request.DadosCliente.DataMovimento);

                    DataTable lDataTable = lAcessaDados.ExecuteOracleDataTable(lDbCommand);

                    if (null != lDataTable && lDataTable.Rows.Count > 0)
                    {
                        for (int i = 0; i <= lDataTable.Rows.Count - 1; i++)
                        {
                            InformacoesClienteInfo ClienteInfo = new InformacoesClienteInfo();
                            ClienteInfo.CodigoAssessor   = (lDataTable.Rows[i]["cd_assessor"]).DBToInt32();
                            ClienteInfo.NomeAssessor     = (lDataTable.Rows[i]["nm_assessor"]).DBToString();
                            ClienteInfo.CodigoCliente    = (lDataTable.Rows[i]["cd_cliente"]).DBToInt32();
                            ClienteInfo.NomeCliente      = (lDataTable.Rows[i]["nm_cliente"]).DBToString();
                            ClienteInfo.EmailCliente     = (lDataTable.Rows[i]["nm_e_mail"]).DBToString();
                            ClienteInfo.SaldoDisponivel  = (lDataTable.Rows[i]["vl_disponivel"]).DBToDecimal();
                            ClienteInfo.SaldoTotal       = (lDataTable.Rows[i]["vl_total"]).DBToDecimal();
                            ClienteInfo.SaldoProjetadoD1 = (lDataTable.Rows[i]["vl_projet1"]).DBToDecimal();
                            ClienteInfo.SaldoProjetadoD2 = (lDataTable.Rows[i]["vl_projet2"]).DBToDecimal();
                            ClienteInfo.DataMovimento    = request.DadosCliente.DataMovimento;

                            ClienteInfo.NrDiasNegativo = ObterQuantidadeDiasNegativoCliente(ClienteInfo.CodigoCliente, ClienteInfo.DataMovimento);
                            ClienteInfo.JurosCalculado = CalcularJurosSaldoDevedor(ClienteInfo.SaldoDisponivel);

                            if (ClienteInfo.SaldoTotal >= 0)
                            {
                                ClienteInfo.Desenquadrado = 0;
                            }
                            else
                            {
                                ClienteInfo.Desenquadrado =
                                    (ClienteInfo.SaldoTotal > ClienteInfo.SaldoDisponivel ? ClienteInfo.SaldoTotal : ClienteInfo.SaldoDisponivel);
                            }

                            if (!response.ListaInformacoesCliente.ContainsKey(ClienteInfo.CodigoCliente))
                            {
                                response.ListaInformacoesCliente.Add(ClienteInfo.CodigoCliente, ClienteInfo);
                            }
                        }
                    }
                }
                response.Retorno = InformacaoClienteResponse.RETORNO_OK;
            }
            catch (Exception ex)
            {
                logger.Error("ObterListaClientesSaldoDevedor(): Ocorreu um erro ao acessar o banco de dados: " + ex.Message);
            }

            return(response);
        }