예제 #1
0
        private void btnFilter_Click(object sender, EventArgs e)
        {
            int month = frmMain.CurrentMonth;
            int year  = frmMain.CurrentYear;

            StringBuilder clause = new StringBuilder();

            if (cboFilter.Text == "Pendapatan")
            {
                clause.Append("t.Type ='Income' AND ");
            }
            else if (cboFilter.Text == "Pengeluaran")
            {
                clause.Append("t.Type IN ('Expense','Payment') AND ");
            }
            else if (cboFilter.Text == "Transfer Bank")
            {
                clause.Append("t.Type='Transfer' AND ");
            }
            else if (cboFilter.Text == "Penarikan Tunai")
            {
                clause.Append("t.Type='Withdrawl' AND ");
            }
            else if (cboFilter.Text == "Setor Tunai")
            {
                clause.Append("t.Type='Deposit' AND ");
            }


            if (chkDate.Checked)
            {
                clause.Append("Date BETWEEN '" + dtpFrom.Value.ToString("MM/dd/yyyy") + "' AND '" + dtpTo.Value.ToString("MM/dd/yyyy") + "'");
            }
            else
            {
                clause.Append("DATEPART(month,Date)=" + month + " AND DATEPART(year,Date)=" + year);
            }

            if (chkCategory.Checked)
            {
                clause.Append(" AND c.Name='" + cboCategory.Text.TrimStart() + "'");
            }

            if (chkAccount.Checked)
            {
                clause.Append(" AND a.Name='" + cboAccount.Text + "'");
            }

            if (chkDescription.Checked)
            {
                clause.Append(" AND Description LIKE '%" + txtDescription.Text.Replace("'", string.Empty) + "%'");
            }

            if (chkNotes.Checked)
            {
                clause.Append(" AND Notes LIKE '%" + txtNotes.Text.Replace("'", string.Empty) + "%'");
            }

            List <Model.Transaction> transactions = transactionRepository.GetByFilter(clause.ToString());

            frmMain.FilterTransaction(transactions);

            frmMain.DisableEditDelete();
        }