예제 #1
0
        private void ObterParametros()
        {
            try
            {
                ISaldoDevedor serv = Ativador.Get <ISaldoDevedor>();

                ParametroResponse parametros = serv.ObterParametros();

                ListaExcecaoAssessor.Clear();
                ListaExcecaoAssessor = parametros.Parametro.ListaExcecaoAssessor;

                List <string> lista = AssesssoresExcluidosTotalSaldoHistorico.Split(';').ToList();
                foreach (string item in lista)
                {
                    if (!ListaExcecaoAssessor.Contains(Convert.ToInt32(item)))
                    {
                        ListaExcecaoAssessor.Add(Convert.ToInt32(item));
                    }
                }

                ListaExcecaoCliente.Clear();
                ListaExcecaoCliente = parametros.Parametro.ListaExcecaoCliente;

                lblAssessoresExcl.Text = string.Join(", ", ListaExcecaoAssessor);
                lblClientesExcl.Text   = string.Join(", ", ListaExcecaoCliente);
            }
            catch (Exception ex)
            {
                string msg = "Obter Parâmetros: " + ex.Message;
                MessageBox.Show(msg, "Histórico Movimento", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #2
0
        private void ObterParametros()
        {
            try
            {
                ISaldoDevedor serv = Ativador.Get <ISaldoDevedor>();

                ParametroResponse par = serv.ObterParametros();

                LimiteSaldoDisponivel = par.Parametro.LimiteSaldoMulta;
                txtLimiteSaldo.Text   = LimiteSaldoDisponivel.ToString("N0");

                TaxaJuros         = par.Parametro.TaxaJuros;
                txtTaxaJuros.Text = ((TaxaJuros - 1) * 100).ToString("N0");

                CodigoArquivoTesouraria  = par.Parametro.CodigoArquivoTesouraria;
                txtCodArqTesouraria.Text = CodigoArquivoTesouraria.ToString();

                ListaExcecaoAssessor = par.Parametro.ListaExcecaoAssessor;
                foreach (int item in ListaExcecaoAssessor)
                {
                    lstAssessoresIncluidos.Items.Add(item);
                }

                ListaExcecaoCliente = par.Parametro.ListaExcecaoCliente;
                foreach (int item in ListaExcecaoCliente)
                {
                    lstClientesIncluidos.Items.Add(item);
                }
            }
            catch (Exception ex)
            {
                string msg = "Obter Parâmetros: " + ex.Message;
                MessageBox.Show(msg, "Configuração", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #3
0
        private void ObterListaDevedores()
        {
            try
            {
                ISaldoDevedor serv = Ativador.Get <ISaldoDevedor>();

                InformacaoClienteRequest request = new InformacaoClienteRequest();
                request.DadosCliente = new InformacoesClienteInfo();
                request.DadosCliente.DataMovimento = DateTime.Now;

                InformacaoClienteResponse clientes = serv.ObterClientesSaldoDevedor(request);

                ListaDevedores.Clear();
                foreach (KeyValuePair <int, InformacoesClienteInfo> info in clientes.ListaInformacoesCliente)
                {
                    if (IsClienteDevedor(info.Value))
                    {
                        ListaDevedores.Add(info.Value);
                    }
                }

                ordemCrescente = true;
            }
            catch (Exception ex)
            {
                string msg = "Obter Lista Devedores: " + ex.Message;
                MessageBox.Show(msg, "Saldo Devedor", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #4
0
        private void ObterParametros()
        {
            try
            {
                txtDataInicial.Text = DateTime.Now.AddDays(-30).ToString("dd/MM/yyyy");
                txtDataFinal.Text   = DateTime.Now.ToString("dd/MM/yyyy");

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

                ParametroResponse parametros = serv.ObterParametros();

                ListaExcecaoAssessor.Clear();
                ListaExcecaoAssessor = parametros.Parametro.ListaExcecaoAssessor;

                List <string> lista = AssesssoresExcluidosTotalSaldoHistorico.Split(';').ToList();
                foreach (string item in lista)
                {
                    if (!ListaExcecaoAssessor.Contains(Convert.ToInt32(item)))
                    {
                        ListaExcecaoAssessor.Add(Convert.ToInt32(item));
                    }
                }

                ListaExcecaoCliente.Clear();
                ListaExcecaoCliente = parametros.Parametro.ListaExcecaoCliente;
            }
            catch (Exception ex)
            {
                string msg = "Obter Parâmetros: " + ex.Message;
                MessageBox.Show(msg, "Histórico Totais", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #5
0
        private void btnGerarHistorico_Click(object sender, EventArgs e)
        {
            try
            {
                ISaldoDevedor serv = Ativador.Get <ISaldoDevedor>();

                EnviarEmailRequest request = new EnviarEmailRequest();

                EmailResponse dadosEmail = serv.ObterDetalheEmail(IDEMAIL_RISCO);
                request.DadosEmail = dadosEmail.Lista[IDEMAIL_RISCO];

                var listaSelecionados =
                    from InformacoesClienteInfo lstcli in ListaDevedores
                    orderby lstcli.CodigoAssessor, lstcli.CodigoCliente ascending
                where lstcli.Selecionado == true
                select lstcli;

                request.ListaClientes = listaSelecionados.ToList();

                if (request.ListaClientes.Count > 0)
                {
                    if (!EmailTestePara.Equals(""))
                    {
                        request.DadosEmail.EmailPara = EmailTestePara;
                    }
                    if (!EmailTesteCopia.Equals(""))
                    {
                        request.DadosEmail.EmailCopia = EmailTesteCopia;
                    }
                    if (!EmailTesteCopiaOculta.Equals(""))
                    {
                        request.DadosEmail.EmailCopiaOculta = EmailTesteCopiaOculta;
                    }

                    EnviarEmailResponse resp = serv.EnviarEmailRisco(request);
                    if (resp.Retorno == EnviarEmailResponse.RETORNO_OK)
                    {
                        MessageBox.Show("E-mail enviado com sucesso!", "Histórico Movimento",
                                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MessageBox.Show("FALHA NO ENVIO DO E-MAIL!", "Histórico Movimento",
                                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            catch (Exception ex)
            {
                string msg = "Enviar E-Mail: " + ex.Message;
                MessageBox.Show(msg, "Histórico Movimento", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #6
0
        private void btnEnviarEmail_Click(object sender, EventArgs e)
        {
            try
            {
                EnviarEmailRequest request = new EnviarEmailRequest();

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

                EmailResponse dadosEmail = serv.ObterDetalheEmail(IDEMAIL_TESOURARIA);
                request.DadosEmail = dadosEmail.Lista[IDEMAIL_TESOURARIA];

                var listaSelecionados =
                    from InformacoesClienteInfo lstcli in ListaDevedoresFiltrada
                    orderby lstcli.CodigoAssessor, lstcli.CodigoCliente ascending
                where lstcli.Selecionado == true
                select lstcli;

                request.ListaClientes = listaSelecionados.ToList();

                if (request.ListaClientes.Count > 0)
                {
                    if (!EmailTestePara.Equals(""))
                    {
                        request.DadosEmail.EmailPara = EmailTestePara;
                    }
                    if (!EmailTesteCopia.Equals(""))
                    {
                        request.DadosEmail.EmailCopia = EmailTesteCopia;
                    }
                    if (!EmailTesteCopiaOculta.Equals(""))
                    {
                        request.DadosEmail.EmailCopiaOculta = EmailTesteCopiaOculta;
                    }

                    EnviarEmailResponse resp = serv.EnviarEmailTesouraria(request);
                    if (resp.Retorno == EnviarEmailResponse.RETORNO_OK)
                    {
                        MessageBox.Show("Notificação enviada com sucesso!", "Notificar Tesouraria",
                                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MessageBox.Show("FALHA NO ENVIO DA NOTIFICAÇÃO!", "Notificar Tesouraria",
                                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            catch (Exception ex)
            {
                string msg = "Enviar E-Mail: " + ex.Message;
                MessageBox.Show(msg, "Notificar Tesouraria", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #7
0
        private void ObterParametros()
        {
            try
            {
                ISaldoDevedor serv = Ativador.Get <ISaldoDevedor>();

                ParametroResponse parametros = serv.ObterParametroNotificarAtendimentoDiasAlternados();

                notificarAtendimentoDiasAlternados = parametros.Parametro.NotificarAtendimentoDiasAlternados;

                ListaAssessoresNotificadosDiasAlternados = AssessoresNotificadosDiasAlternados.Split(';').ToList();
            }
            catch (Exception ex)
            {
                string msg = "Obter Parâmetros: " + ex.Message;
                MessageBox.Show(msg, "Notificar Atendimento", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #8
0
        private void MontarDiasHistorico()
        {
            try
            {
                ISaldoDevedor serv = Ativador.Get <ISaldoDevedor>();

                HistoricoDatasResponse listaDias = serv.ObterListaHistoricoDias();

                treeDiasHistorico.Nodes.Clear();
                foreach (string item in listaDias.Lista)
                {
                    string ano = item.Substring(0, 4);
                    string mes = item.Substring(5, 2);
                    string dia = item.Substring(8, 2);

                    if (!treeDiasHistorico.Nodes.ContainsKey(ano))
                    {
                        treeDiasHistorico.Nodes.Add(ano, "Ano: " + ano);
                    }

                    if (!treeDiasHistorico.Nodes[ano].Nodes.ContainsKey(ano + mes))
                    {
                        treeDiasHistorico.Nodes[ano].Nodes.Add(ano + mes, "Mês: " + mes);
                    }

                    if (!treeDiasHistorico.Nodes[ano].Nodes[ano + mes].Nodes.ContainsKey(ano + mes + dia))
                    {
                        treeDiasHistorico.Nodes[ano].Nodes[ano + mes].Nodes.Add(ano + mes + dia, "Dia: " + dia);
                    }
                }
                btnGerarHistorico.Enabled = false;
            }
            catch (Exception ex)
            {
                string msg = "Obter Dados: " + ex.Message;
                MessageBox.Show(msg, "Histórico Movimento", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #9
0
        private void ObterParametros()
        {
            try
            {
                ISaldoDevedor serv = Ativador.Get <ISaldoDevedor>();

                ParametroResponse parametros = serv.ObterParametros();

                LimiteSaldoDisponivel = parametros.Parametro.LimiteSaldoMulta;

                TaxaJuros = parametros.Parametro.TaxaJuros;

                ListaExcecaoAssessor.Clear();
                ListaExcecaoAssessor = parametros.Parametro.ListaExcecaoAssessor;

                ListaExcecaoCliente.Clear();
                ListaExcecaoCliente = parametros.Parametro.ListaExcecaoCliente;
            }
            catch (Exception ex)
            {
                string msg = "Obter Parâmetros: " + ex.Message;
                MessageBox.Show(msg, "Saldo Devedor", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #10
0
        private void treeDiasHistorico_AfterSelect(object sender, TreeViewEventArgs e)
        {
            try
            {
                if (e.Node.Name.Length == 8)
                {
                    grdHistorico.Rows.Clear();

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

                    HistoricoRequest request = new HistoricoRequest();
                    request.DataHistorico = Convert.ToDateTime(
                        e.Node.Name.Substring(6, 2) + "/" + e.Node.Name.Substring(4, 2) + "/" + e.Node.Name.Substring(0, 4), culture);

                    HistoricoResponse response = serv.ObterListaHistorico(request);

                    if (response.Lista.Count > 0)
                    {
                        totalSaldo = 0;
                        ListaDevedores.Clear();
                        foreach (InformacoesClienteInfo item in response.Lista)
                        {
                            item.Selecionado = true;
                            ListaDevedores.Add(item);
                            if (!ListaExcecaoAssessor.Contains(item.CodigoAssessor))
                            {
                                if (!ListaExcecaoCliente.Contains(item.CodigoCliente))
                                {
                                    totalSaldo += item.SaldoDisponivel;
                                }
                            }
                        }

                        grdHistorico.Rows.Clear();
                        grdHistorico.RowCount = ListaDevedores.Count;
                        grdHistorico.Invalidate();

                        var listaSelecionados =
                            from InformacoesClienteInfo lstcli in ListaDevedores
                            orderby lstcli.CodigoAssessor, lstcli.CodigoCliente ascending
                        where lstcli.Selecionado == true
                        select lstcli;

                        if (listaSelecionados.ToList().Count == 0)
                        {
                            btnGerarHistorico.Enabled = false;
                        }
                        else
                        {
                            btnGerarHistorico.Enabled = true;
                        }

                        lblQtdDevedores.Text = listaSelecionados.ToList().Count + " / " + ListaDevedores.Count;
                        txtTotalSaldo.Text   = totalSaldo.ToString("N2", culture).Replace('-', ' ').Trim();
                    }
                }
            }
            catch (Exception ex)
            {
                string msg = "Lista Histórico: " + ex.Message;
                MessageBox.Show(msg, "Histórico Movimento", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #11
0
        private void btnSalvarConfiguracoes_Click(object sender, EventArgs e)
        {
            try
            {
                ParametroRequest request = new ParametroRequest();
                request.Parametro = new ParametroInfo();

                bool    tryParseOk = false;
                decimal decimalOut = 0;
                int     integerOut = 0;

                tryParseOk = decimal.TryParse(txtLimiteSaldo.Text, out decimalOut);
                if (!tryParseOk)
                {
                    MessageBox.Show("Limite do Saldo Disponível inválido.", "Configuração",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                request.Parametro.LimiteSaldoMulta = decimalOut;

                tryParseOk = decimal.TryParse(txtTaxaJuros.Text, out decimalOut);
                if (!tryParseOk)
                {
                    MessageBox.Show("Taxa de Juros inválido.", "Configuração",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                request.Parametro.TaxaJuros = 1 + (decimalOut / 100);

                tryParseOk = Int32.TryParse(txtCodArqTesouraria.Text, out integerOut);
                if (!tryParseOk)
                {
                    MessageBox.Show("Código do Arquivo Tesouraria inválido.", "Configuração",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                request.Parametro.CodigoArquivoTesouraria = integerOut;

                request.Parametro.ListaExcecaoAssessor = new List <int>();
                foreach (object item in lstAssessoresIncluidos.Items)
                {
                    request.Parametro.ListaExcecaoAssessor.Add((int)item);
                }

                request.Parametro.ListaExcecaoCliente = new List <int>();
                foreach (object item in lstClientesIncluidos.Items)
                {
                    request.Parametro.ListaExcecaoCliente.Add((int)item);
                }

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

                ParametroResponse resp = serv.GravarParametros(request);
                if (resp.Retorno == ParametroResponse.RETORNO_OK)
                {
                    MessageBox.Show("Configuração gravada com sucesso!", "Configuração",
                                    MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show("Falha na gravação da Configuração!", "Configuração",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception ex)
            {
                string msg = "Salvar Configurações: " + ex.Message;
                MessageBox.Show(msg, "Configuração", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            OnGravaConfiguracao();
            this.Close();
        }
예제 #12
0
        private void btnSalvarConfiguracoes_Click(object sender, EventArgs e)
        {
            try
            {
                TextoEmailRequest textoEmailRequest = new TextoEmailRequest();
                textoEmailRequest.Lista = new List <TextoEmailInfo>();

                foreach (DataGridViewRow item in grdTextoEmail.Rows)
                {
                    TextoEmailInfo info = new TextoEmailInfo();
                    info.Id              = Convert.ToInt32(item.Cells["IdTextoEmail"].Value);
                    info.Texto           = (item.Cells["TextoEmail"].Value == null ? "" : item.Cells["TextoEmail"].Value.ToString());
                    info.DataAtualizacao = Convert.ToDateTime(item.Cells["DataAtualizacao"].Value);
                    textoEmailRequest.Lista.Add(info);
                }

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

                TextoEmailResponse respTextoEmail = serv.GravarListaTextoEmail(textoEmailRequest);

                if (respTextoEmail.Retorno == TextoEmailResponse.RETORNO_OK)
                {
                    EmailRequest emailRequest = new EmailRequest();
                    emailRequest.Lista = new List <EmailInfo>();

                    foreach (DataGridViewRow item in grdEmail.Rows)
                    {
                        EmailInfo info = new EmailInfo();
                        info.Id               = Convert.ToInt32(item.Cells["IdEmail"].Value);
                        info.Descricao        = (item.Cells["Descricao"].Value == null ? "" : item.Cells["Descricao"].Value.ToString());
                        info.Titulo           = (item.Cells["Titulo"].Value == null ? "" : item.Cells["Titulo"].Value.ToString());
                        info.Assunto          = (item.Cells["Assunto"].Value == null ? "" : item.Cells["Assunto"].Value.ToString());
                        info.EmailPara        = (item.Cells["Para"].Value == null ? "" : item.Cells["Para"].Value.ToString());
                        info.EmailCopia       = (item.Cells["Copia"].Value == null ? "" : item.Cells["Copia"].Value.ToString());
                        info.EmailCopiaOculta = (item.Cells["CopiaOculta"].Value == null ? "" : item.Cells["CopiaOculta"].Value.ToString());
                        info.IdTextoEmail     = Convert.ToInt32(item.Cells["IdTextoEmail"].Value);
                        info.DataAtualizacao  = Convert.ToDateTime(item.Cells["DataAtualizacao"].Value);
                        emailRequest.Lista.Add(info);
                    }

                    EmailResponse respEmail = serv.GravarListaEmail(emailRequest);
                    if (respEmail.Retorno == EmailResponse.RETORNO_OK)
                    {
                        AssessorEmailRequest assessorEmailRequest = new AssessorEmailRequest();
                        assessorEmailRequest.Lista = new List <AssessorEmailInfo>();

                        foreach (int item in ListaAssessorEmailExcluido)
                        {
                            AssessorEmailInfo info = new AssessorEmailInfo();
                            info.IdAssessor = item;
                            assessorEmailRequest.Lista.Add(info);
                        }

                        AssessorEmailResponse respDelAssessorEmail = serv.RemoverListaAssessorEmail(assessorEmailRequest);
                        if (respDelAssessorEmail.Retorno == AssessorEmailResponse.RETORNO_OK)
                        {
                            assessorEmailRequest.Lista.Clear();

                            foreach (DataGridViewRow item in grdAssessorEmail.Rows)
                            {
                                AssessorEmailInfo info = new AssessorEmailInfo();
                                info.IdAssessor      = Convert.ToInt32(item.Cells["CodigoAssessor"].Value);
                                info.IdEmail         = Convert.ToInt32(item.Cells["DescricaoEmail"].Value);
                                info.DataAtualizacao = Convert.ToDateTime(item.Cells["DataAtualizacao"].Value);
                                assessorEmailRequest.Lista.Add(info);
                            }

                            AssessorEmailResponse respAssessorEmail = serv.GravarListaAssessorEmail(assessorEmailRequest);
                            if (respAssessorEmail.Retorno == AssessorEmailResponse.RETORNO_OK)
                            {
                                MessageBox.Show("Configuração de E-mail gravada com sucesso!", "Configuração",
                                                MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }
                            else
                            {
                                MessageBox.Show("FALHA NA GRAVAÇÃO DE ASSESSORES QUE RECEBEM E-MAIL!", "Configuração",
                                                MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                        }
                        else
                        {
                            MessageBox.Show("FALHA NA EXCLUSÃO DE ASSESSORES QUE RECEBEM E-MAIL!", "Configuração",
                                            MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                    else
                    {
                        MessageBox.Show("FALHA NA GRAVAÇÃO DOS E-MAILS!", "Configuração",
                                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    MessageBox.Show("FALHA NA GRAVAÇÃO DOS TEXTOS DE E-MAIL!", "Configuração",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception ex)
            {
                string msg = "Salvar Configurações: " + ex.Message;
                MessageBox.Show(msg, "Configuração E-mail", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            OnGravaConfigEmail();
            this.Close();
        }
예제 #13
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);
            }
        }
예제 #14
0
        private void MontarLista()
        {
            try
            {
                ISaldoDevedor serv = Ativador.Get <ISaldoDevedor>();

                EmailResponse dadosEmail = serv.ObterListaEmail();
                ListaEmail = dadosEmail.Lista;

                List <int> listaAssessoresFiltrada = new List <int>();
                foreach (InformacoesClienteInfo item in ListaDevedoresFiltrada)
                {
                    if (!listaAssessoresFiltrada.Contains(item.CodigoAssessor))
                    {
                        listaAssessoresFiltrada.Add(item.CodigoAssessor);
                    }
                }

                treeEmail.Nodes.Clear();
                if (listaAssessoresFiltrada.Contains(AssessoresVinculados))
                {
                    listaAssessoresFiltrada.Remove(AssessoresVinculados);

                    Dictionary <string, string> ListaEmailOutlook = ObterListaContatosOutlook();

                    foreach (InformacoesClienteInfo vinculado in ListaDevedoresFiltrada)
                    {
                        if (vinculado.CodigoAssessor.Equals(AssessoresVinculados))
                        {
                            EmailResponse dadosEmailVinculados = serv.ObterDetalheEmail(IdEmailVinculados);
                            EmailInfo     emailVinculado       = dadosEmailVinculados.Lista[IdEmailVinculados];
                            if (!ListaEmail.ContainsKey(IdEmailVinculados))
                            {
                                ListaEmail.Add(IdEmailVinculados, emailVinculado);
                            }

                            string emailCliente = "";
                            foreach (string item in ListaEmailOutlook.Keys)
                            {
                                if (LevenshteinDistance(item, vinculado.NomeCliente) < 5)
                                {
                                    emailCliente = ListaEmailOutlook[item];
                                    break;
                                }
                            }

                            string nodeVinculado = "-" + vinculado.CodigoCliente.ToString();
                            treeEmail.Nodes.Add(nodeVinculado, "Notificar " + emailVinculado.Descricao + " (" + emailCliente + ")");
                            treeEmail.Nodes[nodeVinculado].Checked   = true;
                            treeEmail.Nodes[nodeVinculado].ForeColor = Color.White;

                            treeEmail.Nodes[nodeVinculado].Nodes.Add(
                                vinculado.CodigoCliente.ToString(), vinculado.CodigoCliente + " (" + vinculado.NomeCliente + ")");
                            treeEmail.Nodes[nodeVinculado].Nodes[vinculado.CodigoCliente.ToString()].Checked = true;
                        }
                    }
                }

                List <int> listaAssessoresCadastrados = new List <int>();

                foreach (KeyValuePair <int, EmailInfo> item in ListaEmail)
                {
                    if (item.Key == IdEmailVinculados)
                    {
                        continue;
                    }

                    foreach (int assessor in item.Value.ListaAssessor)
                    {
                        if (!listaAssessoresCadastrados.Contains(assessor))
                        {
                            listaAssessoresCadastrados.Add(assessor);
                        }
                    }

                    List <int> compararAssessores = listaAssessoresFiltrada.Intersect(item.Value.ListaAssessor).ToList();

                    if (compararAssessores.Count > 0)
                    {
                        treeEmail.Nodes.Add(item.Value.Id.ToString(), "Notificar " + item.Value.Descricao + " (" + item.Value.Titulo + ")");
                        treeEmail.Nodes[item.Value.Id.ToString()].Checked   = true;
                        treeEmail.Nodes[item.Value.Id.ToString()].ForeColor = Color.White;

                        foreach (int assessor in item.Value.ListaAssessor)
                        {
                            foreach (InformacoesClienteInfo devedor in ListaDevedoresFiltrada)
                            {
                                if (devedor.CodigoAssessor == assessor)
                                {
                                    treeEmail.Nodes[item.Value.Id.ToString()].Nodes.Add(
                                        devedor.CodigoCliente.ToString(), devedor.CodigoCliente + " (" + devedor.NomeCliente + ")");
                                    treeEmail.Nodes[item.Value.Id.ToString()].Nodes[devedor.CodigoCliente.ToString()].Checked = true;
                                }
                            }
                        }
                    }
                }
                treeEmail.ExpandAll();
                treeEmail.AfterCheck += new TreeViewEventHandler(treeEmail_AfterCheck);

                // Avisa ao usuário se existirem assessores que não recebem notificação
                List <int> listaAssessoresNaoCadastrados = listaAssessoresFiltrada.Except(listaAssessoresCadastrados).ToList();

                List <string> ListaAssessoresNaoNotificados = AssessoresNaoNotificados.Split(';').ToList();
                foreach (string assessorNaoNotificado in ListaAssessoresNaoNotificados)
                {
                    if (listaAssessoresNaoCadastrados.Contains(Convert.ToInt32(assessorNaoNotificado)))
                    {
                        listaAssessoresNaoCadastrados.Remove(Convert.ToInt32(assessorNaoNotificado));
                    }
                }

                if (listaAssessoresNaoCadastrados.Count > 0)
                {
                    string msg = "";
                    foreach (int item in listaAssessoresNaoCadastrados)
                    {
                        msg += "Assessor " + item + " não cadastrado para receber notificação! \n";
                    }
                    MessageBox.Show(msg, "Notificar Assessores", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception ex)
            {
                string msg = "Montar Lista: " + ex.Message;
                MessageBox.Show(msg, "Notificar Assessores", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #15
0
        private void btnEnviarEmail_Click(object sender, EventArgs e)
        {
            try
            {
                EnviarEmailRequest request = new EnviarEmailRequest();

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

                EmailResponse dadosEmail = serv.ObterDetalheEmail(IDEMAIL_ATENDIMENTO);
                request.DadosEmail = dadosEmail.Lista[IDEMAIL_ATENDIMENTO];

                var listaSelecionados =
                    from InformacoesClienteInfo lstcli in ListaDevedoresFiltrada
                    orderby lstcli.CodigoAssessor, lstcli.CodigoCliente ascending
                where lstcli.Selecionado == true
                select lstcli;

                request.ListaClientes = listaSelecionados.ToList();

                if (request.ListaClientes.Count > 0)
                {
                    if (!EmailTestePara.Equals(""))
                    {
                        request.DadosEmail.EmailPara = EmailTestePara;
                    }
                    if (!EmailTesteCopia.Equals(""))
                    {
                        request.DadosEmail.EmailCopia = EmailTesteCopia;
                    }
                    if (!EmailTesteCopiaOculta.Equals(""))
                    {
                        request.DadosEmail.EmailCopiaOculta = EmailTesteCopiaOculta;
                    }

                    EnviarEmailResponse resp = serv.EnviarEmailAtendimento(request);
                    if (resp.Retorno == EnviarEmailResponse.RETORNO_OK)
                    {
                        ParametroRequest req = new ParametroRequest();
                        req.Parametro = new ParametroInfo();
                        if (notificarAtendimentoDiasAlternados == ParametroRequest.NAO_NOTIFICAR_ATENDIMENTO_DIAS_ALTERNADOS)
                        {
                            req.Parametro.NotificarAtendimentoDiasAlternados = ParametroRequest.NOTIFICAR_ATENDIMENTO_DIAS_ALTERNADOS;
                        }
                        else
                        {
                            req.Parametro.NotificarAtendimentoDiasAlternados = ParametroRequest.NAO_NOTIFICAR_ATENDIMENTO_DIAS_ALTERNADOS;
                        }

                        serv.GravarParametroNotificarAtendimentoDiasAlternados(req);

                        MessageBox.Show("Notificação enviada com sucesso!", "Notificar Atendimento",
                                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MessageBox.Show("FALHA NO ENVIO DA NOTIFICAÇÃO!", "Notificar Atendimento",
                                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            catch (Exception ex)
            {
                string msg = "Enviar E-Mail: " + ex.Message;
                MessageBox.Show(msg, "Notificar Atendimento", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #16
0
        private void btnEnviarEmail_Click(object sender, EventArgs e)
        {
            try
            {
                EnviarEmailRequest request = new EnviarEmailRequest();

                Dictionary <int, InformacoesClienteInfo> lista = new Dictionary <int, InformacoesClienteInfo>();
                foreach (InformacoesClienteInfo item in ListaDevedoresFiltrada)
                {
                    lista.Add(item.CodigoCliente, item);
                }

                int emailEnviados    = 0;
                int emailNaoEnviados = 0;

                foreach (TreeNode notificacao in treeEmail.Nodes)
                {
                    if (notificacao.Checked)
                    {
                        if (notificacao.Name.StartsWith("-"))
                        {
                            request.DadosEmail                  = new EmailInfo();
                            request.DadosEmail.Anexos           = ListaEmail[IdEmailVinculados].Anexos;
                            request.DadosEmail.Conteudo         = ListaEmail[IdEmailVinculados].Conteudo;
                            request.DadosEmail.DataAtualizacao  = ListaEmail[IdEmailVinculados].DataAtualizacao;
                            request.DadosEmail.Descricao        = ListaEmail[IdEmailVinculados].Descricao;
                            request.DadosEmail.EmailCopia       = ListaEmail[IdEmailVinculados].EmailCopia;
                            request.DadosEmail.EmailCopiaOculta = ListaEmail[IdEmailVinculados].EmailCopiaOculta;
                            request.DadosEmail.Id               = ListaEmail[IdEmailVinculados].Id;
                            request.DadosEmail.IdTextoEmail     = ListaEmail[IdEmailVinculados].IdTextoEmail;
                            request.DadosEmail.ListaAssessor    = ListaEmail[IdEmailVinculados].ListaAssessor;
                            request.DadosEmail.Titulo           = new StringBuilder(ListaEmail[IdEmailVinculados].Titulo).ToString();
                            request.DadosEmail.Assunto          = new StringBuilder(ListaEmail[IdEmailVinculados].Assunto).ToString();
                            request.DadosEmail.EmailPara        = new StringBuilder(ListaEmail[IdEmailVinculados].EmailPara).ToString();
                            int codCliente = Int32.Parse(notificacao.Name.Substring(1, notificacao.Name.Length - 1));

                            request.ListaClientes = new List <InformacoesClienteInfo>();
                            if (notificacao.Nodes[0].Checked)
                            {
                                request.ListaClientes.Add(lista[codCliente]);
                                request.DadosEmail.Titulo    = lista[codCliente].NomeCliente;
                                request.DadosEmail.Assunto  += lista[codCliente].NomeCliente;
                                request.DadosEmail.EmailPara = notificacao.Text.Substring(notificacao.Text.IndexOf('(') + 1).Replace(')', ' ').Trim();

                                if (request.DadosEmail.EmailPara.Length == 0)
                                {
                                    string msg = string.Format("Favor preencher e-mail do Cliente Vinculado ({0})", codCliente);
                                    MessageBox.Show(msg, "Notificar Assessores", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                    return;
                                }
                            }

                            if (request.ListaClientes.Count > 0)
                            {
                                ISaldoDevedor serv = Ativador.Get <ISaldoDevedor>();

                                if (!EmailTestePara.Equals(""))
                                {
                                    request.DadosEmail.EmailPara = EmailTestePara;
                                }
                                if (!EmailTesteCopia.Equals(""))
                                {
                                    request.DadosEmail.EmailCopia = EmailTesteCopia;
                                }
                                if (!EmailTesteCopiaOculta.Equals(""))
                                {
                                    request.DadosEmail.EmailCopiaOculta = EmailTesteCopiaOculta;
                                }

                                EnviarEmailResponse resp = serv.EnviarEmailAssessores(request);
                                if (resp.Retorno == EnviarEmailResponse.RETORNO_OK)
                                {
                                    emailEnviados++;
                                }
                                else
                                {
                                    emailNaoEnviados++;
                                }
                            }
                        }
                        else
                        {
                            request.DadosEmail = ListaEmail[Int32.Parse(notificacao.Name)];

                            request.ListaClientes = new List <InformacoesClienteInfo>();
                            foreach (TreeNode clienteNotificado in notificacao.Nodes)
                            {
                                if (clienteNotificado.Checked)
                                {
                                    request.ListaClientes.Add(lista[Int32.Parse(clienteNotificado.Name)]);
                                }
                            }

                            if (request.ListaClientes.Count > 0)
                            {
                                ISaldoDevedor serv = Ativador.Get <ISaldoDevedor>();

                                if (!EmailTestePara.Equals(""))
                                {
                                    request.DadosEmail.EmailPara = EmailTestePara;
                                }
                                if (!EmailTesteCopia.Equals(""))
                                {
                                    request.DadosEmail.EmailCopia = EmailTesteCopia;
                                }
                                if (!EmailTesteCopiaOculta.Equals(""))
                                {
                                    request.DadosEmail.EmailCopiaOculta = EmailTesteCopiaOculta;
                                }

                                EnviarEmailResponse resp = serv.EnviarEmailAssessores(request);
                                if (resp.Retorno == EnviarEmailResponse.RETORNO_OK)
                                {
                                    emailEnviados++;
                                }
                                else
                                {
                                    emailNaoEnviados++;
                                }
                            }
                        }
                    }
                }

                if (emailEnviados > 0)
                {
                    string msg = string.Format("{0} Notificações enviadas com sucesso!", emailEnviados.ToString());
                    MessageBox.Show(msg, "Notificar Assessores", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                if (emailNaoEnviados > 0)
                {
                    string msg = string.Format("{0} FALHA NO ENVIO DAS NOTIFICAÇÕES!", emailNaoEnviados.ToString());
                    MessageBox.Show(msg, "Notificar Assessores", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception ex)
            {
                string msg = "Enviar E-mail: " + ex.Message;
                MessageBox.Show(msg, "Notificar Assessores", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #17
0
        private void ObterParametros()
        {
            try
            {
                grdTextoEmail.CellValueChanged    -= new DataGridViewCellEventHandler(grdTextoEmail_CellValueChanged);
                grdAssessorEmail.CellValueChanged -= new DataGridViewCellEventHandler(grdAssessorEmail_CellValueChanged);
                grdEmail.CellValueChanged         -= new DataGridViewCellEventHandler(grdEmail_CellValueChanged);

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

                TextoEmailResponse listaTextoEmail = serv.ObterListaTextoEmail();

                grdTextoEmail.Rows.Clear();
                ComboIdTextoEmail.Clear();
                foreach (KeyValuePair <int, TextoEmailInfo> item in listaTextoEmail.Lista)
                {
                    grdTextoEmail.Rows.Add(item.Value.Id, item.Value.Texto, item.Value.DataAtualizacao);
                    ComboIdTextoEmail.Rows.Add(item.Value.Id.ToString(), item.Value.Id.ToString());
                }

                EmailResponse listaEmail = serv.ObterListaDetalheEmail();

                grdEmail.Rows.Clear();
                ComboDescricaoEmail.Clear();
                foreach (KeyValuePair <int, EmailInfo> item in listaEmail.Lista)
                {
                    int reg = grdEmail.Rows.Add(new DataGridViewRow());
                    grdEmail.Rows[reg].Cells["IdEmail"].Value         = item.Value.Id;
                    grdEmail.Rows[reg].Cells["Descricao"].Value       = item.Value.Descricao;
                    grdEmail.Rows[reg].Cells["Titulo"].Value          = item.Value.Titulo;
                    grdEmail.Rows[reg].Cells["Assunto"].Value         = item.Value.Assunto;
                    grdEmail.Rows[reg].Cells["Para"].Value            = item.Value.EmailPara;
                    grdEmail.Rows[reg].Cells["Copia"].Value           = item.Value.EmailCopia;
                    grdEmail.Rows[reg].Cells["CopiaOculta"].Value     = item.Value.EmailCopiaOculta;
                    grdEmail.Rows[reg].Cells["IdTextoEmail"].Value    = item.Value.IdTextoEmail.ToString();
                    grdEmail.Rows[reg].Cells["DataAtualizacao"].Value = item.Value.DataAtualizacao;
                    ComboDescricaoEmail.Rows.Add(item.Value.Id, item.Value.Descricao);
                }

                AssessorEmailResponse listaAssessorEmail = serv.ObterListaAssessorEmail();

                grdAssessorEmail.Rows.Clear();
                foreach (AssessorEmailInfo item in listaAssessorEmail.Lista)
                {
                    if (item.IdAssessor == 0)
                    {
                        continue;
                    }
                    int reg = grdAssessorEmail.Rows.Add(new DataGridViewRow());
                    grdAssessorEmail.Rows[reg].Cells["CodigoAssessor"].Value  = item.IdAssessor;
                    grdAssessorEmail.Rows[reg].Cells["DescricaoEmail"].Value  = item.IdEmail.ToString();
                    grdAssessorEmail.Rows[reg].Cells["DataAtualizacao"].Value = item.DataAtualizacao;
                }

                grdTextoEmail.CellValueChanged    += new DataGridViewCellEventHandler(grdTextoEmail_CellValueChanged);
                grdAssessorEmail.CellValueChanged += new DataGridViewCellEventHandler(grdAssessorEmail_CellValueChanged);
                grdEmail.CellValueChanged         += new DataGridViewCellEventHandler(grdEmail_CellValueChanged);
            }
            catch (Exception ex)
            {
                string msg = "Obter Parâmetros: " + ex.Message;
                MessageBox.Show(msg, "Configuração E-mail", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }