예제 #1
0
        protected List <iBiz.FinPro.Accounts.objAccount> Get_Child_Accounts(int parentAccountId)
        {
            List <iBiz.FinPro.Accounts.objAccount> liAccounts = new List <iBiz.FinPro.Accounts.objAccount>();

            iBiz.FinPro.Accounts bAcc = new iBiz.FinPro.Accounts();
            liAccounts = bAcc.Select_Child_Accounts(parentAccountId);
            return(liAccounts);
        }
예제 #2
0
        protected IDataReader Get_Accounts(int categoryID)
        {
            IDataReader idr = null;

            iBiz.FinPro.Accounts bAcc = new iBiz.FinPro.Accounts();
            idr = bAcc.Select_By_Type(categoryID, Convert.ToBoolean(isOfficial));
            return(idr);
        }
예제 #3
0
        protected void Load_ParentAccounts()
        {
            iBiz.FinPro.Accounts bAccounts = new iBiz.FinPro.Accounts();
            List <iBiz.FinPro.Accounts.objAccount> liAcc = new List <iBiz.FinPro.Accounts.objAccount>();

            liAcc = bAccounts.liSelect_By_Type(Convert.ToInt32(ddlEditCategory.SelectedValue));

            ddlParentAccount.Items.Clear();
            ddlParentAccount.Items.Add(new ListItem("--- None ---", "0"));

            foreach (var item in liAcc)
            {
                if (item.accountIsTransactable == 0 || item.accountIsTransactable == 2)
                {
                    ddlParentAccount.Items.Add(new ListItem(item.accountTitle, item.accountID.ToString()));
                    List <iBiz.FinPro.Accounts.objAccount> liSAcc = new List <iBiz.FinPro.Accounts.objAccount>();
                    liSAcc = bAcc.Select_Child_Accounts(item.accountID);


                    foreach (var sItem in liSAcc)
                    {
                        if (sItem.accountIsTransactable == 0 || sItem.accountIsTransactable == 2)
                        {
                            ddlParentAccount.Items.Add(new ListItem(sItem.accountTitle, sItem.accountID.ToString()));
                            List <iBiz.FinPro.Accounts.objAccount> liSSAcc = new List <iBiz.FinPro.Accounts.objAccount>();
                            liSSAcc = bAcc.Select_Child_Accounts(sItem.accountID);

                            foreach (var ssItem in liSSAcc)
                            {
                                if (ssItem.accountIsTransactable == 0 || ssItem.accountIsTransactable == 2)
                                {
                                    ddlParentAccount.Items.Add(new ListItem(ssItem.accountTitle, ssItem.accountID.ToString()));
                                    List <iBiz.FinPro.Accounts.objAccount> liSSSAcc = new List <iBiz.FinPro.Accounts.objAccount>();
                                    liSSSAcc = bAcc.Select_Child_Accounts(ssItem.accountID);

                                    foreach (var sssItem in liSSSAcc)
                                    {
                                        if (sssItem.accountIsTransactable == 0 || sssItem.accountIsTransactable == 2)
                                        {
                                            ddlParentAccount.Items.Add(new ListItem(sssItem.accountTitle, sssItem.accountID.ToString()));
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
예제 #4
0
        protected string get_account_no(int accountId, string accountPrefix, string accountNo)
        {
            string rt = "N/A";

            if (string.IsNullOrEmpty(accountNo))
            {
                iBiz.FinPro.Accounts bAcc = new iBiz.FinPro.Accounts();
                rt = bAcc.Update_Account_Number(accountId);
            }
            else
            {
                rt = accountPrefix + accountNo;
            }

            return(rt);
        }
예제 #5
0
        protected bool CanHaveChild(int accountId)
        {
            iBiz.FinPro.Accounts bAcc = new iBiz.FinPro.Accounts();
            bool rt = bAcc.IsTransactable(accountId);

            if (rt)
            {
                rt = false;
            }
            else
            {
                rt = true;
            }

            return(rt);
        }
예제 #6
0
        protected void Preload_Accounts()
        {
            iBiz.FinPro.Accounts bAcc = new iBiz.FinPro.Accounts();
            IDataReader          idr  = bAcc.Select();

            //ddlAccounts.DataTextField = "accountTitle";
            //ddlAccounts.DataValueField = "accountID";
            //rcmbAccounts.DataSource = idr;
            //rcmbAccounts.DataBind();
            //rcmbAccounts.SelectedIndex = 0;

            //idr = bAcc.Select();
            ddlAccounts.DataSource = idr;
            ddlAccounts.DataBind();

            ddlAccounts.SelectedIndex = 0;
        }
예제 #7
0
        protected string Get_LineChart_Data()
        {
            iBiz.FinPro.Accounts             bAcc = new iBiz.FinPro.Accounts();
            iBiz.FinPro.Accounts.objAccount  objAccount;
            iBiz.FinPro.Transactions.Reports bReports = new iBiz.FinPro.Transactions.Reports();


            string accountIDs = iBiz.FinPro.Statics.Dashboard_LineChart_Account;

            string[] accountIdArr = accountIDs.Split(',');


            string rt = ""; // "{ name: \"Pakistan\", data: [3.907, 7.943, 7.848, 9.284, 9.263, 9.801, 3.890, 8.238, 9.552, 6.855,] }, ";

            for (int i = 0; i < accountIdArr.Length; i++)
            {
                int accountId = Convert.ToInt32(accountIdArr[i]);
                objAccount = new iBiz.FinPro.Accounts.objAccount();
                objAccount = bAcc.Select(accountId);

                if (objAccount != null)
                {
                    string dataString = "";


                    DateTime currentDate = DateTime.Now;


                    for (int j = 11; j >= 0; j--)
                    {
                        DateTime tempDate  = currentDate.AddMonths(j * -1);
                        DateTime startDate = Convert.ToDateTime(tempDate.Month.ToString() + "/1/" + tempDate.Year.ToString());
                        DateTime endDate   = Convert.ToDateTime(tempDate.Month.ToString() + "/" + DateTime.DaysInMonth(tempDate.Year, tempDate.Month).ToString() + "/" + tempDate.Year.ToString());
                        string   str       = currentDate.AddMonths(i * -1).ToString("MMM, yyyy");
                        string   data      = bReports.Account_Period_Sum(objAccount.accountID, startDate, endDate, Convert.ToBoolean(sysIndex)).ToString();
                        dataString += "[" + data + ", '" + str + "']" + ",";
                    }

                    rt += "{ name: \"" + objAccount.accountTitle + "\", data: [ " + dataString + " ] }, ";
                }
            }

            return(rt);
        }
예제 #8
0
        protected void Load_Report()
        {
            int      accId    = Convert.ToInt32(Request.QueryString["accId"]);
            DateTime fromDate = string.IsNullOrEmpty(Request.QueryString["from"]) == false?Convert.ToDateTime(Request.QueryString["from"]) : Convert.ToDateTime("01/01/2001");

            DateTime toDate = string.IsNullOrEmpty(Request.QueryString["to"]) == false?Convert.ToDateTime(Request.QueryString["to"]) : DateTime.Now;

            int deptId = string.IsNullOrEmpty(Request.QueryString["deptId"]) == false?Convert.ToInt32(Request.QueryString["deptId"]) : 0;

            iBiz.FinPro.Accounts            bAcc   = new iBiz.FinPro.Accounts();
            iBiz.FinPro.Accounts.objAccount objAcc = new iBiz.FinPro.Accounts.objAccount();
            objAcc = bAcc.Select(accId);

            if (objAcc != null)
            {
                Report raReport = new rpLedger(objAcc.accountTitle, string.Format("{0} till {1}", fromDate.ToString("MMM dd, yyyy"), toDate.ToString("MMM dd, yyyy")), accId, fromDate, toDate, deptId);
                rvReport.Report = raReport;
            }
        }
예제 #9
0
        protected DataTable List_Accounts()
        {
            IDataReader idr = null;
            DataTable   dt  = new DataTable();

            dt.Columns.Add("accountID");
            dt.Columns.Add("accountTitle");

            iBiz.FinPro.Accounts bAcc = new iBiz.FinPro.Accounts();
            idr = bAcc.SelectTransactable(true);

            dt.Rows.Add("0", "");

            while (idr.Read())
            {
                dt.Rows.Add(idr["accountID"].ToString(), idr["accountTitle"]);
            }


            return(dt);
        }
예제 #10
0
        protected void rptAccountCategories_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            if (e.CommandName == "edit_item")
            {
                if (iBiz.FinPro.Rights.edit_account)
                {
                    int accountId = Convert.ToInt32(e.CommandArgument);
                    iBiz.FinPro.Accounts.objAccount objAcc = new iBiz.FinPro.Accounts.objAccount();
                    iBiz.FinPro.Accounts            bAcc   = new iBiz.FinPro.Accounts();


                    objAcc = bAcc.Select(accountId);

                    if (objAcc != null)
                    {
                        if (objAcc.accountType.HasValue)
                        {
                            hfAccountId.Value             = objAcc.accountID.ToString();
                            ddlEditCategory.SelectedValue = objAcc.accountType.Value.ToString();
                            tbEditTitle.Text       = objAcc.accountTitle;
                            tbEditDescription.Text = objAcc.accountDescription;
                            mpeNewAccount.Show();
                        }
                    }
                    else
                    {
                        hfAccountId.Value = "";
                        rnNotify.Show("Account doesn't exist.");
                    }
                }
                else
                {
                    rnNotify.Show("You are not allowed to Edit an Account.");
                }
            }
            else
            {
                rnNotify.Show("You don't have Rights to edit this page.");
            }
        }
예제 #11
0
        protected DataTable List_Departments()
        {
            IDataReader idr = null;
            DataTable   dt  = new DataTable();

            dt.Columns.Add("deptId");
            dt.Columns.Add("deptCode");

            iBiz.FinPro.Accounts            bAcc  = new iBiz.FinPro.Accounts();
            iBiz.FinPro.Modules.Departments bDept = new iBiz.FinPro.Modules.Departments();

            idr = bDept.Select();

            dt.Rows.Add("0", "None");

            while (idr.Read())
            {
                dt.Rows.Add(idr["deptId"].ToString(), idr["deptCode"]);
            }


            return(dt);
        }
예제 #12
0
        protected void Load_Departments()
        {
            IDataReader idr = null;
            DataTable   dt  = new DataTable();

            dt.Columns.Add("deptId");
            dt.Columns.Add("deptCode");
            dt.Columns.Add("deptTitle");
            iBiz.FinPro.Accounts            bAcc  = new iBiz.FinPro.Accounts();
            iBiz.FinPro.Modules.Departments bDept = new iBiz.FinPro.Modules.Departments();

            idr = bDept.Select();

            dt.Rows.Add("0", "All", "All");

            while (idr.Read())
            {
                dt.Rows.Add(idr["deptId"].ToString(), idr["deptCode"], idr["deptTitle"]);
            }

            ddlDepartment.DataSource = dt;
            ddlDepartment.DataBind();
        }
예제 #13
0
        protected void btnSubmitForm_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                // Check for Financial Year Lock <<<<<<<<<<<<<<<

                iBiz.FinPro.FinYears finyear = new iBiz.FinPro.FinYears();

                if (!finyear.isLock(Convert.ToDateTime(tbDate.Text)))
                {
                    iBiz.FinPro.Transactions.Groups   bTransGroup = new iBiz.FinPro.Transactions.Groups();
                    iBiz.FinPro.Transactions.Transact bTrans      = new iBiz.FinPro.Transactions.Transact();
                    iBiz.FinPro.Transactions.Transact.objTransaction objTrans;
                    iBiz.FinPro.Transactions.Groups.objGroup         objTransGroup = new iBiz.FinPro.Transactions.Groups.objGroup();
                    iBiz.FinPro.Accounts bAcc = new iBiz.FinPro.Accounts();

                    int     defaultDept = Convert.ToInt32(ddlDefautlDept.SelectedValue);
                    int     itemsCount  = 0;
                    decimal totalAmount = 0;
                    //decimal totalCredit = 0;
                    //decimal uTotalDebit = 0;
                    //decimal uTotalCredit = 0;
                    bool hasNoDepartment = false;
                    int  finYear         = DateTime.Now.Year;

                    DateTime selectedDate = DateTime.Now;


                    if (selectedDate.Month < 6)
                    {
                        finYear = finYear - 1;
                    }


                    DateTime financialYear = Convert.ToDateTime("07/01/" + finYear.ToString());

                    bTrans.Delete_Untagged(thisUser);

                    if (rptVoucherItems.Items.Count > 0)
                    {
                        foreach (RepeaterItem item in rptVoucherItems.Items)
                        {
                            foreach (Control ctrlItem in item.Controls)
                            {
                                if (ctrlItem is HiddenField)
                                {
                                    if (ctrlItem.ClientID.ToLower().Contains("hfitemno"))
                                    {
                                        string       itemNo, transId, drAccountId, crAccountId, deptId, description, additionalTransId, amount;
                                        HiddenField  hfINo                     = (HiddenField)ctrlItem;
                                        RadComboBox  ddlDebitAccounts          = (RadComboBox)Form.FindControl(hfINo.UniqueID.Replace("hfItemNo", "ddlDebitAccounts"));
                                        RadComboBox  ddlCreditAccounts         = (RadComboBox)Form.FindControl(hfINo.UniqueID.Replace("hfItemNo", "ddlCreditAccount"));
                                        DropDownList ddlDepts                  = (DropDownList)Form.FindControl(hfINo.UniqueID.Replace("hfItemNo", "ddlDept"));
                                        TextBox      tbDescription             = (TextBox)Form.FindControl(hfINo.UniqueID.Replace("hfItemNo", "tbDescription"));
                                        TextBox      tbAmount                  = (TextBox)Form.FindControl(hfINo.UniqueID.Replace("hfItemNo", "tbAmount"));
                                        HiddenField  hfTransId                 = (HiddenField)Form.FindControl(hfINo.UniqueID.Replace("hfItemNo", "hfTransID"));
                                        HiddenField  hfAdditionalTransId       = (HiddenField)Form.FindControl(hfINo.UniqueID.Replace("hfItemNo", "hfAdditionalTransId"));
                                        iBiz.FinPro.Accounts.objAccount objAcc = new iBiz.FinPro.Accounts.objAccount();


                                        itemNo            = hfINo.Value;
                                        transId           = hfTransId.Value;
                                        drAccountId       = ddlDebitAccounts.SelectedValue != null ? ddlDebitAccounts.SelectedValue : "";
                                        crAccountId       = ddlCreditAccounts.SelectedValue != null ? ddlCreditAccounts.SelectedValue : "";
                                        deptId            = ddlDepts.SelectedValue;
                                        description       = tbDescription.Text;
                                        amount            = tbAmount.Text;
                                        additionalTransId = hfAdditionalTransId.Value;

                                        decimal transAmount = 0;
                                        decimal.TryParse(amount, out transAmount);

                                        if (transAmount > 0)
                                        {
                                            if (transId != "0")
                                            {
                                                // Delete existing trans
                                                if (iBiz.FinPro.Rights.edit_vouchar)
                                                {
                                                    bTrans.Delete(Convert.ToInt32(transId));
                                                }
                                            }

                                            if (hasNoDepartment || (Convert.ToInt32(deptId) <= 0 && defaultDept == 0))
                                            {
                                                hasNoDepartment = true;
                                            }


                                            //Check for Additional Trans

                                            if (!string.IsNullOrEmpty(additionalTransId))
                                            {
                                                if (additionalTransId != "0")
                                                {
                                                    iBiz.FinPro.Modules.AdditionalTransactions bAdditionalTrans = new iBiz.FinPro.Modules.AdditionalTransactions();
                                                    bAdditionalTrans.Do_Transactions_For_Predefined(0, Convert.ToInt32(additionalTransId), transAmount, "Description", transAmount, moduleId, financialYear, selectedDate, thisUser, Convert.ToInt32(deptId));
                                                }
                                            }



                                            if (!string.IsNullOrEmpty(drAccountId))
                                            {
                                                if (Convert.ToInt32(drAccountId) > 0)
                                                {
                                                    //Debit Transaction
                                                    objTrans                     = new iBiz.FinPro.Transactions.Transact.objTransaction();
                                                    objTrans.transAmount         = transAmount;
                                                    objTrans.transDrAccount      = Convert.ToInt32(drAccountId);
                                                    objTrans.transCrAccount      = null;
                                                    objTrans.transSystemRestrict = false;

                                                    objTrans.transCreatedBy   = thisUser;
                                                    objTrans.transCreatedOn   = DateTime.Now;
                                                    objTrans.transGroupID     = 0;
                                                    objTrans.transIsCompound  = true;
                                                    objTrans.transNarration   = description;
                                                    objTrans.transStatus      = 1;
                                                    objTrans.transSystemIndex = 1;

                                                    objTrans.deptId = Convert.ToInt32(deptId);

                                                    if (deptId == "0")
                                                    {
                                                        objTrans.deptId = defaultDept;
                                                    }

                                                    objTrans.transType      = 1;
                                                    objTrans.transUpdatedBy = thisUser;
                                                    objTrans.transUpdatedOn = DateTime.Now;

                                                    bTrans.Add(objTrans);

                                                    itemsCount++;
                                                }
                                            }

                                            if (!string.IsNullOrEmpty(crAccountId))
                                            {
                                                if (Convert.ToInt32(crAccountId) > 0)
                                                {
                                                    //Credit Transaction

                                                    objTrans                     = new iBiz.FinPro.Transactions.Transact.objTransaction();
                                                    objTrans.transAmount         = transAmount;
                                                    objTrans.transDrAccount      = null;
                                                    objTrans.transCrAccount      = Convert.ToInt32(crAccountId);
                                                    objTrans.transSystemRestrict = false;

                                                    objTrans.transCreatedBy   = thisUser;
                                                    objTrans.transCreatedOn   = DateTime.Now;
                                                    objTrans.transGroupID     = 0;
                                                    objTrans.transIsCompound  = true;
                                                    objTrans.transNarration   = description;
                                                    objTrans.transStatus      = 1;
                                                    objTrans.transSystemIndex = 1;

                                                    objTrans.deptId = Convert.ToInt32(deptId);
                                                    if (deptId == "0")
                                                    {
                                                        objTrans.deptId = defaultDept;
                                                    }

                                                    objTrans.transType      = 1;
                                                    objTrans.transUpdatedBy = thisUser;
                                                    objTrans.transUpdatedOn = DateTime.Now;

                                                    bTrans.Add(objTrans);
                                                    totalAmount += Convert.ToDecimal(amount);

                                                    itemsCount++;
                                                }
                                            }
                                        }
                                        else
                                        {
                                            // Delete existing trans
                                            if (iBiz.FinPro.Rights.edit_vouchar)
                                            {
                                                bTrans.Delete(Convert.ToInt32(transId));
                                            }
                                        }
                                    }
                                }
                            }
                        }

                        if (itemsCount > 0)
                        {
                            int groupID = 0;

                            if (true)
                            {
                                if (!hasNoDepartment)
                                {
                                    string fullVoucharNo = "N/A";

                                    objTransGroup.transGroupCreatedBy           = thisUser;
                                    objTransGroup.transGroupCreatedOn           = selectedDate;
                                    objTransGroup.transGroupForeNumber          = bTransGroup.New_Group_Fore_Number(moduleId, short_Title, objTransGroup.transGroupCreatedOn);
                                    objTransGroup.transGroupPrefixNo            = moduleId;
                                    objTransGroup.transGroupPrefixString        = short_Title;
                                    objTransGroup.transGroupStatus              = 1;
                                    objTransGroup.transGroupTitle               = tbDescription.Text.Trim();
                                    objTransGroup.transGroupTotalAmount         = totalAmount;
                                    objTransGroup.transTransCount               = itemsCount;
                                    objTransGroup.transGroupIsOfficial          = 1;
                                    objTransGroup.transGroupOfficialTotalAmount = totalAmount;
                                    objTransGroup.transGroupRefId               = tbRefId.Text;
                                    objTransGroup.transCField1 = tbCustomValue1.Text;
                                    objTransGroup.transCField2 = tbCustomValue2.Text;
                                    objTransGroup.transCField3 = tbCustomValue3.Text;
                                    objTransGroup.transCField4 = tbCustomValue4.Text;

                                    fullVoucharNo = objTransGroup.transGroupPrefixNo.ToString() + short_Title + objTransGroup.transGroupForeNumber.ToString();
                                    groupID       = bTransGroup.Add(objTransGroup).Value;

                                    // Upload Attachments
                                    iBiz.FinPro.Transactions.Attachments bTransAtt = new iBiz.FinPro.Transactions.Attachments();

                                    if (groupID > 0)
                                    {
                                        if (radSyncAttachments.UploadedFiles.Count > 0)
                                        {
                                            for (int i = 0; i < radSyncAttachments.UploadedFiles.Count; i++)
                                            {
                                                string guid    = Guid.NewGuid().ToString();
                                                string fileExt = radSyncAttachments.UploadedFiles[i].GetExtension();
                                                radSyncAttachments.UploadedFiles[i].SaveAs(Server.MapPath("~/Attachments/") + guid + fileExt, true);

                                                iBiz.FinPro.Transactions.Attachments.objAttachment objTranAtt = new iBiz.FinPro.Transactions.Attachments.objAttachment();
                                                objTranAtt.attachmentMaskedFileName   = guid + fileExt;
                                                objTranAtt.attachmentOriginalFileName = radSyncAttachments.UploadedFiles[i].FileName;
                                                objTranAtt.transGroupID = groupID;
                                                bTransAtt.Add(objTranAtt);
                                            }
                                        }
                                    }

                                    bTrans.Update_Group(thisUser, 0, groupID);
                                    bTrans.Update_Group(thisUser, -1, groupID);

                                    rnNotify.Show("Vouchar has been Created.<br /><br />Vouchar No. is " + fullVoucharNo + "<br /><br />");


                                    // Look for Additional Items
                                    iBiz.FinPro.Modules.AdditionalTransactions bAT = new iBiz.FinPro.Modules.AdditionalTransactions();
                                    ControlCollection ctrlAdditionalItems          = rptVoucherItems.Controls[rptVoucherItems.Controls.Count - 1].Controls;

                                    foreach (Control ctrlItem in ctrlAdditionalItems)
                                    {
                                        if (ctrlItem.ClientID.Contains("rptAdditionalItems"))
                                        {
                                            Repeater rptAdditionalItems = (Repeater)ctrlItem;

                                            foreach (RepeaterItem item in rptAdditionalItems.Items)
                                            {
                                                foreach (Control ctrlHFID in item.Controls)
                                                {
                                                    if (ctrlHFID is HiddenField)
                                                    {
                                                        if (ctrlHFID.ClientID.Contains("hfAdditionalTransId"))
                                                        {
                                                            HiddenField hfAdditionalItem        = (HiddenField)ctrlHFID;
                                                            TextBox     tbAdditionalDescription = (TextBox)Form.FindControl(hfAdditionalItem.UniqueID.Replace("hfAdditionalTransId", "tbAdditionalDescription"));
                                                            TextBox     tbAdditionalAmount      = (TextBox)Form.FindControl(hfAdditionalItem.UniqueID.Replace("hfAdditionalTransId", "tbAddiotionalAmount"));

                                                            decimal additionalAmount;

                                                            if (decimal.TryParse(tbAdditionalAmount.Text.Trim().Replace("%", ""), out additionalAmount))
                                                            {
                                                                bAT.Do_Transactions(groupID, Convert.ToInt32(hfAdditionalItem.Value), additionalAmount, tbAdditionalDescription.Text, totalAmount, selectedDate, thisUser);
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                                else
                                {
                                    bTrans.Delete_Untagged(thisUser);
                                    rnNotify.Show("You must assign department to all items.");
                                }
                            }
                        }
                        else
                        {
                            //imbalanced Debit and Credit
                            bTrans.Delete_Untagged(thisUser);

                            if (itemsCount == 0)
                            {
                                bTrans.Delete_Untagged(thisUser);
                                rnNotify.Show("No valid transaction found.");
                            }
                            else
                            {
                                bTrans.Delete_Untagged(thisUser);
                                rnNotify.Show("Debit and Credit sides are not equal.");
                            }
                        }
                    }
                }
                else
                {
                    rnNotify.Show("Financial year is locked.");
                }
            }
        }
예제 #14
0
        protected void lbtnSubmit_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                iBiz.FinPro.Accounts            bAcc   = new iBiz.FinPro.Accounts();
                iBiz.FinPro.Accounts.objAccount objAcc = new iBiz.FinPro.Accounts.objAccount();

                if (iBiz.FinPro.Rights.create_account && string.IsNullOrEmpty(hfAccountId.Value))
                {
                    objAcc.accountActual              = 0;
                    objAcc.accountCreatedBy           = thisUser;
                    objAcc.accountCreatedOn           = DateTime.Now;
                    objAcc.accountDefaultVersaAccount = 0;
                    objAcc.accountDescription         = tbEditDescription.Text;
                    objAcc.accountIsActive            = true;
                    objAcc.accountIsBudgetDependent   = false;
                    objAcc.accountIsTransactable      = 0;
                    objAcc.accountIsVisible           = true;
                    objAcc.accountLedger              = 0;
                    objAcc.accountLevel       = 1;
                    objAcc.accountTitle       = tbEditTitle.Text;
                    objAcc.accountType        = Convert.ToInt32(ddlEditCategory.SelectedValue);
                    objAcc.accountParent      = Convert.ToInt32(ddlParentAccount.SelectedValue);
                    objAcc.associateID        = null;
                    objAcc.accountSystemIndex = 1;
                    bAcc.Add(objAcc);


                    //Mark Parent Account as Control / Non-Transactable

                    if (Convert.ToInt32(ddlParentAccount.SelectedValue) != 0)
                    {
                        bAcc.Make_Account_Transactable(Convert.ToInt32(ddlParentAccount.SelectedValue), false);
                    }


                    rnNotify.Show("Account has been created.");
                    Load_Categories();
                }
                else if (iBiz.FinPro.Rights.edit_account && !string.IsNullOrEmpty(hfAccountId.Value))
                {
                    objAcc = bAcc.Select(Convert.ToInt32(hfAccountId.Value));
                    objAcc.accountActual              = 0;
                    objAcc.accountCreatedBy           = thisUser;
                    objAcc.accountCreatedOn           = DateTime.Now;
                    objAcc.accountDefaultVersaAccount = 0;
                    objAcc.accountDescription         = tbEditDescription.Text;
                    objAcc.accountIsActive            = true;
                    objAcc.accountIsVisible           = true;
                    objAcc.accountLedger              = 0;
                    objAcc.accountLevel       = 1;
                    objAcc.accountTitle       = tbEditTitle.Text;
                    objAcc.accountSystemIndex = 1;
                    bAcc.Update(objAcc);
                    rnNotify.Show("Account has been created.");
                    Load_Categories();
                }
                else
                {
                    rnNotify.Show("You are not allowed to perform this action.");
                }
            }
        }