Exemple #1
0
        private DataTable BatimentoResgates()
        {
            DataTable Table = new DataTable();

            Table.Columns.Add("FIQ");
            Table.Columns.Add("INTRAG");
            Table.Columns.Add("CONTROLE");

            Dictionary <long, string> InvFIQ        = new BL_FIQ().Dados().ToDictionary(Key => Key.CODFUND, Value => Value.NOME);
            List <BL_Boleta>          Boletas       = new BL_Boleta().DadosDia(DateTime.Today).Where(x => x.OPERACAO != "AP" && x.STATUS != "Cancelado").ToList();
            List <BL_BoletaIntrag>    BoletasIntrag = new BL_BoletaIntrag().DadosDia(DateTime.Today).Where(x => x.OPERACAO != "AP").ToList();

            List <long> FIQs = Boletas.Select(x => x.CODFUND).ToList();

            FIQs.AddRange(BoletasIntrag.Select(x => x.CODFUND));
            FIQs = FIQs.Distinct().ToList();

            foreach (long FIQ in FIQs.Where(x => InvFIQ.Keys.Contains(x)))
            {
                DataRow DR = Table.NewRow();

                DR["FIQ"]      = InvFIQ[FIQ];
                DR["INTRAG"]   = BoletasIntrag.Where(x => x.CODFUND == FIQ).Count();
                DR["CONTROLE"] = Boletas.Where(x => x.CODFUND == FIQ).Count();

                Table.Rows.Add(DR);
            }

            AddTotals(ref Table);

            return(Table);
        }
Exemple #2
0
        //Inicializador
        #region
        public NovaOrdem(MailItem Email, List <BL_Boleta> BoletasImportadas)
        {
            EmailRecebido = Email;
            Email.Display();

            InitializeComponent();
            CmbBoxOp.SelectedIndex = 0;

            Fundos = new BL_FIQ().Dados();
            //CODFUNDSRAPTOR = new BL_FIQ().Dados().Where(x => x.CODMASTER == 61984).Select(x => x.CODFUND).ToList();

            CmbCotista.DisplayMember  = "NOME";
            CmbCotista.ValueMember    = "CODCOT";
            CmbBoxFIQ.DisplayMember   = "NOME";
            CmbBoxFIQ.ValueMember     = "CODFUND";
            CmbBoxConta.DisplayMember = "DISPLAYCONTA";
            CmbBoxFIQ.DataSource      = Fundos;
            CmbBoxFIQ.SelectedIndex   = -1;

            LabelEmail.Text   = EmailRecebido.SenderName.ToString();
            LabelHora.Text    = EmailRecebido.ReceivedTime.ToShortTimeString();
            LabelAssunto.Text = EmailRecebido.Subject.ToString();

            this.TopMost = true;
        }
Exemple #3
0
        //Inicializador
        public NovaOrdem()
        {
            InitializeComponent();
            CmbBoxOp.SelectedIndex = 0;

            Fundos = new BL_FIQ().Dados();
            //CODFUNDSRAPTOR = new BL_FIQ().Dados().Where(x => x.CODMASTER == 61984).Select(x => x.CODFUND).ToList();

            CmbCotista.DisplayMember  = "NOME";
            CmbCotista.ValueMember    = "CODCOT";
            CmbBoxFIQ.DisplayMember   = "NOME";
            CmbBoxFIQ.ValueMember     = "CODFUND";
            CmbBoxConta.DisplayMember = "DISPLAYCONTA";
            CmbBoxFIQ.DataSource      = Fundos;
            CmbBoxFIQ.SelectedIndex   = -1;
        }
        private void Btnverificaposi_Click(object sender, EventArgs e)
        {
            //Valida CPF CNPJ e se tem fundo selecionado
            if ((new BL_Validador().CNPJ(TextBoxCpfCnpj.Text) || new BL_Validador().CPF(TextBoxCpfCnpj.Text)) && CmbBoxFIQ.SelectedIndex > -1)
            {
                //Busca Cotistas com CPFCNPJ e CODFUND selecionados com Saldo > 0
                Cotistas = new BL_Cotista().DadosPorCPFCNPJeSALDO(Convert.ToInt64(TextBoxCpfCnpj.Text), Convert.ToInt64(CmbBoxFIQ.SelectedValue.ToString()));

                if (Cotistas.Count == 0)
                {
                    MessageBox.Show("Nenhum cotista com CPF e Saldo no fundo informado encontrado!"); return;
                }

                if (Cotistas.Count > 0)
                {
                    //Inclui Cotistas na Lista
                    CmbCotista.Enabled      = true;
                    btnverificaposi.Enabled = false;
                    TextBoxCpfCnpj.Enabled  = false;
                    CmbBoxFIQ.Enabled       = false;
                    CmbBoxOp.Enabled        = true;
                    CmbBoxLiquida.Enabled   = true;

                    CmbCotista.DataSource = Cotistas;
                    FIQ = Fundos.FirstOrDefault(Fund => Fund.CODFUND.ToString() == CmbBoxFIQ.SelectedValue.ToString());

                    if (Cotistas.Count == 1)
                    {
                        CmbCotista.Enabled = false;
                    }
                    else
                    {
                        CmbCotista.Enabled = true;
                    }
                }
            }
            else if (CmbBoxFIQ.SelectedIndex > -1)
            {
                MessageBox.Show("CPF ou CNPJ inválido!");
            }
            else
            {
                MessageBox.Show("Favor Selecionar um Fundo!");
            }
        }
        private void BtnAtualizar_Click(object sender, EventArgs e)
        {
            Dictionary <long, string> INVFUND = new BL_FIQ().Dados().ToDictionary(Key => Key.CODFUND, Value => Value.NOME);

            foreach (BL_Master Master in new BL_Master().Dados())
            {
                INVFUND.Add(Master.CODFUND, Master.NOMEFUND);
            }

            Usuario = new BL_Usuario().DadosNome(WINDOWSNAME);
            if (Usuario == null || Usuario.USUARIO == "" || Usuario.SENHA == "")
            {
                MessageBox.Show("Favor verificar usuário e senha nas Configurações."); return;
            }
            string Resposta = ObjRegApl.AtualizarDados(Usuario.USUARIO, Usuario.SENHA);

            if (Resposta == "Não há lançamentos de créditos!")
            {
                MessageBox.Show("Não há lançamentos de créditos!");
            }
            else
            {
                new BL_LogOperacional().Inserir("Caixa Gestor", Resposta);
            }

            //ObjRegApl.AtualizarDados("spx.op35", "258369");

            List <BL_RegistroAplica> Registros = ObjRegApl.Dados();

            DataGridMovimenta.Rows.Clear();

            foreach (BL_RegistroAplica Registro in Registros)
            {
                if (INVFUND.ContainsKey(Registro.CODFUND))
                {
                    DataGridMovimenta.Rows.Add(new string[] { INVFUND[Registro.CODFUND], Registro.VALOR.ToString(), Registro.CPFCNPJ.ToString(), Registro.NOME, Registro.HORA.ToShortTimeString() });
                }
                else
                {
                    DataGridMovimenta.Rows.Add(new string[] { Registro.CODFUND.ToString(), Registro.VALOR.ToString(), Registro.CPFCNPJ.ToString(), Registro.NOME, Registro.HORA.ToShortTimeString() });
                }
            }
        }
Exemple #6
0
        //List<long> CODFUNDSRAPTOR = new List<long>();

        //Clicks Botoes
        #region
        private void BtnIncluir_Click(object sender, EventArgs e)
        {
            if (CmbCotista.SelectedIndex == -1)
            {
                MessageBox.Show("Nenhum Cotistas Selecionado!");
            }
            else if (CmbBoxOp.SelectedIndex == -1)
            {
                MessageBox.Show("Nenhum tipo de Operação Selecionada!"); CmbBoxOp.Focus();
            }
            else if (CmbBoxLiquida.SelectedIndex == -1)
            {
                MessageBox.Show("Nenhum tipo de liquidação Selecionada!"); CmbBoxLiquida.Focus();
            }
            else if (CmbBoxConta.SelectedIndex == -1 && !(LabelOp.Text == "Aplicação" && CmbBoxLiquida.Text == "TED"))
            {
                MessageBox.Show("Nenhuma conta selecionada!"); CmbBoxConta.Focus();
            }
            else if (TextBoxValor.Text.Length == 0)
            {
                MessageBox.Show("Favor preencher o valor da operação!"); TextBoxValor.Focus();
            }
            else if (CheckPorCautela.Checked == true && ComboBoxCautela.SelectedIndex == -1)
            {
                MessageBox.Show("Favor selecionar uma cautela!");
            }
            //else if (LabelOp.Text != "Aplicação" && CODFUNDSRAPTOR.Contains(Convert.ToInt64(CmbBoxFIQ.SelectedValue))) { Limpar(); MessageBox.Show("Resgates do Raptor devem ser feitos manualmente!"); }

            else
            {//Conversor
                string Op()
                {
                    if (LabelOp.Text == "Aplicação")
                    {
                        return("AP");
                    }
                    else if (CmbBoxOp.Text == "Por Cotas")
                    {
                        return("RC");
                    }
                    else if (CmbBoxOp.Text == "Total")
                    {
                        return("RT");
                    }
                    else
                    {
                        return("R");
                    }
                }

                //Variaveis
                long    CODCOT   = Convert.ToInt64(CmbCotista.SelectedValue);
                long    CODFUND  = Convert.ToInt64(CmbBoxFIQ.SelectedValue);
                string  OPERACAO = Op();
                decimal VALOR    = Convert.ToDecimal(TextBoxValor.Text);
                string  CONTA    = CmbBoxConta.Text;
                if (CONTA == "")
                {
                    CONTA = "VIA TED";
                }

                List <BL_Boleta> Boletas = new List <BL_Boleta>();
                BL_FIQ           Fundo   = new BL_FIQ().DadosPorCODFUND(CODFUND);
                BL_Cotista       Cotista = new BL_Cotista().DadosPorCODCOT(CODCOT);

                if (Op() == "R" && CheckPorCautela.Checked)
                {
                    MessageBox.Show("Não é possível realizar resgates financeiros por cautela!");
                }
                else if (Op() == "R" && Fundo.LOCKUP != 0)
                {
                    MessageBox.Show("Não é possível resgatar por financeiro em fundos com lockup!");
                }
                else if (Op() != "AP" && Fundo.LOCKUP != 0 && !CheckPorCautela.Checked)
                {
                    if (VALOR > new BL_Saldo().DadosPorCODCOTeCODFUND(Cotista.CODCOT, Fundo.CODFUND).QNTCOTAS)
                    {
                        MessageBox.Show("O valor solicitado é maior que o saldo disponível!");
                    }
                    else
                    {
                        Boletas = new BL_Boleta().BoletaPorCautela(Cotista, Fundo, VALOR, DateTime.Today, Op(), CONTA);
                    }
                }
                else if (CheckPorCautela.Checked)
                {
                    DataGridBoletas.Columns["Cautela"].Visible = true;
                    long     CAUTELA = Convert.ToInt64(ComboBoxCautela.SelectedValue);
                    BL_Saldo Cautela = new BL_Saldo().CautelasPorCODCOTeCODFUND(Cotista.CODCOT, Fundo.CODFUND).FirstOrDefault(x => x.CAUTELA == CAUTELA);
                    if (VALOR > Cautela.QNTCOTAS)
                    {
                        MessageBox.Show("O valor solicitado é maior que a quantidade de cotas disponível na cautela!");
                    }
                    else
                    {
                        Boletas.Add(new BL_Boleta().GeraBoleta(Cotista, Fundo, VALOR, DateTime.Today, Op(), CONTA, CAUTELA));
                    }
                }
                else
                {
                    Boletas.Add(new BL_Boleta().GeraBoleta(Cotista, Fundo, VALOR, DateTime.Today, Op(), CONTA));
                    if (Op() == "AP")
                    {
                        Boletas[0].STATUS = new BL_Boleta().VerificarCotista(CODCOT, CODFUND, Properties.Settings.Default.Usuario, Properties.Settings.Default.Senha);
                    }
                }

                Boletas.OrderBy(x => x.COTIZACAO).ToList();
                foreach (BL_Boleta Boleta in Boletas)
                {
                    DataGridBoletas.Rows.Add(Boleta.CODCOT, Boleta.CODFUND, Boleta.CPFCNPJ, Boleta.NOME, Boleta.FUNDO, Boleta.OPERACAO, Boleta.STATUS,
                                             Boleta.VALOR, Boleta.CONTA, Boleta.COTIZACAO.ToShortDateString(), Boleta.IMPACTO.ToShortDateString(), Boleta.CAUTELA);
                }
                Limpar();
            }
        }
Exemple #7
0
        private void BtnVerificar_Click(object sender, EventArgs e)
        {
            //Valida CPF CNPJ e se tem fundo selecionado
            if ((new BL_Validador().CNPJ(TextBoxCpfCnpj.Text) || new BL_Validador().CPF(TextBoxCpfCnpj.Text)) && CmbBoxFIQ.SelectedIndex > -1)
            {
                FIQ = new BL_FIQ().DadosPorCODFUND(Convert.ToInt64(CmbBoxFIQ.SelectedValue));
                List <BL_Cotista> Cotistas = new List <BL_Cotista>();

                //Valida se o fundo foi encontrado
                if (FIQ == null)
                {
                    MessageBox.Show("Fundo não encontrado!"); return;
                }

                //Se for resgate, busca cotistas que possuem saldo no fundo
                if (LabelOp.Text == "Resgate")
                {
                    if (FIQ.LOCKUP != 0)
                    {
                        DataGridBoletas.Columns["Cautela"].Visible = true;
                    }
                    Cotistas = new BL_Cotista().DadosPorCPFCNPJeSALDO(Convert.ToInt64(TextBoxCpfCnpj.Text), Convert.ToInt64(CmbBoxFIQ.SelectedValue.ToString()));
                }
                else
                {
                    Cotistas = new BL_Cotista().DadosPorCPFCNPJ(Convert.ToInt64(TextBoxCpfCnpj.Text));
                }

                if (Cotistas.Count > 0)
                {
                    //Inclui Cotistas na Lista
                    CmbCotista.Enabled     = true;
                    BtnVerificar.Enabled   = false;
                    TextBoxCpfCnpj.Enabled = false;
                    CmbBoxFIQ.Enabled      = false;
                    CmbBoxLiquida.Enabled  = true;
                    CmbCotista.DataSource  = Cotistas;

                    if (LabelOp.Text == "Resgate")
                    {
                        CmbBoxOp.Enabled = true; TextBoxValor.Enabled = true;
                    }
                    else
                    {
                        TextBoxValor.Enabled = true;
                    }

                    if (Cotistas.Count == 1)
                    {
                        CmbCotista.Enabled = false;
                    }
                    else
                    {
                        CmbCotista.Enabled = true;
                    }
                }
                else
                {
                    if (LabelOp.Text == "Resgate")
                    {
                        MessageBox.Show("CPF / CNPJ não possui saldo no " + CmbBoxFIQ.Text);
                    }
                    else
                    {
                        MessageBox.Show("CPF / CNPJ não retornou cotistas!");
                    }
                }
            }
            else if (CmbBoxFIQ.SelectedIndex > -1)
            {
                MessageBox.Show("CPF ou CNPJ Inválido!");
            }
            else
            {
                MessageBox.Show("Favor Selecionar um Fundo!");
            }
        }
Exemple #8
0
        private void ProcessarDataGrid()
        {
            //Carrega Base de Cotistas
            Cotistas = new BL_Cotista().DadosPorCPFCNPJ(Convert.ToInt64(CmbBoxDistribuidor.SelectedValue.ToString()));

            //Carrega Saldos
            Saldos = new BL_Saldo().DadosPorCPFCNPJ(Convert.ToInt64(CmbBoxDistribuidor.SelectedValue.ToString()));

            //Contas
            Contas = new BL_ContaCredito().DadosPorCPFCNPJ(Convert.ToInt64(CmbBoxDistribuidor.SelectedValue.ToString()));

            //Percorre todas Boletas
            foreach (DataGridViewRow DR in DataGridBoletas.Rows)
            {
                BL_FIQ FundoAux = Fundos.FirstOrDefault(x => x.CODFUND == Convert.ToInt64(DR.Cells[5].Value));
                if (FundoAux == null)
                {
                    MessageBox.Show("Fundo não encontrado!"); continue;
                }

                //Seleciona o cotista pelo nome e cnpj
                BL_Cotista CotistaAux = Cotistas.FirstOrDefault(x => x.NOME == DR.Cells[0].Value.ToString() && x.CPFCNPJ == Convert.ToInt64(DR.Cells[1].Value));
                if (CotistaAux != null)
                {
                    DR.Cells[2].Value = CotistaAux.CODCOT; DR.Cells[8].Value = "Cadastrado";
                }

                //Aplicação
                if (DR.Cells[3].Value.ToString() == "AP" && DR.Cells[2].Value.ToString().Length == 14)
                {
                    DR.Cells[8].Value = "Liberado";
                }

                //Contas Cadastradas
                if (DR.Cells[3].Value.ToString() != "AP" && DR.Cells[2].Value.ToString().Length == 14)
                {
                    long BANCO   = Convert.ToInt64(DR.Cells[7].Value.ToString().Split('-')[0]);
                    long AGENCIA = Convert.ToInt64(DR.Cells[7].Value.ToString().Split('-')[1]);
                    long CONTA   = Convert.ToInt64(DR.Cells[7].Value.ToString().Split('-')[2]);
                    long DIGITO  = Convert.ToInt64(DR.Cells[7].Value.ToString().Split('-')[3]);

                    if (Contas.Where(x => x.CODCOT == Convert.ToInt64(DR.Cells[2].Value) && BANCO == x.BANCO && AGENCIA == x.AGENCIA && CONTA == Convert.ToInt64(x.CONTA) && DIGITO == x.DIGITO).ToList().Count > 0)
                    {
                        DR.Cells[8].Value = "Conta Cadastrada";
                    }
                    else
                    {
                        DR.Cells[8].Value = "Conta Pendente";
                    }
                }

                //Saldo Para cotistas com status Conta Cadastrada
                if (DR.Cells[3].Value.ToString() != "AP" && DR.Cells[8].Value.ToString() == "Conta Cadastrada")
                {
                    //Saldo Auxiliar
                    BL_Saldo SaldoAux = Saldos.FirstOrDefault(x => x.CODCOT == Convert.ToInt64(DR.Cells[2].Value) && x.CODFUND == Convert.ToInt64(DR.Cells[5].Value) && x.TIPOREGISTRO == "Total");

                    if (SaldoAux == null)
                    {
                        continue;
                    }

                    if (DR.Cells[3].Value.ToString() == "RT")
                    {
                        DR.Cells[6].Value = Convert.ToDecimal(SaldoAux.QNTCOTAS).ToString();
                        DR.Cells[8].Value = "Liberado";
                    }
                    else if (DR.Cells[3].Value.ToString() == "R")
                    {
                        decimal Cota = new BL_Cota().UltimaCota(FundoAux.CODFUND).COTA;
                        //Valida se vai ferir saldo minimo
                        if (SaldoAux.QNTCOTAS * Cota - Convert.ToDecimal(DR.Cells[6].Value) >= FundoAux.Valorsaldominimo && Convert.ToDecimal(DR.Cells[6].Value) >= FundoAux.VALORMINRES)
                        {
                            DR.Cells[8].Value = "Liberado";
                        }
                    }
                    else if (DR.Cells[3].Value.ToString() == "RC")
                    {
                        decimal Cota = new BL_Cota().UltimaCota(FundoAux.CODFUND).COTA;
                        //Valida se vai ferir saldo minimo
                        if ((SaldoAux.QNTCOTAS - Convert.ToDecimal(DR.Cells[6].Value)) * Cota >= FundoAux.Valorsaldominimo && Convert.ToDecimal(DR.Cells[6].Value) * Cota >= FundoAux.VALORMINRES)
                        {
                            DR.Cells[8].Value = "Liberado";
                        }
                    }
                }
            }
        }
Exemple #9
0
        private void BtnImportar_Click(object sender, EventArgs e)
        {
            //Valida se todos CNPJS são iguais
            //Valida Linha a Linha
            string CNPJ = TextImporta.Lines[0].Split(';')[21];

            //Se posssuir CNPJs Diferentes
            foreach (string Line in TextImporta.Lines)
            {
                if (CNPJ != Line.Split(';')[21])
                {
                    MessageBox.Show("CNPJs Diferentes!"); return;
                }
            }

            for (int i = 0; i < Distribuidores.Count; i++)
            {
                if (Distribuidores[i].CNPJ == Convert.ToInt64(new Regex(@"[^\d]").Replace(CNPJ, "")))
                {
                    CmbBoxDistribuidor.SelectedIndex = i;
                }
            }

            if (CmbBoxDistribuidor.SelectedIndex == -1)
            {
                MessageBox.Show("CNPJ não reconhecido!");
            }

            PanelOrdem.Enabled         = true;
            CmbBoxDistribuidor.Enabled = false;

            //Valida Dados
            foreach (string Line in TextImporta.Lines)
            {
                if (Line.Split(';').Count() != 23)
                {
                    TextImporta.Text = ""; MessageBox.Show("Importação inválida!");  return;
                }
            }

            //Valida Linha a Linha
            foreach (string Line in TextImporta.Lines)
            {
                try
                {
                    if (Line.Substring(0, 2) == "ID")
                    {
                        continue;
                    }

                    string  NOME;
                    long    CPFCNPJ;
                    string  OP;
                    long    CODFUND;
                    decimal VALOR;
                    string  STATUS;
                    string  CONTA;

                    BL_FIQ FundoAux = Fundos.FirstOrDefault(x => x.CNPJ == Convert.ToInt64(new Regex(@"[^\d]").Replace(Line.Split(';')[3], "")));

                    CPFCNPJ = Convert.ToInt64(new Regex(@"[^\d]").Replace(Line.Split(';')[21], ""));

                    if (Line.Split(';')[4] == "A")
                    {
                        OP = "AP"; VALOR = Convert.ToDecimal(Line.Split(';')[6]);
                    }
                    else if (Line.Split(';')[4] == "RP")
                    {
                        OP = "R"; VALOR = Convert.ToDecimal(Line.Split(';')[6]);
                    }
                    else if (Line.Split(';')[4] == "RC")
                    {
                        OP = "RC"; VALOR = Convert.ToDecimal(Line.Split(';')[5]);
                    }
                    else
                    {
                        OP = "RT"; VALOR = 0;
                    }

                    NOME    = Line.Split(';')[2];
                    CODFUND = FundoAux.CODFUND;
                    STATUS  = "Pendente";

                    if (OP != "AP")
                    {
                        long BANCO;
                        long AGENCIA;
                        long CC;
                        long DIGITO;

                        BANCO   = Convert.ToInt16(Line.Split(';')[9]);
                        AGENCIA = Convert.ToInt16(Line.Split(';')[10]);

                        //Se não tiver digito, converte ultimo digito da  conta em digito verificador
                        if (Line.Split(';')[12].Length == 0)
                        {
                            CC     = Convert.ToInt32(Line.Split(';')[11].Substring(0, Line.Split(';')[11].Length - 1));
                            DIGITO = Convert.ToInt16(Line.Split(';')[11].Substring(Line.Split(';')[11].Length - 1, 1));
                        }
                        else
                        {
                            CC     = Convert.ToInt32(Line.Split(';')[11]);
                            DIGITO = Convert.ToInt16(Line.Split(';')[12]);
                        }

                        CONTA = BANCO + " - " + AGENCIA + " - " + CC + " - " + DIGITO;
                    }
                    else
                    {
                        CONTA = "VIA TED";
                    }

                    DataGridBoletas.Rows.Add(new string[] { NOME, CPFCNPJ.ToString(), "", OP, FundoAux.NOME, FundoAux.CODFUND.ToString(), VALOR.ToString(), CONTA, STATUS });
                }
                catch { MessageBox.Show("Linha não processada: " + Line); }
            }

            TextImporta.Text = "";
        }