protected void RadGrid1_OnItemCommand(object sender, GridCommandEventArgs e)
        {
            try
            {

                GridDataItem item = (GridDataItem) e.Item;

                string id = item["colId"].Text;

                switch (e.CommandName)
                {
                    case "btnSelect":
                        Response.Redirect("BankAccountsInfo.aspx?id=" + id, true);
                        break;
                    case "btnDelete":
                        //int delete = new Bank().DeleteBankByBankId(int.Parse(id));
                        int delete = new BankAccounts().DeleteBankAccountsByBankAccountId(int.Parse(id));

                        if (delete == 0)
                        {
                            Alert.Show("Data was not delete..");
                        }
                        else
                            LoadAccountsTable();
                        break;
                }
            }
            catch (Exception ex)
            {
                Alert.Show(ex.Message);
            }
        }
        protected void btnSaveAccount_Click(object sender, EventArgs e)
        {
            BankAccounts objAccounts = new BankAccounts();

            List<BankAccounts> myList = objAccounts.GetAllBankAccounts(_user.CompanyId);

            objAccounts.BankAccountId = myList.Count+1;
            objAccounts.BranchName = txtBranchName.Value;
            objAccounts.AccountNo = txtAccountNo.Value;
            objAccounts.AccountTitle = txtTitle.Value;
            objAccounts.AccountType = accountTypeRadDropDownList1.SelectedItem.Text;
            objAccounts.OpeningDate = (RadDatePicker2.SelectedDate.ToString());
            objAccounts.CompanyId = _company.CompanyId;
            objAccounts.IsActive = chkIsActive.Checked;

            int success = objAccounts.InsertBankAccounts();

            if (success > 0)
            {
                this.LoadAccountsTable();
                Session["saveBankAccountInfo"] = ("Accounts info Saved successfully");
                Response.Redirect(Request.RawUrl);

                //
                this.Clear();
            }
            else
            {
                Alert.Show("Error occured");
            }
        }
        protected void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                BankAccounts objAccounts = new BankAccounts();

                List<BankAccounts> myList = objAccounts.GetAllBankAccounts(_user.CompanyId);

                objAccounts.BankAccountId = myList.Count;
                if (bankIdRadDropDownList1.SelectedIndex > -1)
                {

                    objAccounts.BankId = int.Parse(bankIdRadDropDownList1.SelectedItem.Value);
                }
                else
                {
                    Alert.Show("Please select a bank");

                }
                objAccounts.BranchName = txtBranchName.Value;
                objAccounts.AccountNo = txtAccountNo.Value;
                objAccounts.AccountTitle = txtTitle.Value;
                objAccounts.AccountType = accountTypeRadDropDownList1.SelectedItem.Text;
                objAccounts.OpeningDate = (RadDatePicker2.SelectedDate.ToString());
                objAccounts.CompanyId = _company.CompanyId;
                objAccounts.IsActive = chkIsActive.Checked;

                int sucess = 0;
                if (lblId.Text == "" || lblId.Text == "0")
                {

                    objAccounts.BankAccountId=new BankAccounts().GetMaxAccountId()+1;

                    sucess = objAccounts.InsertBankAccounts();

                    if (sucess > 0)
                    {
                        Alert.Show("Bank Accounts info saved successfully");
                        this.Clear();
                    }
                }
                else
                {
                    objAccounts.BankAccountId = int.Parse(lblId.Text);

                    sucess = objAccounts.UpdateBankAccounts();

                    if (sucess > 0)
                    {
                        Response.Redirect("BankAccoutsList.aspx", true);
                    }
                }
            }
            catch (Exception ex)
            {
                Alert.Show(ex.Message);
            }
        }
        private void LoadAccountsTable()
        {
            try
            {
                tableBody.InnerHtml = "";
                string htmlContent = "";
                BankAccounts accounts = new BankAccounts();
                List<BankAccounts> allaAccountses = accounts.GetAllBankAccounts(_company.CompanyId);
                foreach (BankAccounts acc in allaAccountses)
                {

                    htmlContent += "<tr>";
                    htmlContent += String.Format(@"<th>{0}</th><th>{1}</th><th>{2}</th><th>{3}</th><th>{4}</th><th>{5}</th>",  acc.BranchName, acc.AccountNo, acc.AccountTitle, acc.AccountType, acc.OpeningDate, acc.IsActive);
                    htmlContent += "</tr>";
                }

                tableBody.InnerHtml += htmlContent;
            }
            catch (Exception exc)
            {
                Alert.Show(exc.Message);
            }
        }
        private void LoadJournalDetailsDataTable()
        {
            try
            {

                string htmlContent = "";
                totalCredit.InnerHtml = "";
                totalDebit.InnerHtml = "";
                BankAccounts aBankAccount = new BankAccounts();
                List<BankAccounts> aBankAccountList = aBankAccount.GetAllBankAccounts(_company.CompanyId);
                List<JournalDetails> aJournalList =(List<JournalDetails>)Session["JournalDetailsInformation"];

                journalDetailsTableBody.InnerHtml = "";
                foreach (JournalDetails Journal in aJournalList)
                {
                    BankAccounts newBankAccounts = new BankAccounts();
                    foreach (var bank in aBankAccountList)
                    {
                        if (bank.BankAccountId == Journal.AccountNo)
                        {
                            newBankAccounts = bank;
                            break;
                        }
                    }

                    htmlContent += String.Format(@"<tr><th>{0}</th><th>{1}</th><th>{2}</th><th>{3}</th><th>{4}</th><th>{5}</th></tr>", newBankAccounts.AccountNo, newBankAccounts.AccountTitle, Journal.Debit, Journal.Credit, Journal.Description, Journal.VoucherNo);

                }
                var totalCredi = from n in aJournalList select n.Credit;
                var totalDebi = from n in aJournalList select n.Debit;
                Decimal totalCreditbalance = totalCredi.Sum();
                Decimal totalDebitbalance = totalDebi.Sum();
                journalDetailsTableBody.InnerHtml += htmlContent;
                totalDebit.InnerHtml += totalDebitbalance.ToString();
                totalCredit.InnerHtml += totalCreditbalance.ToString();

            }
            catch (Exception exp)
            {
                Alert.Show(exp.Message);
            }
        }
 private void LoadJournalAccountNo()
 {
     BankAccounts anAccount=new BankAccounts();
     List<BankAccounts> accountList = anAccount.GetAllBankAccounts(_company.CompanyId);
     accountNoDropDownList.DataSource = accountList;
     accountNoDropDownList.DataTextField = "AccountTitle";
     accountNoDropDownList.DataValueField = "BankAccountId";
     accountNoDropDownList.DataBind();
 }
        protected void Page_Load(object sender, EventArgs e)
        {
            _company = (Company)Session["Company"];
            _user = (Users)Session["User"];

            if (!isValidSession())
            {
                string str = Request.QueryString.ToString();
                if (str == string.Empty)
                    Response.Redirect("LogIn.aspx?refPage=index.aspx");
                else
                    Response.Redirect("LogIn.aspx?refPage=index.aspx?" + str);
            }
            if (!IsPostBack)
            {
                if (Request.QueryString["id"] != null)
                {
                    string bankAccountId = Request.QueryString["id"].ToString();

                    BankAccounts objBankAccounts = new BankAccounts().GetBankAccountsByBankAccountId(int.Parse(bankAccountId), _company.CompanyId);

                    if (objBankAccounts != null || objBankAccounts.BankAccountId != 0)
                    {

                        List<Bank> bankList = new List<Bank>();
                        Bank bank = new Bank();

                        lblId.Text = objBankAccounts.BankAccountId.ToString();

                        bankIdRadDropDownList1.Items.Clear();
                        bankList = bank.GetAllBank(_company.CompanyId);

                        List<string> bankName = new List<string>();
                        foreach (Bank bankNew in bankList)
                        {
                            if (bankNew.BankId == objBankAccounts.BankId)
                                bankName.Add(bankNew.BankName);
                        }
                        bankIdRadDropDownList1.DataSource = bankName;
                        bankIdRadDropDownList1.DataBind();

                        txtBranchName.Value = objBankAccounts.BranchName;
                        txtAccountNo.Value = objBankAccounts.AccountNo;
                        txtTitle.Value = objBankAccounts.AccountTitle;

                        accountTypeRadDropDownList1.Items.Clear();
                        List<string> list = new List<string>();
                        list.Add(objBankAccounts.AccountType);
                        accountTypeRadDropDownList1.DataSource = list;
                        accountTypeRadDropDownList1.DataBind();

                        RadDatePicker2.SelectedDate = DateTime.Parse(objBankAccounts.OpeningDate);
                        chkIsActive.Checked = objBankAccounts.IsActive;

                    }
                }
            }
            this.LoadBankNames();
            this.LoadAccountTypeDropDown();
        }
        void LoadType()
        {
            List<BankAccounts>accList=new List<BankAccounts>();
            BankAccounts acc=new BankAccounts();

            accList = acc.GetAllBankAccounts(_company.CompanyId);
            List<string>accTypeList=new List<string>();

            foreach (BankAccounts bankAccounts in accList)
            {
                accTypeList.Add(bankAccounts.AccountType);
            }
            chartOfAccountTypeDropDownList.DataSource = accTypeList;
            chartOfAccountTypeDropDownList.DataBind();
        }
        private void LoadAccountsTable()
        {
            try
            {
                BankAccounts objAccounts=new BankAccounts();
                objAccountList = objAccounts.GetAllBankAccounts(_company.CompanyId);

                if(objAccountList.Count==0)
                    objAccountList.Add(new BankAccounts());

                RadGrid1.DataSource = objAccountList;
                RadGrid1.Rebind();

            }
            catch (Exception ex)
            {
                Alert.Show(ex.Message);
            }
        }