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(); }