private void btnSearch_Click(object sender, EventArgs e)
        {
            ExpenseTransactionBL bl = new ExpenseTransactionBL();
            string searchText       = ddlDebitType.Text;
            var    lstExpenseTran   = new List <ExpenseTransactionDTO>();

            if (ddlDebitType.Text == "BOTH")
            {
                lstExpenseTran = bl.GetExpenseTransaction().Where(et => Convert.ToDateTime(Convert.ToDateTime(et.ExpenseDate).ToShortDateString()) >= Convert.ToDateTime(dtStartDate.Text) && Convert.ToDateTime(Convert.ToDateTime(et.ExpenseDate).ToShortDateString()) <= Convert.ToDateTime(dtEndDate.Text)).ToList();
                dgExpenseTransaction.DataSource = lstExpenseTran;
            }
            else
            {
                lstExpenseTran = bl.GetExpenseTransaction().Where(et => Convert.ToDateTime(Convert.ToDateTime(et.ExpenseDate).ToShortDateString()) >= Convert.ToDateTime(dtStartDate.Text) && Convert.ToDateTime(Convert.ToDateTime(et.ExpenseDate).ToShortDateString()) <= Convert.ToDateTime(dtEndDate.Text))
                                 .Where(
                    efu => efu.DebitType.ToUpper().Contains(ddlDebitType.Text.ToUpper())
                    ).ToList();
                dgExpenseTransaction.DataSource = lstExpenseTran;
            }

            if (ddlType.Text != "" && ddlType.Text != "BOTH")
            {
                lstExpenseTran = lstExpenseTran.Where(efu => efu.Type.ToUpper().Contains(ddlType.Text.ToUpper())).ToList();
                dgExpenseTransaction.DataSource = lstExpenseTran;
            }
        }
        private void btnDelete_Click(object sender, EventArgs e)
        {
            var expenseTranID = Convert.ToInt32(dgExpenseTransaction.CurrentRow.Cells["ExpenseTransactionID"].Value.ToString());

            if (expenseTranID == 0)
            {
                MyMessageBox.ShowBox("Please select a value from the Expense Transaction!!!");
            }
            else
            {
                var retStr = MyMessageBoxYesorNo.ShowBox("Are you Sure You want to Delete??");
                if (retStr == "1")
                {
                    ExpenseTransactionBL obj = new ExpenseTransactionBL();
                    var flag = obj.DeleteExpenseTransaction(expenseTranID);
                    LoadDefaultValues();
                    if (flag)
                    {
                        MyMessageBox.ShowBox("Expense Transaction Deleted");
                    }
                    else
                    {
                        MyMessageBox.ShowBox("Expense Transaction Failed to Delete.");
                    }
                }
            }
        }
        private void LoadDefaultValues()
        {
            ExpenseTransactionBL bl = new ExpenseTransactionBL();
            var lstExpenseTran      = bl.GetExpenseTransaction().Where(et => Convert.ToDateTime(Convert.ToDateTime(et.ExpenseDate).ToShortDateString()) >= Convert.ToDateTime(dtStartDate.Text) && Convert.ToDateTime(Convert.ToDateTime(et.ExpenseDate).ToShortDateString()) <= Convert.ToDateTime(dtEndDate.Text)).ToList();

            dgExpenseTransaction.DataSource = lstExpenseTran;
        }
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (validate())
            {
                //Populate ExpenseTransactionDTO
                var expense  = (ComboboxItem)ddlExpenses.SelectedItem;
                var Amount   = txtAmount.Text;
                var Comments = txtComments.Text;
                ExpenseTransactionDTO expenseTransactionDTO = new ExpenseTransactionDTO();
                expenseTransactionDTO.ExpenseID    = Convert.ToInt32(expense.Value);
                expenseTransactionDTO.Comments     = Comments;
                expenseTransactionDTO.Amount       = Convert.ToInt32(Amount);
                expenseTransactionDTO.DebitType    = ddlDebitType.Text;
                expenseTransactionDTO.ExpenseDate  = Convert.ToDateTime(dtExpDate.Text);
                expenseTransactionDTO.CreatedBy    = GlobalSetup.Userid;
                expenseTransactionDTO.CreatedDate  = DateTime.Now;
                expenseTransactionDTO.ModifiedDate = null;
                expenseTransactionDTO.ModifiedBy   = null;
                expenseTransactionDTO.Type         = ddlType.Text;
                ExpenseTransactionBL obj = new ExpenseTransactionBL();
                bool result = false;
                if (_mode == "EDIT")
                {
                    expenseTransactionDTO.ExpenseTransactionID = _expenseTransactionID;
                    result = obj.UpdateExpenseTransaction(expenseTransactionDTO);
                }
                else
                {
                    result = obj.AddExpenseTransaction(expenseTransactionDTO);
                }

                if (result)
                {
                    MyMessageBox.ShowBox("Expense Transaction Saved!!!");
                }
                else
                {
                    MyMessageBox.ShowBox("Save Failed !!!");
                }
            }
            else
            {
                MyMessageBox.ShowBox("Please enter all mandatory fields!!!");
            }
            this.Clear();
        }
        private void PopulateValues()
        {
            ExpenseTransactionBL bl = new ExpenseTransactionBL();
            var etr = bl.GetExpenseTransaction().FirstOrDefault(et => et.ExpenseTransactionID == _expenseTransactionID);

            ComboboxItem item = new ComboboxItem();

            item.Text                 = etr.ExpenseDescription;
            item.Value                = etr.ExpenseID;
            ddlExpenses.Text          = item.Text;
            ddlDebitType.Text         = "";
            ddlDebitType.SelectedText = etr.DebitType;
            txtAmount.Text            = etr.Amount.ToString();
            txtComments.Text          = etr.Comments;
            dtExpDate.Text            = etr.ExpenseDate.ToShortDateString();
            ddlType.Text              = "";
            ddlType.SelectedText      = etr.Type;
        }