private void btnInserir_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(txtDescricao.Text)) { MessageBox.Show("Informe uma descrição para a despesa.", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (cmbCategoria.SelectedIndex == -1 || string.IsNullOrEmpty(cmbCategoria.Text)) { MessageBox.Show("Informe a categoria da despesa.", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (!Tools.IsNumeric(txtValor.Text)) { MessageBox.Show("Informe o valor da despesa.", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } Despesa despesa = new Despesa(); despesa.Descricao = txtDescricao.Text.Trim(); despesa.Categoria = cmbCategoria.SelectedItem as CategoriaDespesa; despesa.Valor = Convert.ToDecimal(txtValor.Text); despesa.DataDespesa = dtpDataDespesa.Value; despesa.Status = rbtPagaSim.Checked ? 1 : 0; if (cmbFornecedor.SelectedIndex != -1 && !string.IsNullOrEmpty(cmbFornecedor.Text)) { despesa.Fornecedor = cmbFornecedor.SelectedItem as Fornecedor; } try { despesa = new DespesaController().Inserir(despesa); LimparDetalhes(); BuscarDespesas(); } catch (Exception ex) { MessageBox.Show("Erro ao inserir despesa: " + ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void BuscarDespesas() { string where = " AND CAST(D.dataDespesa AS DATE) BETWEEN CAST('" + this.dataDe.ToString("yyyy-MM-dd") + "' AS DATE) AND CAST('" + this.dataAte.ToString("yyyy-MM-dd") + "' AS DATE) "; if (!string.IsNullOrEmpty(this.descricao)) { where += " AND D.descricao LIKE '%" + this.descricao.Trim() + "%' "; } if (this.pago != 2) { where += " AND D.status = " + this.pago; } if (this.listaCategorias.Count > 0) { string ids = ""; foreach (CatDespListItem item in this.listaCategorias) { ids += item.IdCategoriaDespesa + ","; } ids = ids.Substring(0, ids.Length - 1); where += " AND D.idCategoriaDespesa IN (" + ids + ") "; } if (this.listaFornecedores.Count > 0) { string ids = ""; foreach (FornListItem item in this.listaFornecedores) { ids += item.IdFornecedor + ","; } ids = ids.Substring(0, ids.Length - 1); where += " AND D.idFornecedor IN (" + ids + ") "; } List <Despesa> lista = null; try { lista = new DespesaController().ListarTodos(where); } catch { } dgvDespesas.Rows.Clear(); decimal totalDespesas = 0m; decimal totalDespesasPagas = 0m; decimal totalDespesasNaoPagas = 0m; if (lista != null) { foreach (Despesa despesa in lista) { dgvDespesas.Rows.Add(despesa.IdDespesa, despesa.DataDespesa, despesa.Descricao, despesa.Categoria.Descricao, despesa.Fornecedor != null ? despesa.Fornecedor.Nome : "", despesa.Valor, despesa.Status == 1 ? Properties.Resources.ic_empty_24 : Properties.Resources.ic_dollar_preto_24, Properties.Resources.ic_excluir_preto_24, despesa.Status); if (despesa.Status == 0) { dgvDespesas.Rows[dgvDespesas.Rows.Count - 1].DefaultCellStyle.ForeColor = Color.FromArgb(244, 67, 54); } totalDespesas += despesa.Valor; if (despesa.Status == 0) { totalDespesasNaoPagas += despesa.Valor; } else { totalDespesasPagas += despesa.Valor; } } dgvDespesas.ClearSelection(); } lblTotalDespesasGeral.Text = totalDespesas.ToString("C2"); lblTotalDespesasNaoPagas.Text = totalDespesasNaoPagas.ToString("C2"); lblTotalDespesasPagas.Text = totalDespesasPagas.ToString("C2"); }