private void cadastrar_Click(object sender, EventArgs e) { if (tbDescrição.Text.Trim() == "") { MessageBox.Show("Digite uma descrição."); tbDescrição.Focus(); } else if (tbValor.Text.Trim() == "") { MessageBox.Show("Digite um valor válido."); tbValor.Focus(); } else { SqlCommand achaCategoria = formularioInicial.conexaoFinanceiro.CreateCommand(); achaCategoria.CommandText = "SELECT ID_CATEGORIA FROM CATEGORIA WHERE NOME = '" + cbCategoria.Text + "'"; int numeroCategoria = ((int)achaCategoria.ExecuteScalar()); DataRow novoMovimento = formularioInicial.dadosFinanceiro.Tables["MOVIMENTO"].NewRow(); novoMovimento["Descricao"] = tbDescrição.Text; novoMovimento["Valor"] = tbValor.Text.Replace("R$", ""); novoMovimento["Data_Cadastro"] = DateTime.UtcNow; novoMovimento["Id_Categoria"] = numeroCategoria; Cs_Movimento movimento = new Cs_Movimento(tbDescrição.Text, float.Parse(tbValor.Text.Replace("R$", "")), DateTime.UtcNow, 0, 0, cbCategoria.Text); if (itemAlt != null) { foreach (DataRow registro in formularioInicial.dadosFinanceiro.Tables["MOVIMENTO"].Rows) { if (int.Parse(registro["ID_MOVIMENTO"].ToString()) == int.Parse(itemAlt.Tag.ToString())) { registro["Descricao"] = tbDescrição.Text; registro["Valor"] = float.Parse(tbValor.Text.Replace("R$", "")); registro["DATA_CADASTRO"] = DateTime.Parse(dtpData.Text); registro["ID_CATEGORIA"] = numeroCategoria; break; } } } else formularioInicial.dadosFinanceiro.Tables["MOVIMENTO"].Rows.Add(novoMovimento); adaptadorMovimento.Update(formularioInicial.dadosFinanceiro, "MOVIMENTO"); formularioInicial.carregaMovimentos(); Saldo total_saldo = new Saldo(float.Parse(tbValor.Text.Replace("R$", ""))); float total = float.Parse(tbValor.Text.Replace("R$", "")); bool negativar = formularioInicial.valor_Negativo(); if (negativar == false) // comando da inserção comando.CommandText = "UPDATE SALDO SET TOTAL = TOTAL+ (" + total + ")"; else // comando da inserção comando.CommandText = "UPDATE SALDO SET TOTAL = TOTAL- (" + total + ")"; //executa a inserção dos dados no sql comando.ExecuteNonQuery(); Close(); } }
public void AlteraMovimento(Cs_Movimento mvt, int tagItemAlterado, int idCategoria) { int i; for (i = 0; i < listViewMovimentos.Items.Count; i++) if (int.Parse(listViewMovimentos.Items[i].Tag.ToString()) == tagItemAlterado) break; listViewMovimentos.Items[i] = ConstroiItemMovimento(mvt, true, idCategoria); }
public void carregaMovimentos(int idCategoria=0) { int prc; float total; listViewMovimentos.Items.Clear(); SqlCommand comandoInicializarMovimentos = new SqlCommand(); comandoInicializarMovimentos.Connection = conexaoFinanceiro; comandoInicializarMovimentos.CommandText = "Select ID_MOVIMENTO, DESCRICAO, VALOR, DATA_CADASTRO, PARCELA, VALOR_TOTAL, ID_CATEGORIA FROM MOVIMENTO"; SqlDataReader leitorMovimentos = comandoInicializarMovimentos.ExecuteReader(); while (leitorMovimentos.Read()) { if (int.TryParse(leitorMovimentos["PARCELA"].ToString(), out prc)) { prc = int.Parse(leitorMovimentos["PARCELA"].ToString()); total = float.Parse(leitorMovimentos["VALOR_TOTAL"].ToString()); } else prc = 0; total = 0; Cs_Movimento movimento = new Cs_Movimento( (string)leitorMovimentos["DESCRICAO"], float.Parse(leitorMovimentos["VALOR"].ToString()), (DateTime)leitorMovimentos["DATA_CADASTRO"], prc, total, leitorMovimentos["ID_CATEGORIA"].ToString() ); if (idCategoria > 0) { if (idCategoria.ToString() == leitorMovimentos["ID_CATEGORIA"].ToString()) AdicionaMovimento(movimento, leitorMovimentos["ID_MOVIMENTO"].ToString(), int.Parse(leitorMovimentos["ID_CATEGORIA"].ToString())); } else AdicionaMovimento(movimento, leitorMovimentos["ID_MOVIMENTO"].ToString(), int.Parse(leitorMovimentos["ID_CATEGORIA"].ToString())); } leitorMovimentos.Close(); string nomeCategoria = ""; SqlCommand achaCategoria = conexaoFinanceiro.CreateCommand(); // Troca o ID da categoria pelo nome da categoria na exibição do ListView foreach (ListViewItem item in listViewMovimentos.Items) { achaCategoria.CommandText = "SELECT NOME FROM CATEGORIA WHERE ID_CATEGORIA = @IdCategoria"; achaCategoria.Parameters.Clear(); achaCategoria.Parameters.AddWithValue("@IdCategoria", int.Parse(item.SubItems[3].Text)); nomeCategoria = ((string)achaCategoria.ExecuteScalar()); item.SubItems[3].Text = nomeCategoria; } verificaValor(); }
private ListViewItem ConstroiItemMovimento(Cs_Movimento mvt, bool alt=false, int idCategoria=0, string idMovimento="") { ListViewItem itemDescricao = new ListViewItem(mvt.descricao); ListViewItem.ListViewSubItem itemValor = new ListViewItem.ListViewSubItem(itemDescricao, "R$" + mvt.valor.ToString()); ListViewItem.ListViewSubItem itemDataCadastro = new ListViewItem.ListViewSubItem(itemDescricao, mvt.dataCadastro.ToString()); ListViewItem.ListViewSubItem itemCategoria = new ListViewItem.ListViewSubItem(itemDescricao, mvt.categoria); string parcela, valorTotal; if (mvt.parcela <= 0) { parcela = ""; valorTotal = itemValor.Text; } else { parcela = mvt.parcela.ToString(); valorTotal = mvt.valorTotal.ToString(); } ListViewItem.ListViewSubItem itemParcela = new ListViewItem.ListViewSubItem(itemDescricao, parcela); itemDescricao.SubItems.Add(itemValor); itemDescricao.SubItems.Add(itemDataCadastro); itemDescricao.SubItems.Add(itemCategoria); itemDescricao.SubItems.Add(itemParcela); if (!alt) // Apenas atribui uma tag ao movimento para id e categoria se for uma inserção itemDescricao.Tag = idMovimento; itemDescricao.SubItems[3].Tag = idCategoria; return itemDescricao; }
public void AdicionaMovimento(Cs_Movimento mvt, string idMovimento, int idCategoria) { listViewMovimentos.Items.Add(ConstroiItemMovimento(mvt, false, idCategoria, idMovimento)); }