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); }
//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; }
//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() }); } } }
//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(); } }
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!"); } }
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"; } } } } }
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 = ""; }