//Devolve totais filtrados por nome natureza em periodo especifico private List <object> carregaFiltroNomePeriodoDTG() { //Obter as datas do periodo selecionado DateTime dtInicio = Convert.ToDateTime(dtpInicial.Text); DateTime dtFinal = Convert.ToDateTime(dtpFinal.Text); using (var objGerenciador = new dbGerenciadorEntities()) { //Lista com o retorno List <object> retornoDtg = new List <object>(); //Carregamos todas as natureza var qNatureza = from natureza in objGerenciador.Natureza where (natureza.nome == cmbNat.Text) select natureza; var ListaNatureza = qNatureza.ToList(); //Percorremos todas as natureza foreach (Natureza loopNat in ListaNatureza) { using (var objTituloNat = new dbGerenciadorEntities()) { //Para cada natureza selecionamos todos os titulos e agrupamos //natureza por valor criando um novo objeto com nome natureza e total var query = from titulo in objTituloNat.Titulo where (titulo.natureza == loopNat.nome && titulo.vencimento <= dtFinal && titulo.vencimento >= dtInicio) group titulo.valor by titulo.natureza into tNatureza select new { nome = (loopNat.nome), saldoNat = (tNatureza.Sum(titulo => titulo)) }; //Se achou titulo para natureza if (query.ToList().Count != 0) { //Devolve soma da natureza retornoDtg.Add(query.First()); } //Tem a natureza mas não tem titulo devolve valor natureza zerado else { //cria o objeto natureza zerado var retornoZero = new { nome = (loopNat.nome), saldoNat = Convert.ToDecimal(0) }; //Adiciona este objeto na lista retornoDtg.Add(retornoZero); } } //Fim segundo using } //Fim foreach //devolvemos a lista return(retornoDtg); } }
//Obtem as estimativas de saldo diponivel considerando os titulos public void calculaSaldo() { decimal somaSaldo = 0; decimal somaTituloMes = 0; decimal somaTituloAno = 0; //Percorre o saldo das contas no datagridview foreach (DataGridViewRow linha in dtgSaldoContas.Rows) { somaSaldo = somaSaldo + Convert.ToDecimal(linha.Cells[4].Value); } //Obtem o valor dos titulos de um mês using (var objGerenciador = new dbGerenciadorEntities()) { DateTime umMes = DateTime.Now.AddMonths(1).Date; var qTituloMes = from tituloMes in objGerenciador.Titulo where (tituloMes.vencimento <= umMes && tituloMes.baixado == null) select tituloMes.valor; var ListaTituloMes = qTituloMes.ToList(); if (ListaTituloMes.Count != 0) { foreach (Decimal tit in ListaTituloMes) { somaTituloMes += tit; } } } //Obtem o valor dos titulos de um ano using (var objGerenciador = new dbGerenciadorEntities()) { DateTime umAno = DateTime.Now.AddYears(1).Date; var qTituloAno = from tituloAno in objGerenciador.Titulo where (tituloAno.vencimento <= umAno && tituloAno.baixado == null) select tituloAno.valor; var ListaTituloAno = qTituloAno.ToList(); if (ListaTituloAno.Count != 0) { foreach (Decimal tit in ListaTituloAno) { somaTituloAno += tit; } } } lblProximo.Text = string.Format("{0:C}", (somaSaldo + somaTituloMes)); lblAno.Text = string.Format("{0:C}", (somaSaldo + somaTituloAno)); }
//Função carrega o combo com as contas cadastradas private void carregaComboConta() { using (var objGerenciador = new dbGerenciadorEntities()) { var qConta = from conta in objGerenciador.Conta select conta; var ListaConta = qConta.ToList(); cmbContaExtrato.DataSource = ListaConta; cmbContaExtrato.DisplayMember = "numero"; cmbContaExtrato.ValueMember = "numero"; } }
//Load o combo Natureza menu pesquisa private void carregaComboNat() { using (var objGerenciador = new dbGerenciadorEntities()) { var query = from conv in objGerenciador.Natureza select conv; var ListaNatureza = query.ToList(); cmbNaturezaPesq.DataSource = ListaNatureza; cmbNaturezaPesq.DisplayMember = "nome"; cmbNaturezaPesq.ValueMember = "nome"; } }
//Carrega descrição do banco no textbox public void loadDescbanco() { //Preenche a descrição do banco using (var objGerenciador1 = new dbGerenciadorEntities()) { int numeroBanco = Convert.ToInt32(cmbNumeroBanco.SelectedValue); var retDescr = (from nBanco in objGerenciador1.Banco where nBanco.numero == numeroBanco select nBanco.descricao).First(); txtNomeBanco.Text = retDescr; } }
//Verifica primeira inicialização public bool valExisteUsuario() { using (var objGerenciador = new dbGerenciadorEntities()) { var query = from conv in objGerenciador.usuario select conv; var ListaFinal = query.ToList(); if (ListaFinal.Count == 0) { return(false); } } return(true); }
//Função que carrega todos os titulos public object carregaTitulos() { try { using (var objGerenciador = new dbGerenciadorEntities()) { DateTime hoje = DateTime.Now.Date; var query = from conv in objGerenciador.Titulo join convRel in objGerenciador.Relacao on conv.relacao equals convRel.id orderby conv.vencimento //descending select new { conv.id, conv.vencimento, conv.numero, relacao = (convRel.Nome), conv.natureza, conv.parcela, conv.valor, conv.descricao, conv.baixado, conv.dta_baixa, conv.conta_baixa, conv.codigoBarras }; var ListaFinal = query.ToList(); if (ListaFinal.Count != 0) { return(ListaFinal); } else { List <Titulo> lstVazia = new List <Titulo>(); return(lstVazia); } } } catch (Exception ex) { List <Titulo> lstVazia = new List <Titulo>(); MessageBox.Show("Erro: " + ex.Message); return(lstVazia); } }
//Excluir o usuario private void btnExcluir_Click(object sender, EventArgs e) { if (MessageBox.Show("Deseja mesmo excluir o usuario selecionado?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == System.Windows.Forms.DialogResult.Yes) { try { //Verifica se temos mais de uma conta (somente uma não exclui) using (var objGerenciador1 = new dbGerenciadorEntities()) { var query = from conv in objGerenciador1.usuario select conv; var ListaFinal = query.ToList(); if (ListaFinal.Count > 1) { foreach (DataGridViewRow linha in dtgUsuario.SelectedRows) { string idusuario = Convert.ToString(linha.Cells[0].Value); using (var objGerenciador = new dbGerenciadorEntities()) { var mensagem = (from deleteUsuario in objGerenciador.usuario where (deleteUsuario.nome == idusuario) select deleteUsuario).First(); objGerenciador.DeleteObject(mensagem); objGerenciador.SaveChanges(); dtgUsuario.AutoGenerateColumns = false; dtgUsuario.DataSource = carregaUser(); MessageBox.Show("Usuário excluido!", "Aviso"); } } } else { MessageBox.Show("Só existe uma conta de usuário cadastrada, para exclusão precisamos de no minimo 2 contas", "Aviso"); } } } catch (Exception ex) { MessageBox.Show("Erro: " + ex.Message, "Aviso"); } } }
//Carrega o tipo da relação (Fornecedor ou Cliente) private void loadTipo() { using (var objGerenciador = new dbGerenciadorEntities()) { int relacao = Convert.ToInt32(cmbRelacaoTitulo.SelectedValue); var qRelacao = from tipo in objGerenciador.Relacao where tipo.id == relacao select tipo.Tipo; var ListaFinal = qRelacao.ToList(); cmbTipoTitulo.DataSource = ListaFinal; cmbTipoTitulo.DisplayMember = "Tipo"; } }
//Devolve true ou false verificando se existe conta cadastrada public bool temConta() { using (var objGerenciador = new dbGerenciadorEntities()) { var qContas = from contas in objGerenciador.Conta select contas; var ListaFinal = qContas.ToList(); if (ListaFinal.Count == 0) { return(false); } } return(true); }
//Confirma logitbm private void btnConfirmaLogin_Click(object sender, EventArgs e) { try { using (var objGerenciador = new dbGerenciadorEntities()) { var qUsuario = from conv in objGerenciador.usuario where conv.nome == txtUsuario.Text select new { conv.nome, conv.senha }; var ListaFinal = qUsuario.ToList(); if (ListaFinal.Count == 0) { MessageBox.Show("Usuário ou senha invalidos", "Aviso"); } else { //Verificar a senha em etapas com varias condições ggRt04 val = new ggRt04(); if (val.somaSaldo(txtSenha.Text) == ListaFinal[0].senha) { frmPrincipal inicia = new frmPrincipal(); this.Hide(); inicia.ShowDialog(); Application.Exit(); } else { MessageBox.Show("Usuário ou senha invalidos", "Aviso"); } } } } catch (Exception ex) { MessageBox.Show("Erro:" + ex.Message); } }
//Carrega descrição agencia public void loadDescAgencia() { //Preenche a descrição do banco using (var objGerenciador = new dbGerenciadorEntities()) { int numeroAgencia = Convert.ToInt32(cmbAgenciaNumero.SelectedValue); if (cmbAgenciaNumero.Text != "") { var retDescr = (from nAgencia in objGerenciador.Agencia where nAgencia.numero == numeroAgencia select nAgencia.descricao).First(); txtAgenciaDescricao.Text = retDescr; } } }
//Confirma e grava agência no banco private void btnConfirmar_Click(object sender, EventArgs e) { //Chamar a função de validação dos campos (validação centralizada em uma classe) Validar valida = new Validar(); if (valida.valCampoVazio(this.Controls) == true) { //Incluir if (_altera == false) { Gerenciador.Data.dbGerenciadorEntities objGerenciador = new Gerenciador.Data.dbGerenciadorEntities(); var objAgencia = new Gerenciador.Data.Agencia(); objAgencia.numero = Convert.ToInt32(txtNumeroAgencia.Text); objAgencia.banco = Convert.ToInt32(cmbBancoCadAgencia.Text); objAgencia.descricao = txtDescAgencia.Text; objGerenciador.AddToAgencia(objAgencia); objGerenciador.SaveChanges(); MessageBox.Show("Agência Cadastrada com sucesso!", "Cadastro", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2); this.Close(); } //ALTERAR else { using (var objGerenciador = new dbGerenciadorEntities()) { var objAgencia = new Gerenciador.Data.Agencia(); objAgencia = (from conv in objGerenciador.Agencia where conv.numero == _numeroAG select conv).First(); objAgencia.numero = Convert.ToInt32(txtNumeroAgencia.Text); objAgencia.banco = Convert.ToInt32(cmbBancoCadAgencia.Text); objAgencia.descricao = txtDescAgencia.Text; objGerenciador.SaveChanges(); MessageBox.Show("Agência alterada com sucesso!", "Cadastro", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2); this.Close(); } } } }
//Realiza a pesquisa avançada (Utilizando todos os termos definidos private void toolStripButton6_Click(object sender, EventArgs e) { try { if (txtValor.Text == "") { using (var objGerenciador = new dbGerenciadorEntities()) { DateTime dtPesq = Convert.ToDateTime(dtpVencimento.Text); var query = from conv in objGerenciador.Titulo where conv.vencimento == dtPesq && conv.natureza == cmbNaturezaPesq.Text select conv; var ListaFinal = query.ToList(); dtgTitulo.DataSource = ListaFinal; } } else { using (var objGerenciador = new dbGerenciadorEntities()) { DateTime dtPesq = Convert.ToDateTime(dtpVencimento.Text); Decimal valor_po = Convert.ToDecimal(txtValor.Text); Decimal valor_ne = (Convert.ToDecimal(txtValor.Text) * -1); var query = from conv in objGerenciador.Titulo where ((conv.valor == valor_po || conv.valor == valor_ne) && conv.vencimento == dtPesq && conv.natureza == cmbNaturezaPesq.Text) select conv; var ListaFinal = query.ToList(); dtgTitulo.DataSource = ListaFinal; } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
//Função que retorna list com os titulos a vencer data atual até 5 dias public object carregaProximosVctos() { try { using (var objGerenciador = new dbGerenciadorEntities()) { DateTime dtFinal = DateTime.Now.AddDays(6).Date; DateTime dtHoje = DateTime.Now.Date; var query = from conv in objGerenciador.Titulo join convRel in objGerenciador.Relacao on conv.relacao equals convRel.id where (conv.vencimento >= dtHoje && conv.vencimento < dtFinal && conv.tipo == "FORNECEDOR" && conv.baixado == null) select new { conv.vencimento, relacao = (convRel.Nome), conv.valor }; var ListaFinal = query.ToList(); if (ListaFinal.Count != 0) { return(ListaFinal); } else { List <Titulo> lstVazia = new List <Titulo>(); return(lstVazia); } } } catch (Exception ex) { List <Titulo> lstVazia = new List <Titulo>(); MessageBox.Show("Erro: " + ex.Message); return(lstVazia); } }
//Excluir natureza private void btnExcluir_Click(object sender, EventArgs e) { if (MessageBox.Show("Deseja mesmo excluir o natureza selecionada?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == System.Windows.Forms.DialogResult.Yes) { try { //Verifica se temos mais de uma conta (somente uma não exclui) using (var objGerenciador1 = new dbGerenciadorEntities()) { var query = from conv in objGerenciador1.Natureza select conv; var ListaFinal = query.ToList(); if (ListaFinal.Count > 0) { foreach (DataGridViewRow linha in dtgNatureza.SelectedRows) { string idNat = Convert.ToString(linha.Cells[0].Value); using (var objGerenciador = new dbGerenciadorEntities()) { var mensagem = (from deleteNat in objGerenciador.Natureza where (deleteNat.nome == idNat) select deleteNat).First(); objGerenciador.DeleteObject(mensagem); objGerenciador.SaveChanges(); dtgNatureza.AutoGenerateColumns = false; dtgNatureza.DataSource = carregaNat(); MessageBox.Show("Natureza excluida!", "Aviso"); } } } } } catch (Exception ex) { MessageBox.Show("Erro: " + ex.Message); } } }
//Confirmar gravação no banco private void btnConfirmar_Click(object sender, EventArgs e) { //Chamar a função de validação dos campos Validar valida = new Validar(); if (valida.valCampoVazio(this.Controls) == true) { if (_altera == false) { //Incluir Gerenciador.Data.dbGerenciadorEntities objGerenciador = new Gerenciador.Data.dbGerenciadorEntities(); var objBanco = new Gerenciador.Data.Banco(); objBanco.numero = Convert.ToInt32(txtNumeroBanco.Text); objBanco.descricao = txtNomeBanco.Text; objGerenciador.AddToBanco(objBanco); objGerenciador.SaveChanges(); MessageBox.Show("Banco Cadastrado com sucesso!", "Cadastro", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2); this.Close(); } //Alterar else { using (var objGerenciador = new dbGerenciadorEntities()) { var objBanco = new Gerenciador.Data.Banco(); objBanco = (from conv in objGerenciador.Banco where conv.numero == _numero select conv).First(); objBanco.descricao = txtNomeBanco.Text; objBanco.numero = Convert.ToInt32(txtNumeroBanco.Text); objGerenciador.SaveChanges(); MessageBox.Show("Banco Alterado com sucesso!", "Cadastro", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2); this.Close(); } } } }
//Função que retorna list com os titulos vencidos public object carregaVencidos() { try { using (var objGerenciador = new dbGerenciadorEntities()) { DateTime hoje = DateTime.Now.Date; var query = from conv in objGerenciador.Titulo join convRel in objGerenciador.Relacao on conv.relacao equals convRel.id where (conv.vencimento < hoje && conv.baixado == null) //Menores que hoje e não baixados select new { conv.vencimento, relacao = (convRel.Nome), conv.valor, conv.natureza, conv.descricao, }; var ListaFinal = query.ToList(); if (ListaFinal.Count != 0) { return(ListaFinal); } else { //Devolve uma lista vazia List <Titulo> lstVazia = new List <Titulo>(); return(lstVazia); } } } catch (Exception ex) { List <Titulo> lstVazia = new List <Titulo>(); MessageBox.Show("Erro: " + ex.Message); return(lstVazia); } }
//Realiza a pesquisa tendo como filtro o valor do selecionado no combo private void btnPesqNatureza_Click(object sender, EventArgs e) { try { using (var objGerenciador = new dbGerenciadorEntities()) { var query = from conv in objGerenciador.Titulo where conv.natureza == cmbNaturezaPesq.Text select conv; var ListaFinal = query.ToList(); dtgTitulo.DataSource = ListaFinal; } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
List <usuario> carregaUser() { try { using (var objGerenciador = new dbGerenciadorEntities()) { var query = from conv in objGerenciador.usuario select conv; var ListaFinal = query.ToList(); return(ListaFinal); } } catch (Exception ex) { List <usuario> padrao = new List <usuario>(); MessageBox.Show("Erro: " + ex.Message); return(padrao); } }
//Realiza a pesquisa tendo como filtro a data selecionada DataTime private void btnPesqVencimento_Click(object sender, EventArgs e) { try { using (var objGerenciador = new dbGerenciadorEntities()) { DateTime dtPesq = Convert.ToDateTime(dtpVencimento.Text); var query = from conv in objGerenciador.Titulo where conv.vencimento == dtPesq select conv; var ListaFinal = query.ToList(); dtgTitulo.DataSource = ListaFinal; } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
//Realiza a pesquisa tendo como filtro o valor selecionado private void btnValorPesq_Click(object sender, EventArgs e) { try { using (var objGerenciador = new dbGerenciadorEntities()) { Decimal valor_po = Convert.ToDecimal(txtValor.Text); Decimal valor_ne = (Convert.ToDecimal(txtValor.Text) * -1); var query = from conv in objGerenciador.Titulo where (conv.valor == valor_po || conv.valor == valor_ne) select conv; var ListaFinal = query.ToList(); dtgTitulo.DataSource = ListaFinal; } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
//Confirma cadastro da relação private void btnOkRelacao_Click(object sender, EventArgs e) { //Validar campos preechidos //Função de validação Validar valida = new Validar(); if (valida.valCampoVazio(this.Controls) == true) { //Verificar se a relação já existe using (var objGerenciador = new dbGerenciadorEntities()) { var query = from conv in objGerenciador.Relacao where (conv.Nome == txtNomeRelacao.Text && conv.Tipo == cmbTipoRelacao.Text) select conv; var ListaFinal = query.ToList(); //Se não tiver cadastrada realiza o cadastro if (ListaFinal.Count == 0) { Gerenciador.Data.dbGerenciadorEntities objGerenciador1 = new Gerenciador.Data.dbGerenciadorEntities(); var objRelacao = new Gerenciador.Data.Relacao(); objRelacao.Nome = txtNomeRelacao.Text; objRelacao.Tipo = cmbTipoRelacao.Text; objGerenciador1.AddToRelacao(objRelacao); objGerenciador1.SaveChanges(); MessageBox.Show("Relação cadastrada com sucesso", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1); txtNomeRelacao.Text = ""; txtNomeRelacao.Focus(); } else { MessageBox.Show("Relação já cadastrada", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1); txtNomeRelacao.Text = ""; } } } }
//Devolve uma lista com os bancos cadastrados public List <Banco> gridBanco() { using (var objGerenciador = new dbGerenciadorEntities()) { var qBanco = from banco in objGerenciador.Banco select banco; var ListaBanco = qBanco.ToList(); //Verifica se houve retorno if (ListaBanco.Count == 0) { //Não tem banco devolve lista em branco List <Banco> listaVazia = new List <Banco>(); return(listaVazia); } else { return(ListaBanco); } } }
//Devolve uma lista com as contas cadastradas public List <Conta> gridConta() { using (var objGerenciador = new dbGerenciadorEntities()) { var qConta = from pConta in objGerenciador.Conta select pConta; var ListaConta = qConta.ToList(); //Verifica se houve retorno if (ListaConta.Count == 0) { //Não tem banco devolve lista em branco List <Conta> listaVazia = new List <Conta>(); return(listaVazia); } else { return(ListaConta); } } }
//Carrega combo das agências baseado no banco se não existe exibe o frmCadAgencia public void loadComboAgencia() { //Realiza a busca no banco using (var objGerenciador = new dbGerenciadorEntities()) { int nBanco = Convert.ToInt32(cmbNumeroBanco.SelectedValue); var query = from conv in objGerenciador.Agencia where conv.banco == nBanco select conv; var ListaAgencia = query.ToList(); //Verifica se tem retorno if (ListaAgencia.Count == 0) { //Se não tiver retorno abre o formulario de cadastro if (MessageBox.Show("Nenhuma Agência está cadastrada" + Environment.NewLine + " Gostaria de cadastrar uma agência agora?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == System.Windows.Forms.DialogResult.Yes) { frmCadAgencia cadAgencia = new frmCadAgencia(cmbNumeroBanco.SelectedValue.ToString()); cadAgencia.ShowDialog(); loadComboAgencia(); } } else { //Se tiver o banco preenche combobox cmbAgenciaNumero.DataSource = ListaAgencia; cmbAgenciaNumero.DisplayMember = "numero"; cmbAgenciaNumero.ValueMember = "numero"; } } }
//Envia o e-mail private void btnEnviarEmail_Click(object sender, EventArgs e) { if (Convert.ToDateTime(dtpFinal.Text) < Convert.ToDateTime(dtpIncio.Text)) { MessageBox.Show("Data final menor que data inicial!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } else { try { //Obtem os dados da conta selecionada using (var objGerenciador = new dbGerenciadorEntities()) { var qdadosEmail = from conv in objGerenciador.email where conv.email1 == cmbDestEmail.Text select new { conv.email1, conv.smtp, conv.porta, conv.senha }; var ListaDados = qdadosEmail.ToList(); if (ListaDados.Count != 0) { //Informações para envio ( Começa o envio ) ggRt04 val = new ggRt04(); SmtpClient client = new SmtpClient(); client.Host = ListaDados[0].smtp; client.Port = ListaDados[0].porta; client.EnableSsl = false; client.Credentials = new NetworkCredential(ListaDados[0].email1, val.retornaSaldo(ListaDados[0].senha)); MailMessage mensagem = new MailMessage(); mensagem.Sender = new MailAddress(ListaDados[0].email1, "Gerenciador Financeiro"); mensagem.From = new MailAddress(ListaDados[0].email1, "Gerenciador Financeiro"); mensagem.To.Add(new MailAddress(ListaDados[0].email1, "Gerenciador Financeiro")); mensagem.Subject = Convert.ToString("Pagamentos de: " + dtpIncio.Text + " até: " + dtpFinal.Text); //Monta o corpo do email apos validar colocar em uma função separada using (var objGerenciador1 = new dbGerenciadorEntities()) { DateTime inicio = dtpIncio.Value; DateTime final = dtpFinal.Value; string body = "<h1>Contas á pagar</h1> <p> </p> <table border=1><tr>"; body += "<td><b>VENCIMENTO</b></td><td><b>FORNECEDOR</b></td><td><b>NATUREZA</b></td>"; body += "<td><b>VALOR</b></td> <td><b>COD.BARRAS</b></td> <td><b>DESCRIÇÂO</b></td> </tr>"; //Busca os titulos no periodo filtrado var qTitulo = from cTitulo in objGerenciador1.Titulo join cRelacao in objGerenciador1.Relacao on cTitulo.relacao equals cRelacao.id orderby cTitulo.vencimento where (cTitulo.vencimento >= inicio && cTitulo.vencimento <= final && cTitulo.baixado == null) select new { cTitulo.vencimento, cRelacao.Nome, cTitulo.natureza, cTitulo.valor, cTitulo.descricao, cTitulo.codigoBarras }; var ListaFinal = qTitulo.ToList(); if (ListaFinal.Count != 0) { //Percorre os titulos foreach (var dados in ListaFinal) { //Algumas formatações nos valores string Valor = string.Format("{0:C}", dados.valor); string Vencimento = string.Format("{0:D}", dados.vencimento); //Acrescenta no corpo da mensagem body += Convert.ToString("<tr><td>" + Vencimento + "</td><td>" + dados.Nome + "</td><td>" + dados.natureza + "</td><td>" + Valor + "</td><td>" + dados.codigoBarras + "</td><td>" + dados.descricao + "</td></tr>"); } body += "</table>"; mensagem.Body = body; mensagem.IsBodyHtml = true; mensagem.Priority = MailPriority.High; //Envia a mensagem client.Send(mensagem); MessageBox.Show("E-mail enviado com sucesso!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1); this.Close(); } //Quando retorno da lista de titulos zerada else { MessageBox.Show("Não existe titulos para o perido informado", "Aviso"); this.Close(); } } } //Caso não tenha conta e-mail else { MessageBox.Show("Nenhuma conta de e-mail cadastrada", "Aviso"); this.Close(); } } } catch (Exception ex) { MessageBox.Show("Erro: " + ex.Message); } } }
//Confirmar inclusão private void btnConfirmaTitulo_Click(object sender, EventArgs e) { //Função de validação Validar valida = new Validar(); if (valida.valCampoVazio(this.Controls) == true) { if (Convert.ToInt32(txtParcelaTitulo.Text) >= 1) { //Carrega o tipo do titulo correto loadTipo(); //Verifica se é para alterar ou para incluir //ALTERAR if (altera == true) { //Acerta o valor de acordo com a operação (Positivo ou Negativo) acertaPosNeg(); //Prorroga Vencimento proximo dia util DateTime alteraVencimento = fimSemana(); using (var objGerenciador = new dbGerenciadorEntities()) { var objTitulo = new Gerenciador.Data.Titulo(); //Seleciona o registro a ser alterado pela sua ID objTitulo = (from conv in objGerenciador.Titulo where conv.id == _id select conv).First(); //Alterações objTitulo.numero = Convert.ToInt32(txtNumeroTitulo.Text); objTitulo.relacao = Convert.ToInt32(cmbRelacaoTitulo.SelectedValue); objTitulo.tipo = Convert.ToString(cmbTipoTitulo.Text); objTitulo.qtd_parcela = Convert.ToInt32(txtParcelaTitulo.Text); objTitulo.valor = Convert.ToDecimal(txtValorTitulo.Text); objTitulo.vencimento = alteraVencimento; objTitulo.parcela = Convert.ToInt32(txtParcelaTitulo.Text); objTitulo.natureza = Convert.ToString(cmbNaturezaTitulo.SelectedValue); objTitulo.descricao = txtDescricaoTitulo.Text; objTitulo.codigoBarras = txtCodBar.Text; //Grava no banco objGerenciador.SaveChanges(); MessageBox.Show("Titulo Alterado com sucesso!", "Alterações", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2); //Apos alterar fecha ou reinicializa o formulario if (vemOfx == true) { reloadForm(); } else { this.Close(); } } } //INCLUIR else { //Verifica se o titulo já não esta cadastrado using (var objGerenciador1 = new dbGerenciadorEntities()) { int tituloNumero = Convert.ToInt32(txtNumeroTitulo.Text); int relacaoNumero = Convert.ToInt32(cmbRelacaoTitulo.SelectedValue); decimal valor = Convert.ToDecimal(txtValorTitulo.Text); DateTime vcto = Convert.ToDateTime(dtpVctoTitulo.Text); var query = from conv in objGerenciador1.Titulo where (conv.numero == tituloNumero && conv.relacao == relacaoNumero && conv.valor == valor && conv.vencimento == vcto) select conv; var ListaBanco = query.ToList(); //Titulo não está cadastrado if (ListaBanco.Count == 0) { //Acerta o valor de acordo com a operação (Positivo ou Negativo) acertaPosNeg(); //Prorroga o titulo proximo dia util DateTime vencimento = new DateTime(); vencimento = fimSemana(); //Realizar loop de acordo com numero de parcelas int numeroParcelas = Convert.ToInt32(txtParcelaTitulo.Text); for (int i = 0; i < numeroParcelas; i++) { //Incluir Gerenciador.Data.dbGerenciadorEntities objGerenciador = new Gerenciador.Data.dbGerenciadorEntities(); var objTitulo = new Gerenciador.Data.Titulo(); objTitulo.numero = Convert.ToInt32(txtNumeroTitulo.Text); objTitulo.relacao = Convert.ToInt32(cmbRelacaoTitulo.SelectedValue); objTitulo.tipo = Convert.ToString(cmbTipoTitulo.Text); objTitulo.qtd_parcela = Convert.ToInt32(txtParcelaTitulo.Text); objTitulo.valor = (Convert.ToDecimal(txtValorTitulo.Text) / numeroParcelas); // Valor total divido pelas parcelas objTitulo.vencimento = vencimento; objTitulo.parcela = (i + 1); //Incrementa a parcela objTitulo.natureza = Convert.ToString(cmbNaturezaTitulo.SelectedValue); objTitulo.descricao = txtDescricaoTitulo.Text; objTitulo.codigoBarras = txtCodBar.Text; //Realiza a inclusão objGerenciador.AddToTitulo(objTitulo); objGerenciador.SaveChanges(); //Incrementa mês vencimento = vencimento.AddMonths(1); //Joga para proximo dia util quando sabado ou domingo if (vencimento.DayOfWeek == DayOfWeek.Saturday) { vencimento = vencimento.AddDays(2); } else if (vencimento.DayOfWeek == DayOfWeek.Sunday) { vencimento = vencimento.AddDays(1); } } MessageBox.Show("Titulo Cadastrado com sucesso!", "Cadastro", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2); //Verifica de onde vem OFX ou manual e da o tratamento if (vemOfx == false) { reloadForm(); } else { this.Close(); } } else { //Mensagem caso o titulo exista MessageBox.Show("Titulo já existe verifique!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button2); } } } } else { MessageBox.Show("Parcela não pode ser menor que 1", "Aviso"); txtParcelaTitulo.Text = ""; txtParcelaTitulo.Focus(); } } }
//Obtem as estimativas de saldo diponivel considerando os titulos public void calculaSaldo() { decimal somaSaldo = 0; decimal somaTituloMes = 0; decimal somaTituloAno = 0; //Percorre o saldo das contas no datagridview foreach (DataGridViewRow linha in dtgSaldoContas.Rows) { somaSaldo = somaSaldo + Convert.ToDecimal(linha.Cells[4].Value); } //Obtem o valor dos titulos de um mês using (var objGerenciador = new dbGerenciadorEntities()) { // Alteração dia 22/06/2013 // Na tela dashboard no campo Disponivel Mês a logica estava errada // pegava a data atual adicionava um mês a data atual e buscava os titulos //Pega a data atual e adciona um mês //DateTime umMes = DateTime.Now.AddMonths(1).Date; //Obtem o ultimo dia do mês corrente CORRETO DateTime ultimoDia = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month)); var qTituloMes = from tituloMes in objGerenciador.Titulo where (tituloMes.vencimento <= ultimoDia && tituloMes.baixado == null) select tituloMes.valor; var ListaTituloMes = qTituloMes.ToList(); if (ListaTituloMes.Count != 0) { foreach (Decimal tit in ListaTituloMes) { somaTituloMes += tit; } } } //Obtem o valor dos titulos de um ano using (var objGerenciador = new dbGerenciadorEntities()) { DateTime umAno = DateTime.Now.AddYears(1).Date; var qTituloAno = from tituloAno in objGerenciador.Titulo where (tituloAno.vencimento <= umAno && tituloAno.baixado == null) select tituloAno.valor; var ListaTituloAno = qTituloAno.ToList(); if (ListaTituloAno.Count != 0) { foreach (Decimal tit in ListaTituloAno) { somaTituloAno += tit; } } } lblProximo.Text = string.Format("{0:C}", (somaSaldo + somaTituloMes)); lblAno.Text = string.Format("{0:C}", (somaSaldo + somaTituloAno)); }
//Função que retorna os saldos das contas public List <object> saldoContas() { //Lista guarda as contas e os saldos ela que será retornada List <object> saldoContas = new List <object>(); using (var objGerenciador = new dbGerenciadorEntities()) { //Selecionar todas as contas var contas = from conta in objGerenciador.Conta select conta; var ListaContas = contas.ToList(); //Verifica se retornou alguma conta if (ListaContas.Count != 0) { //Percorre cada conta foreach (Conta loopConta in ListaContas) { //Obtem numero do banco //Variavel que obtem o numero do banco int bancoNome; using (var objNumeroBanco = new dbGerenciadorEntities()) { var queryNomeBanco = from nomeBanco in objNumeroBanco.Banco join agencia in objNumeroBanco.Agencia on nomeBanco.numero equals agencia.banco where (agencia.numero == loopConta.agencia) select nomeBanco.numero; var listaNome = queryNomeBanco.ToList(); bancoNome = listaNome[0]; } //Verifica se a conta tem movimento using (var objTemMovimento = new dbGerenciadorEntities()) { var query = from mov in objTemMovimento.Movimento where (mov.conta == loopConta.numero) select mov; var ListaTemMovimento = query.ToList(); //Se tiver movimento if (ListaTemMovimento.Count != 0) { //Começo quando tem movimento using (var objSaldoConta = new dbGerenciadorEntities()) { //Obter saldos das contas var querySaldo = from movimento in objSaldoConta.Movimento where (movimento.conta == loopConta.numero) group movimento.valor by movimento.conta into tSaldo select new { banco = bancoNome, loopConta.agencia, loopConta.numero, loopConta.descricao, saldo = (loopConta.saldo + tSaldo.Sum(movimento => movimento)) }; saldoContas.Add(querySaldo.First()); }//Fim quando tem movimento } //Quando a conta não tem movimento devolve o saldo else { var retornoPadrao = new { banco = bancoNome, loopConta.agencia, loopConta.numero, loopConta.descricao, loopConta.saldo }; saldoContas.Add(retornoPadrao); } } } } //Fim do if que verifica as contas(se existem) } //Fim primeiro using return(saldoContas); }