Пример #1
0
 private void PopulateDailyExp()
 {
     PCSN.InvoiceSystem.BusinessLogicLayer.DailyExpMaster DailyExp = new PCSN.InvoiceSystem.BusinessLogicLayer.DailyExpMaster();
     dtDailyExp             = DailyExp.GetAllDailyExpMaster();
     dgDailyExps.DataSource = dtDailyExp;
     dgDailyExps.DataBind();
 }
 private void PopulateExpenses(long ExpenseMasterID)
 {
     PCSN.InvoiceSystem.BusinessLogicLayer.DailyExpMaster Expense = new PCSN.InvoiceSystem.BusinessLogicLayer.DailyExpMaster();
     dtExpenseDG           = Expense.GetAllDailyExpDetailByDailyExpMasterID(ExpenseMasterID);
     dgExpenses.DataSource = dtExpenseDG;
     dgExpenses.DataBind();
 }
Пример #3
0
    private void PopulateDailyExpBySearch(string FieldName, string Value)
    {
        PCSN.InvoiceSystem.BusinessLogicLayer.DailyExpMaster DailyExp = new PCSN.InvoiceSystem.BusinessLogicLayer.DailyExpMaster();

        if (FieldName == "ByDate")
        {
            dtDailyExp = DailyExp.GetDailyExpMasterByExpDate(Value);
        }
        if (FieldName == "ToAndFromDate")
        {
            string[] ToandFrom = Value.Split('#');
            string   toDate    = "";
            string   fromDate  = "";
            for (int i = 0; i < ToandFrom.Length; i++)
            {
                toDate   = ToandFrom[i].ToString();
                fromDate = ToandFrom[i + 1].ToString();
                break;
            }

            dtDailyExp = DailyExp.GetDailyExpMasterByToandFromDate(toDate.ToString(), fromDate.ToString());
        }
        if (FieldName == "ByMonthYear")
        {
            dtDailyExp = DailyExp.GetDailyExpMasterByMonthYear(Value);
        }

        lblCashInHand.Text   = "0";
        lblTotalExpense.Text = "0";

        if (dtDailyExp.Rows.Count > 0)
        {
            for (int i = 0; i < dtDailyExp.Rows.Count; i++)
            {
                try
                {
                    if (dtDailyExp.Rows[i]["ID"].ToString() == dtDailyExp.Rows[i + 1]["ID"].ToString())
                    {
                        //lblCashInHand.Text = Convert.ToString(Convert.ToInt32(lblCashInHand.Text) + Convert.ToInt32(dtDailyExp.Rows[i]["StartCash"].ToString()));
                        //lblTotalExpense.Text = Convert.ToString(Convert.ToInt32(lblTotalExpense.Text) + Convert.ToInt32(dtDailyExp.Rows[i]["TotalAmount"].ToString()));
                    }
                    else
                    {
                        lblCashInHand.Text   = Convert.ToString(Convert.ToInt32(lblCashInHand.Text) + Convert.ToInt32(dtDailyExp.Rows[i]["StartCash"].ToString()));
                        lblTotalExpense.Text = Convert.ToString(Convert.ToInt32(lblTotalExpense.Text) + Convert.ToInt32(dtDailyExp.Rows[i]["TotalAmount"].ToString()));
                    }
                }
                catch
                {
                    lblCashInHand.Text   = Convert.ToString(Convert.ToInt32(lblCashInHand.Text) + Convert.ToInt32(dtDailyExp.Rows[i]["StartCash"].ToString()));
                    lblTotalExpense.Text = Convert.ToString(Convert.ToInt32(lblTotalExpense.Text) + Convert.ToInt32(dtDailyExp.Rows[i]["TotalAmount"].ToString()));
                }
            }
        }
        dgDailyExps.DataSource = dtDailyExp;
        dgDailyExps.DataBind();
        CntExpNumber = 1;
    }
    private void DeletingAnItem(long ExpDetailID)
    {
        PCSN.InvoiceSystem.BusinessLogicLayer.DailyExpMaster DExp   = new PCSN.InvoiceSystem.BusinessLogicLayer.DailyExpMaster();
        PCSN.InvoiceSystem.BusinessLogicLayer.CashInHand     CashIn = new PCSN.InvoiceSystem.BusinessLogicLayer.CashInHand();
        DataTable dtExpDetail = new DataTable();

        dtExpDetail = DExp.GetDailyExpDetailByID(ExpDetailID);
        if (dtExpDetail.Rows.Count > 0)
        {
            txtItemDesc.Text           = dtExpDetail.Rows[0]["ItemDesc"].ToString();
            txtItemDescID.Text         = dtExpDetail.Rows[0]["ID"].ToString();
            txtQuantity.Text           = dtExpDetail.Rows[0]["Quantity"].ToString();
            txtUnitPrice.Text          = dtExpDetail.Rows[0]["UnitPrice"].ToString();
            txtItemAmount.Text         = dtExpDetail.Rows[0]["ItemAmount"].ToString();
            txtItemAmountPrevious.Text = dtExpDetail.Rows[0]["ItemAmount"].ToString();

            long newamount = Convert.ToInt32(lblRemainingCash.Text.ToString().Trim()) + Convert.ToInt32(txtItemAmount.Text);

            if (newamount < 0)
            {
                lblErrorMessage.Text = "Out of money Error, Please add some cash in Hand first.";
            }
            else
            {
                lblRemainingCash.Text = newamount.ToString();
                //DExp.InsertDailyExpDetail(Convert.ToInt32(txtDailyExpMasterID.Text), txtItemDesc.Text, Convert.ToInt32(txtQuantity.Text), Convert.ToInt32(txtUnitPrice.Text), Convert.ToInt32(txtItemAmount.Text));
                //PCSN.InvoiceSystem.BusinessLogicLayer.CashInHand CashIn = new PCSN.InvoiceSystem.BusinessLogicLayer.CashInHand();
                CashIn.UpdateCashInHandCashAvail(Convert.ToInt32(txtCashInHandID.Text), Convert.ToInt32(lblRemainingCash.Text));

                DataTable dtUpAmount = new DataTable();
                dtUpAmount = DExp.GetDailyExpMasterByID(Convert.ToInt32(txtDailyExpMasterID.Text));
                if (dtUpAmount.Rows.Count > 0)
                {
                    long startCash   = Convert.ToInt32(dtUpAmount.Rows[0]["StartCash"].ToString());
                    long TotalAmount = Convert.ToInt32(dtUpAmount.Rows[0]["TotalAmount"].ToString()) - Convert.ToInt32(txtItemAmount.Text);
                    //lblTotalAmount.Text = TotalAmount.ToString();
                    long endCash = startCash - TotalAmount;
                    DExp.UpdateDailyExpMasterTotalAmount(Convert.ToInt32(txtDailyExpMasterID.Text), endCash, TotalAmount);

                    dtUpAmount = DExp.GetDailyExpMasterByID(Convert.ToInt32(txtDailyExpMasterID.Text));
                    if (dtUpAmount.Rows.Count > 0)
                    {
                        lblTotalAmount.Text = dtUpAmount.Rows[0]["TotalAmount"].ToString();
                    }
                }

                //lblErrorMessage.Text = "This expense is saved and added to your todays Expense control.";
                lblTotalExpOfToday.Text = lblTotalAmount.Text;
            }
        }
        ClearControlDetail();
    }
    private void dgExpenses_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
        if (e.CommandName == "DeleteExpense")
        {
            string argsID = e.CommandArgument.ToString();

            long ExpenseDetailID = Convert.ToInt32(argsID);

            if (ExpenseDetailID > 0)
            {
                PCSN.InvoiceSystem.BusinessLogicLayer.DailyExpMaster Expense = new PCSN.InvoiceSystem.BusinessLogicLayer.DailyExpMaster();

                DeletingAnItem(ExpenseDetailID);

                Expense.DeleteDailyExpDetail(ExpenseDetailID);
                lblErrorMessage.Text = "Item Deleted Successfuly.";
                PopulateExpenses(Convert.ToInt32(txtDailyExpMasterID.Text));
            }
        }
    }
Пример #6
0
    private void dgDailyExps_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
        if (e.CommandName == "DeleteDailyExp")
        {
            string argsID = e.CommandArgument.ToString();

            long DailyExpID = Convert.ToInt32(argsID.ToString());

            if (DailyExpID > 0)
            {
                PCSN.InvoiceSystem.BusinessLogicLayer.DailyExpMaster DailyExp = new PCSN.InvoiceSystem.BusinessLogicLayer.DailyExpMaster();
                //DailyExp.DeleteDailyExp(DailyExpID);
                lblErrorMessage.Text = "Cheque Deleted Successfuly.";


                PopulateDailyExp();
                ClearControls();
            }
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.QueryString["ExpenseMasterID"] != null && Request.QueryString["ExpenseMasterID"].ToString() != "")
        {
            // This is for Showing Full Invoice
            long ExpensemasterID = Convert.ToInt32(Request.QueryString["ExpenseMasterID"].ToString());
            //long ExpenseDetailID = 0;
            PCSN.InvoiceSystem.BusinessLogicLayer.DailyExpMaster Expense = new PCSN.InvoiceSystem.BusinessLogicLayer.DailyExpMaster();

            lblMainTitle.Text = "Daily Expense";

            lblDailyExpTitle.Text = "Daily Expense's Detail";

            dtExpense = Expense.GetDailyExpMasterByID(ExpensemasterID);
            if (dtExpense.Rows.Count > 0)
            {
                // Setting up Starting Values
                PCSN.InvoiceSystem.BusinessLogicLayer.CashInHand CashinHand = new PCSN.InvoiceSystem.BusinessLogicLayer.CashInHand();
                DataTable dtCashinHand = new DataTable();
                dtCashinHand = CashinHand.GetCashInHandByID(Convert.ToInt32(dtExpense.Rows[0]["CashInHandID"].ToString()));

                if (dtCashinHand.Rows.Count > 0)
                {
                    lblCashWasInHand.Text = dtCashinHand.Rows[0]["CashIN"].ToString();
                    lblRemainingCash.Text = dtCashinHand.Rows[0]["CashAvailable"].ToString();
                }
                lblCashWasInHand.Text = dtExpense.Rows[0]["StartCash"].ToString();
                lblRemainingCash.Text = dtExpense.Rows[0]["EndCash"].ToString();
                lblGrandTotal.Text    = dtExpense.Rows[0]["TotalAmount"].ToString();
                lblExpDate.Text       = dtExpense.Rows[0]["ExpDate"].ToString();
                lblExpOfTheDay.Text   = dtExpense.Rows[0]["TotalAmount"].ToString();

                //Setting up Our Company Details
                PCSN.InvoiceSystem.BusinessLogicLayer.OurCompany ourCompany = new PCSN.InvoiceSystem.BusinessLogicLayer.OurCompany();
                DataTable dtOurCompany = new DataTable();
                dtOurCompany = ourCompany.GetOurCompanyByID(Convert.ToInt32("1"));

                if (dtOurCompany.Rows.Count > 0)
                {
                    //txtOurCompanyID.Text = dtOurCompany.Rows[0]["ID"].ToString();
                    lblCompanyName.Text = dtOurCompany.Rows[0]["CompanyName"].ToString() + Environment.NewLine;
                    lblAddress.Text     = dtOurCompany.Rows[0]["CompanyAddress"].ToString() + Environment.NewLine;
                }
                else
                {
                    lblCompanyName.Text = "Power Protection System";
                }

                // Setting Up Each Expense
                for (int a = 0; a < dtExpense.Rows.Count; a++)
                {
                    GenerateHTML += "<tr>" + Environment.NewLine;

                    GenerateHTML += "<td>" + Environment.NewLine;
                    GenerateHTML += dtExpense.Rows[a]["ItemDesc"].ToString() + Environment.NewLine;
                    GenerateHTML += "</td>" + Environment.NewLine;

                    GenerateHTML += "<td id=\"quantity\">" + Environment.NewLine;
                    GenerateHTML += dtExpense.Rows[a]["Quantity"].ToString() + Environment.NewLine;
                    GenerateHTML += "</td>" + Environment.NewLine;



                    GenerateHTML += "<td id=\"rate\">" + Environment.NewLine;
                    GenerateHTML += dtExpense.Rows[a]["UnitPrice"].ToString() + Environment.NewLine;
                    GenerateHTML += "</td>" + Environment.NewLine;



                    GenerateHTML += "<td id=\"amount\">" + Environment.NewLine;
                    GenerateHTML += dtExpense.Rows[a]["ItemAmount"].ToString() + Environment.NewLine;
                    GenerateHTML += "</td>" + Environment.NewLine;


                    GenerateHTML += "</tr>" + Environment.NewLine;
                }
                lblGrandTotal.Text = dtExpense.Rows[0]["TotalAmount"].ToString();
            }
        }
    }
    protected void btnSaveExpense_Click(object sender, EventArgs e)
    {
        if (ValidateExpenseSide())
        {
            PCSN.InvoiceSystem.BusinessLogicLayer.DailyExpMaster DExp   = new PCSN.InvoiceSystem.BusinessLogicLayer.DailyExpMaster();
            PCSN.InvoiceSystem.BusinessLogicLayer.CashInHand     CashIn = new PCSN.InvoiceSystem.BusinessLogicLayer.CashInHand();
            if (txtDailyExpMasterID.Text == "")
            {
                long newamount = Convert.ToInt32(lblRemainingCash.Text.ToString().Trim()) - Convert.ToInt32(txtItemAmount.Text);
                lblRemainingCash.Text = newamount.ToString();
                long DailyExpMasterID = DExp.InsertDailyExpMaster(Convert.ToInt32(txtCashInHandID.Text), lblHeaderDate.Text, Convert.ToInt32(lblStartCash.Text), Convert.ToInt32(lblRemainingCash.Text), Convert.ToInt32(Convert.ToInt32(lblTotalAmount.Text) + Convert.ToInt32(txtItemAmount.Text)));
                CashIn.UpdateCashInHandCashAvail(Convert.ToInt32(txtCashInHandID.Text), Convert.ToInt32(lblRemainingCash.Text));
                if (DailyExpMasterID > 0)
                {
                    DExp.InsertDailyExpDetail(DailyExpMasterID, txtItemDesc.Text, Convert.ToInt32(txtQuantity.Text), Convert.ToInt32(txtUnitPrice.Text), Convert.ToInt32(txtItemAmount.Text));

                    lblErrorMessage.Text = "This expense is saved and added to your todays Expense control.";
                    PopulateExpenses(DailyExpMasterID);

                    txtDailyExpMasterID.Text = DailyExpMasterID.ToString();
                    lblExpenseNumber.Text    = DailyExpMasterID.ToString();
                    lblTotalExpOfToday.Text  = Convert.ToString(Convert.ToInt32(lblTotalAmount.Text) + Convert.ToInt32(txtItemAmount.Text));
                    ClearControlDetail();
                }
            }
            else
            {
                if (txtItemDescID.Text == "")
                {
                    long newamount = Convert.ToInt32(lblRemainingCash.Text.ToString().Trim()) - Convert.ToInt32(txtItemAmount.Text);

                    if (newamount < 0)
                    {
                        lblErrorMessage.Text = "Out of money Error, Please add some cash in Hand first.";
                    }
                    else
                    {
                        lblRemainingCash.Text = newamount.ToString();
                        DExp.InsertDailyExpDetail(Convert.ToInt32(txtDailyExpMasterID.Text), txtItemDesc.Text, Convert.ToInt32(txtQuantity.Text), Convert.ToInt32(txtUnitPrice.Text), Convert.ToInt32(txtItemAmount.Text));
                        //PCSN.InvoiceSystem.BusinessLogicLayer.CashInHand CashIn = new PCSN.InvoiceSystem.BusinessLogicLayer.CashInHand();
                        CashIn.UpdateCashInHandCashAvail(Convert.ToInt32(txtCashInHandID.Text), Convert.ToInt32(lblRemainingCash.Text));

                        DataTable dtUpAmount = new DataTable();
                        dtUpAmount = DExp.GetDailyExpMasterByID(Convert.ToInt32(txtDailyExpMasterID.Text));
                        if (dtUpAmount.Rows.Count > 0)
                        {
                            long startCash   = Convert.ToInt32(dtUpAmount.Rows[0]["StartCash"].ToString());
                            long TotalAmount = Convert.ToInt32(dtUpAmount.Rows[0]["TotalAmount"].ToString()) + Convert.ToInt32(txtItemAmount.Text);
                            //lblTotalAmount.Text = TotalAmount.ToString();
                            long endCash = startCash - TotalAmount;
                            DExp.UpdateDailyExpMasterTotalAmount(Convert.ToInt32(txtDailyExpMasterID.Text), endCash, TotalAmount);

                            dtUpAmount = DExp.GetDailyExpMasterByID(Convert.ToInt32(txtDailyExpMasterID.Text));
                            if (dtUpAmount.Rows.Count > 0)
                            {
                                lblTotalAmount.Text = dtUpAmount.Rows[0]["TotalAmount"].ToString();
                            }
                        }

                        lblErrorMessage.Text = "This expense is saved and added to your todays Expense control.";
                        PopulateExpenses(Convert.ToInt32(txtDailyExpMasterID.Text));

                        lblTotalExpOfToday.Text = lblTotalAmount.Text;
                        ClearControlDetail();
                    }
                }
                else
                {
                    long newamount = Convert.ToInt32(Convert.ToInt32(lblRemainingCash.Text.ToString().Trim()) + Convert.ToInt32(txtItemAmountPrevious.Text)) - Convert.ToInt32(txtItemAmount.Text);

                    if (newamount < 0)
                    {
                        lblErrorMessage.Text = "Out of money Error, Please add some cash in Hand first.";
                    }
                    else
                    {
                        lblRemainingCash.Text = newamount.ToString();
                        DExp.UpdateDailyExpDetail(Convert.ToInt32(txtItemDescID.Text), Convert.ToInt32(txtDailyExpMasterID.Text), txtItemDesc.Text, Convert.ToInt32(txtQuantity.Text), Convert.ToInt32(txtUnitPrice.Text), Convert.ToInt32(txtItemAmount.Text));
                        CashIn.UpdateCashInHandCashAvail(Convert.ToInt32(txtCashInHandID.Text), Convert.ToInt32(lblRemainingCash.Text));

                        DataTable dtUpAmount = new DataTable();
                        dtUpAmount = DExp.GetDailyExpMasterByID(Convert.ToInt32(txtDailyExpMasterID.Text));
                        if (dtUpAmount.Rows.Count > 0)
                        {
                            long startCash   = Convert.ToInt32(dtUpAmount.Rows[0]["StartCash"].ToString());
                            long TotalAmount = Convert.ToInt32(Convert.ToInt32(dtUpAmount.Rows[0]["TotalAmount"].ToString()) - Convert.ToInt32(txtItemAmountPrevious.Text)) + Convert.ToInt32(txtItemAmount.Text);
                            lblTotalAmount.Text = TotalAmount.ToString();
                            long endCash = startCash - TotalAmount;
                            DExp.UpdateDailyExpMasterTotalAmount(Convert.ToInt32(txtDailyExpMasterID.Text), endCash, TotalAmount);

                            dtUpAmount = DExp.GetDailyExpMasterByID(Convert.ToInt32(txtDailyExpMasterID.Text));
                            if (dtUpAmount.Rows.Count > 0)
                            {
                                lblTotalAmount.Text = dtUpAmount.Rows[0]["TotalAmount"].ToString();
                            }
                        }

                        lblErrorMessage.Text = "This expense is updated to your todays Expense control.";
                        PopulateExpenses(Convert.ToInt32(txtDailyExpMasterID.Text));

                        lblTotalExpOfToday.Text = lblTotalAmount.Text;
                        ClearControlDetail();
                    }
                }
            }
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        //string ModeCheck = "";
        if (Request.QueryString["DailyExpMasterID"] != null && Request.QueryString["DailyExpMasterID"].ToString() != "" && Request.QueryString["DailyExpDetailID"] != null && Request.QueryString["DailyExpDetailID"].ToString() != "" && !Page.IsPostBack)
        {
            // This is for Updating and ITEM in Expense
            long ExpenseDetailID = Convert.ToInt32(Request.QueryString["DailyExpDetailID"].ToString());
            PCSN.InvoiceSystem.BusinessLogicLayer.DailyExpMaster Expense = new PCSN.InvoiceSystem.BusinessLogicLayer.DailyExpMaster();
            txtItemDescID.Text  = Request.QueryString["DailyExpDetailID"].ToString();
            lblTotalAmount.Text = "0";
            dtExpenseEdit       = Expense.GetDailyExpDetailByID(ExpenseDetailID);
            for (int a = 0; a < dtExpenseEdit.Rows.Count; a++)
            {
                if (dtExpenseEdit.Rows[a]["ID"].ToString() == Request.QueryString["DailyExpDetailID"].ToString())
                {
                    txtItemDesc.Text           = dtExpenseEdit.Rows[a]["ItemDesc"].ToString();
                    txtItemDescID.Text         = dtExpenseEdit.Rows[a]["ID"].ToString();
                    txtQuantity.Text           = dtExpenseEdit.Rows[a]["Quantity"].ToString();
                    txtUnitPrice.Text          = dtExpenseEdit.Rows[a]["UnitPrice"].ToString();
                    txtItemAmount.Text         = dtExpenseEdit.Rows[a]["ItemAmount"].ToString();
                    txtItemAmountPrevious.Text = dtExpenseEdit.Rows[a]["ItemAmount"].ToString();

                    PopulateExpenses(Convert.ToInt32(Request.QueryString["DailyExpMasterID"].ToString()));
                }

                lblTotalAmount.Text     = Convert.ToString(Convert.ToInt32(lblTotalAmount.Text) + Convert.ToInt32(dtExpenseEdit.Rows[a]["ItemAmount"].ToString()));
                lblTotalExpOfToday.Text = lblTotalAmount.Text;
            }
        }

        if (!Page.IsPostBack)
        {
            PCSN.InvoiceSystem.BusinessLogicLayer.DailyExpMaster ExpM    = new PCSN.InvoiceSystem.BusinessLogicLayer.DailyExpMaster();
            PCSN.InvoiceSystem.BusinessLogicLayer.Closing        closing = new PCSN.InvoiceSystem.BusinessLogicLayer.Closing();
            DataTable dtClosing = new DataTable();
            DataTable dtExpM    = new DataTable();
            // It is to refresh the total expense page.
            if (Request.QueryString["DailyExpMasterID"] != null && Request.QueryString["DailyExpMasterID"].ToString() != "")
            {
                txtDailyExpMasterID.Text = Request.QueryString["DailyExpMasterID"].ToString();
            }
            else
            {
                dtExpM = ExpM.GetDailyExpMasterByExpDate(DateTime.Now.ToShortDateString());
                if (dtExpM.Rows.Count > 0)
                {
                    txtDailyExpMasterID.Text = dtExpM.Rows[0]["ID"].ToString();
                    lblExpenseNumber.Text    = txtDailyExpMasterID.Text;
                }
            }
            if (txtDailyExpMasterID.Text == "")
            {
                // This will run everytime u access the Expense page, to check if it is a new Day or the closing has been made for this day?.

                // Checking the Closing of Today?
                dtClosing = closing.GetAllDailyClosingByDate(DateTime.Now.ToShortDateString());
                if (dtClosing.Rows.Count > 0)
                {
                }
                else
                {
                    // So the Closing has not been performed.. Means NO NEW EXPENSE

                    dtExpM = ExpM.GetDailyExpMasterByExpDate(DateTime.Now.ToShortDateString());
                    if (dtExpM.Rows.Count > 0)
                    {
                        txtDailyExpMasterID.Text = dtExpM.Rows[0]["ID"].ToString();
                        lblExpenseNumber.Text    = txtDailyExpMasterID.Text;
                    }

                    // Performing Closing ( IT WILL CHECK IF THE CLOSING FOR YESTERDAY IS PERFORMED OR NOT )
                    //=============================
                    long DEM_ID = 0;
                    // First we will get the EXPENSE ID of Yesterday
                    dtExpM = ExpM.GetDailyExpMasterByExpDate(DateTime.Now.AddDays(-1).ToShortDateString());
                    if (dtExpM.Rows.Count > 0)
                    {
                        DEM_ID = Convert.ToInt32(dtExpM.Rows[0]["ID"].ToString());
                    }
                    // Now we are Checking the Closing of Yesterday
                    dtClosing = closing.GetAllDailyClosingByDate(DateTime.Now.AddDays(-1).ToShortDateString());
                    if (dtClosing.Rows.Count > 0 || DEM_ID == 0)
                    {
                        // Closing is already DONE or It was a Holiday or WeekEnd
                    }
                    else
                    {
                        // CLOSING Daily Closing of Yesterday
                        closing.InsertDailyClosing(DateTime.Now.AddDays(-1).ToShortDateString(), DEM_ID);
                    }
                    //========================================
                }
            }
            if (txtDailyExpMasterID.Text == "")
            {
                // This is when a Fresh Expense is About to Generate
                // DAILY CLOSING Is DONE for Previous day
                lblRemainingCash.Text = "0";
                lblStartCash.Text     = "0";
                PCSN.InvoiceSystem.BusinessLogicLayer.OurCompany ourCompany = new PCSN.InvoiceSystem.BusinessLogicLayer.OurCompany();
                dtOurCompany = ourCompany.GetOurCompanyByID(Convert.ToInt32("1"));

                if (dtOurCompany.Rows.Count <= 0)
                {
                    txtOurCompany.Text = "PC.Solutions.NET";
                }
                else
                {
                    txtOurCompanyID.Text = dtOurCompany.Rows[0]["ID"].ToString();
                    txtOurCompany.Text   = dtOurCompany.Rows[0]["CompanyName"].ToString() + Environment.NewLine;
                    txtOurCompany.Text   = txtOurCompany.Text + dtOurCompany.Rows[0]["CompanyAddress"].ToString() + Environment.NewLine;
                }
                lblStartCash.Text = "0";
                PCSN.InvoiceSystem.BusinessLogicLayer.DailyExpMaster Expense    = new PCSN.InvoiceSystem.BusinessLogicLayer.DailyExpMaster();
                PCSN.InvoiceSystem.BusinessLogicLayer.CashInHand     CashinHand = new PCSN.InvoiceSystem.BusinessLogicLayer.CashInHand();
                DataTable dtCashinHand = new DataTable();
                // Getting Cash in Hand Detail
                dtCashinHand = CashinHand.GetAllCashInHandByMAXID();
                if (dtCashinHand.Rows.Count > 0)
                {
                    txtCashInHandID.Text = dtCashinHand.Rows[0]["ID"].ToString();
                    dtCashinHand         = CashinHand.GetAllCashInHandByDateIN(DateTime.Now.ToShortDateString());
                    // Getting the CASH IN HAND details of Today
                    if (dtCashinHand.Rows.Count > 0)
                    {
                        if (dtCashinHand.Rows.Count > 1)
                        {
                            for (int i = 0; i > dtCashinHand.Rows.Count; i++)
                            {
                                txtCashInHandID.Text  = dtCashinHand.Rows[i]["ID"].ToString();
                                lblStartCash.Text     = Convert.ToString(Convert.ToInt32(lblStartCash.Text) + Convert.ToInt32(dtCashinHand.Rows[i]["CashIN"].ToString()));
                                lblRemainingCash.Text = Convert.ToString(Convert.ToInt32(lblRemainingCash.Text) + Convert.ToInt32(dtCashinHand.Rows[i]["TotalAmount"].ToString()));
                            }
                        }
                        else
                        {
                            txtCashInHandID.Text  = dtCashinHand.Rows[0]["ID"].ToString();
                            lblStartCash.Text     = dtCashinHand.Rows[0]["CashAvailable"].ToString();
                            lblRemainingCash.Text = dtCashinHand.Rows[0]["CashAvailable"].ToString();
                        }
                    }
                    else
                    {
                        dtCashinHand = CashinHand.GetAllCashInHandByMAXID();
                        if (dtCashinHand.Rows.Count > 0)
                        {
                            long CashinhandID = CashinHand.InsertCashInHand(Convert.ToInt32(dtCashinHand.Rows[0]["ChequeIssueID"].ToString()), Convert.ToInt32(dtCashinHand.Rows[0]["CashAvailable"].ToString()), Convert.ToInt32("0"), DateTime.Now.ToShortDateString(), Convert.ToInt32(dtCashinHand.Rows[0]["CashAvailable"].ToString()), "Automatic Entry to Data Base of Starting Cash in Hand for Today");

                            dtCashinHand = CashinHand.GetAllCashInHandByMAXID();
                            if (dtCashinHand.Rows.Count > 0)
                            {
                                txtCashInHandID.Text  = dtCashinHand.Rows[0]["ID"].ToString();
                                lblStartCash.Text     = dtCashinHand.Rows[0]["CashAvailable"].ToString();
                                lblRemainingCash.Text = dtCashinHand.Rows[0]["CashAvailable"].ToString();
                            }
                        }
                    }
                }
                else
                {
                    Response.Redirect("CashRegister.aspx?errmsg=You do not have enough Funds available to use as Cash. Please issue a Cheque for Personal Use and then Use it in order to use Daily Expense System.");
                }

                lblHeaderDate.Text      = Convert.ToString(DateTime.Now.ToShortDateString());
                lblTotalAmount.Text     = "0";
                lblTotalExpOfToday.Text = lblTotalAmount.Text;


                dtExpense = Expense.GetAllDailyExpMasterMAX();
                if (dtExpense.Rows.Count == 0 || dtExpense.Rows[0]["MAXID"].ToString() == "")
                {
                    lblExpenseNumber.Text = "1";
                }
                else
                {
                    lblExpenseNumber.Text = Convert.ToInt32(Convert.ToInt32(dtExpense.Rows[0]["MAXID"].ToString()) + 1).ToString();
                }
            }
            else
            {
                // This is when the Expense ID is getting from somewhere
                // AND the DAILY CLOSING has not been performed
                // Like from Query Strings

                PCSN.InvoiceSystem.BusinessLogicLayer.OurCompany ourCompany = new PCSN.InvoiceSystem.BusinessLogicLayer.OurCompany();
                dtOurCompany = ourCompany.GetOurCompanyByID(Convert.ToInt32("1"));

                if (dtOurCompany.Rows.Count <= 0)
                {
                    txtOurCompany.Text = "PC.Solutions.NET";
                }
                else
                {
                    txtOurCompanyID.Text = dtOurCompany.Rows[0]["ID"].ToString();
                    txtOurCompany.Text   = dtOurCompany.Rows[0]["CompanyName"].ToString() + Environment.NewLine;
                    txtOurCompany.Text   = txtOurCompany.Text + dtOurCompany.Rows[0]["CompanyAddress"].ToString() + Environment.NewLine;
                }

                PCSN.InvoiceSystem.BusinessLogicLayer.CashInHand CashinHand = new PCSN.InvoiceSystem.BusinessLogicLayer.CashInHand();
                DataTable dtCashinHand = new DataTable();
                dtCashinHand = CashinHand.GetAllCashInHandByMAXID();
                // Setting up the CASH IN HAND VALUES
                if (dtCashinHand.Rows.Count > 0)
                {
                    txtCashInHandID.Text = dtCashinHand.Rows[0]["ID"].ToString();
                }
                else
                {
                    // If Cash in Hand Not Found then you Need to Add some Cash in Hand in order to run Daily Expense
                    Response.Redirect("CashRegister.aspx");
                }

                lblHeaderDate.Text  = Convert.ToString(DateTime.Now.ToShortDateString());
                lblTotalAmount.Text = "0";
                PCSN.InvoiceSystem.BusinessLogicLayer.DailyExpMaster Expense = new PCSN.InvoiceSystem.BusinessLogicLayer.DailyExpMaster();

                dtExpense = Expense.GetDailyExpMasterByID(Convert.ToInt32(txtDailyExpMasterID.Text));
                if (dtExpense.Rows.Count > 0)
                {
                    lblStartCash.Text       = dtExpense.Rows[0]["StartCash"].ToString();
                    lblRemainingCash.Text   = dtExpense.Rows[0]["EndCash"].ToString();
                    lblExpenseNumber.Text   = dtExpense.Rows[0]["ID"].ToString();
                    lblTotalAmount.Text     = dtExpense.Rows[0]["TotalAmount"].ToString();
                    txtCashInHandID.Text    = dtExpense.Rows[0]["CashInHandID"].ToString();
                    lblHeaderDate.Text      = dtExpense.Rows[0]["ExpDate"].ToString();
                    lblTotalExpOfToday.Text = lblTotalAmount.Text;
                    lblRemainingCash.Text   = Convert.ToString(Convert.ToInt32(lblStartCash.Text) - Convert.ToInt32(lblTotalExpOfToday.Text));
                }
                if (txtDailyExpMasterID.Text != "")
                {
                    PopulateExpenses(Convert.ToInt32(txtDailyExpMasterID.Text));
                }
            }
        }
    }