public void showRMList()
        {
            rmVo = new RMVo();
            int           Count    = 0;
            List <RMVo>   rmList   = new List <RMVo>();
            List <string> roleList = new List <string>();
            //roleList = userBo.GetUserRoles(userVo.UserId);
            string role = "BM";

            rmVo = advisorStaffBo.GetAdvisorStaff(userVo.UserId);
            try
            {
                //if (roleList.Contains("BM") && Session["CurrentUserRole"] == "BM")
                if (role == Session[SessionContents.CurrentUserRole].ToString())
                {
                    trBMBranchs.Visible = true;
                    if (!Page.IsPostBack)
                    {
                        branchId     = 0;
                        all          = 1;
                        bmIdOrHeadID = rmVo.RMId;
                        BindBMDropDown(bmIdOrHeadID);
                    }


                    rmList = advisorStaffBo.GetBMRMList(branchId, bmIdOrHeadID, all, mypager.CurrentPage, out Count);
                    if (rmList.Count != 0)
                    {
                        lblTotalRows.Text = hdnCount.Value = Count.ToString();
                        DataTable dtAdvisorStaff = new DataTable();

                        dtAdvisorStaff.Columns.Add("UserId");
                        dtAdvisorStaff.Columns.Add("WealthERP Id");
                        dtAdvisorStaff.Columns.Add("RMName");
                        dtAdvisorStaff.Columns.Add("StaffType");
                        dtAdvisorStaff.Columns.Add("StaffRole");
                        dtAdvisorStaff.Columns.Add("Email");
                        dtAdvisorStaff.Columns.Add("BranchList");
                        dtAdvisorStaff.Columns.Add("Mobile Number");

                        DataRow drAdvisorStaff;
                        for (int i = 0; i < rmList.Count; i++)
                        {
                            drAdvisorStaff    = dtAdvisorStaff.NewRow();
                            rmVo              = new RMVo();
                            rmVo              = rmList[i];
                            drAdvisorStaff[0] = rmVo.UserId.ToString();
                            drAdvisorStaff[1] = rmVo.RMId.ToString();
                            drAdvisorStaff[2] = rmVo.FirstName.ToString() + " " + rmVo.MiddleName.ToString() + " " + rmVo.LastName.ToString();

                            if (rmVo.IsExternal == 1)
                            {
                                drAdvisorStaff[3] = "External";
                            }
                            else
                            {
                                drAdvisorStaff[3] = "Internal";
                            }
                            drAdvisorStaff[4] = string.Empty;
                            drAdvisorStaff[5] = rmVo.Email.ToString();
                            drAdvisorStaff[6] = string.Empty;
                            drAdvisorStaff[7] = rmVo.Mobile.ToString();
                            dtAdvisorStaff.Rows.Add(drAdvisorStaff);
                        }
                        //gvRMList.Style.Add("Width", "580px");
                        gvRMList.DataSource         = dtAdvisorStaff;
                        gvRMList.Columns[3].Visible = false;
                        gvRMList.Columns[4].Visible = false;
                        //dtAdvisorStaff.Columns.Remove("StaffRole");
                        //dtAdvisorStaff.Columns.Remove("BranchList");
                        gvRMList.DataBind();

                        this.GetPageCount();
                    }
                    else
                    {
                        gvRMList.DataSource = null;
                        gvRMList.DataBind();
                        DivPager.Visible       = false;
                        lblCurrentPage.Visible = false;
                        lblTotalRows.Visible   = false;
                        trMessage.Visible      = true;
                    }
                    //branchId = advisorBranchBo.GetBranchId(rmVo.RMId);
                    //if (branchId != 0)
                    //{
                    //    //lblMsg.Visible = true;
                    //    //lblMsg.Text = "You dont have RM.. !";

                    //    rmList = advisorStaffBo.GetBMRMList(branchId, mypager.CurrentPage, out Count);

                    //    if (rmList.Count != 0)
                    //    {
                    //        lblTotalRows.Text = hdnCount.Value = Count.ToString();
                    //        DataTable dtAdvisorStaff = new DataTable();

                    //        dtAdvisorStaff.Columns.Add("UserId");
                    //        dtAdvisorStaff.Columns.Add("WealthERP Id");
                    //        dtAdvisorStaff.Columns.Add("RMName");
                    //        dtAdvisorStaff.Columns.Add("StaffType");
                    //        dtAdvisorStaff.Columns.Add("StaffRole");
                    //        dtAdvisorStaff.Columns.Add("Email");
                    //        dtAdvisorStaff.Columns.Add("Mobile Number");
                    //        dtAdvisorStaff.Columns.Add("BranchList");
                    //        DataRow drAdvisorStaff;

                    //        for (int i = 0; i < rmList.Count; i++)
                    //        {
                    //            drAdvisorStaff = dtAdvisorStaff.NewRow();
                    //            rmVo = new RMVo();
                    //            rmVo = rmList[i];
                    //            drAdvisorStaff[0] = rmVo.UserId.ToString();
                    //            drAdvisorStaff[1] = rmVo.RMId.ToString();
                    //            drAdvisorStaff[2] = rmVo.FirstName.ToString() + " " + rmVo.MiddleName.ToString() + " " + rmVo.LastName.ToString();
                    //            //drAdvisorStaff[3] = rmVo.MainBranch.ToString();
                    //            if (rmVo.IsExternal == 1)
                    //                drAdvisorStaff[3] = "External";
                    //            else
                    //                drAdvisorStaff[3] = "Internal";
                    //            drAdvisorStaff[4] = rmVo.RMRole.ToString();
                    //            drAdvisorStaff[5] = rmVo.Email.ToString();
                    //            drAdvisorStaff[6] = rmVo.Mobile.ToString();
                    //            drAdvisorStaff[7] = rmVo.BranchList.ToString();
                    //            dtAdvisorStaff.Rows.Add(drAdvisorStaff);
                    //        }

                    //        gvRMList.DataSource = dtAdvisorStaff;
                    //        gvRMList.DataBind();

                    //        this.GetPageCount();
                    //    }
                    //    else
                    //    {
                    //        gvRMList.DataSource = null;
                    //        gvRMList.DataBind();
                    //        DivPager.Visible = false;
                    //        lblCurrentPage.Visible = false;
                    //        lblTotalRows.Visible = false;
                    //        trMessage.Visible = true;
                    //    }
                    //}
                    //else
                    //{
                    //    trMessage.Visible = true;
                    //}
                    //Session[SessionContents.CurrentUserRole] = null;
                }
                else
                {
                    trBMBranchs.Visible = false;
                    trMessage.Visible   = false;
                    advisorStaffBo      = new AdvisorStaffBo();
                    List <RMVo> advisorStaffList = null;
                    advisorStaffList = advisorStaffBo.GetRMList(advisorVo.advisorId, mypager.CurrentPage, hdnSort.Value, out Count, string.Empty);
                    if (advisorStaffList != null)
                    {
                        lblTotalRows.Text = hdnCount.Value = Count.ToString();
                        DataTable dtAdvisorStaff = new DataTable();

                        dtAdvisorStaff.Columns.Add("UserId");
                        dtAdvisorStaff.Columns.Add("WealthERP Id");
                        dtAdvisorStaff.Columns.Add("RMName");
                        dtAdvisorStaff.Columns.Add("StaffType");
                        dtAdvisorStaff.Columns.Add("StaffRole");
                        dtAdvisorStaff.Columns.Add("Email");
                        dtAdvisorStaff.Columns.Add("Mobile Number");
                        dtAdvisorStaff.Columns.Add("BranchList");
                        DataRow drAdvisorStaff;

                        for (int i = 0; i < advisorStaffList.Count; i++)
                        {
                            drAdvisorStaff    = dtAdvisorStaff.NewRow();
                            rmVo              = new RMVo();
                            rmVo              = advisorStaffList[i];
                            drAdvisorStaff[0] = rmVo.UserId.ToString();
                            drAdvisorStaff[1] = rmVo.RMId.ToString();
                            drAdvisorStaff[2] = rmVo.FirstName.ToString() + " " + rmVo.MiddleName.ToString() + " " + rmVo.LastName.ToString();
                            //drAdvisorStaff[3] = rmVo.MainBranch.ToString();
                            if (rmVo.IsExternal == 1)
                            {
                                drAdvisorStaff[3] = "External";
                            }
                            else
                            {
                                drAdvisorStaff[3] = "Internal";
                            }
                            drAdvisorStaff[4] = rmVo.RMRole.ToString();
                            drAdvisorStaff[5] = rmVo.Email.ToString();
                            drAdvisorStaff[6] = rmVo.Mobile.ToString();
                            drAdvisorStaff[7] = rmVo.BranchList.ToString();
                            dtAdvisorStaff.Rows.Add(drAdvisorStaff);
                        }

                        gvRMList.DataSource = dtAdvisorStaff;
                        gvRMList.DataBind();

                        this.GetPageCount();
                    }
                    else
                    {
                        gvRMList.DataSource = null;
                        gvRMList.DataBind();
                        DivPager.Visible       = false;
                        lblCurrentPage.Visible = false;
                        lblTotalRows.Visible   = false;
                        trMessage.Visible      = true;
                    }
                }
            }
            catch (BaseApplicationException Ex)
            {
                throw Ex;
            }
            catch (Exception Ex)
            {
                BaseApplicationException exBase       = new BaseApplicationException(Ex.Message, Ex);
                NameValueCollection      FunctionInfo = new NameValueCollection();

                FunctionInfo.Add("Method", "ViewRM.ascx:showRMList()");


                object[] objects = new object[4];
                objects[0] = advisorVo;
                objects[1] = rmVo;
                objects[2] = rmId;
                objects[3] = userId;


                FunctionInfo = exBase.AddObject(FunctionInfo, objects);
                exBase.AdditionalInformation = FunctionInfo;
                ExceptionManager.Publish(exBase);
                throw exBase;
            }
        }
        public void showRMList()
        {
            rmVo = new RMVo();
            int           Count    = 0;
            List <RMVo>   rmList   = new List <RMVo>();
            List <string> roleList = new List <string>();
            //roleList = userBo.GetUserRoles(userVo.UserId);
            string role = "BM";

            rmVo = advisorStaffBo.GetAdvisorStaff(userVo.UserId);
            try
            {
                //if (roleList.Contains("BM") && Session["CurrentUserRole"] == "BM")
                if (role == Session[SessionContents.CurrentUserRole].ToString())
                {
                    trBMBranchs.Visible = true;
                    if (!Page.IsPostBack)
                    {
                        branchId     = 0;
                        all          = 1;
                        bmIdOrHeadID = rmVo.RMId;
                        BindBMDropDown(bmIdOrHeadID);
                    }
                    rmList = advisorStaffBo.GetBMRMList(branchId, bmIdOrHeadID, all);
                    if (rmList != null && rmList.Count != 0)
                    {
                        //lblTotalRows.Text = hdnCount.Value = Count.ToString();
                        DataTable dtAdvisorStaff = new DataTable();
                        dtAdvisorStaff.Columns.Add("UserId");
                        dtAdvisorStaff.Columns.Add("WealthERP Id");
                        dtAdvisorStaff.Columns.Add("RMName");
                        dtAdvisorStaff.Columns.Add("StaffCode");
                        dtAdvisorStaff.Columns.Add("StaffType");
                        dtAdvisorStaff.Columns.Add("StaffRole");
                        dtAdvisorStaff.Columns.Add("Email");
                        dtAdvisorStaff.Columns.Add("BranchList");
                        dtAdvisorStaff.Columns.Add("Mobile Number");
                        dtAdvisorStaff.Columns.Add("AR_StaffCode");

                        DataRow drAdvisorStaff;
                        for (int i = 0; i < rmList.Count; i++)
                        {
                            drAdvisorStaff    = dtAdvisorStaff.NewRow();
                            rmVo              = new RMVo();
                            rmVo              = rmList[i];
                            drAdvisorStaff[0] = rmVo.UserId.ToString();
                            drAdvisorStaff[1] = rmVo.RMId.ToString();
                            drAdvisorStaff[2] = rmVo.FirstName.ToString() + " " + rmVo.MiddleName.ToString() + " " + rmVo.LastName.ToString();
                            if (rmVo.IsExternal == 1)
                            {
                                drAdvisorStaff[4] = "External";
                            }
                            else
                            {
                                drAdvisorStaff[4] = "Internal";
                            }
                            if (!string.IsNullOrEmpty(rmVo.StaffCode))
                            {
                                drAdvisorStaff[3] = rmVo.StaffCode;
                            }
                            else
                            {
                                drAdvisorStaff[3] = "";
                            }
                            drAdvisorStaff[5] = rmVo.RMRole;
                            drAdvisorStaff[6] = rmVo.Email.ToString();
                            drAdvisorStaff[8] = rmVo.Mobile.ToString();
                            drAdvisorStaff[7] = rmVo.BranchList;
                            drAdvisorStaff[9] = rmVo.StaffCode;

                            dtAdvisorStaff.Rows.Add(drAdvisorStaff);
                        }
                        gvRMList.DataSource = dtAdvisorStaff;
                        gvRMList.DataBind();


                        if (Cache["RMList" + advisorVo.advisorId.ToString()] == null)
                        {
                            Cache.Insert("RMList" + advisorVo.advisorId.ToString(), dtAdvisorStaff);
                        }
                        else
                        {
                            Cache.Remove("RMList" + advisorVo.advisorId.ToString());
                            Cache.Insert("RMList" + advisorVo.advisorId.ToString(), dtAdvisorStaff);
                        }



                        //this.GetPageCount();
                    }
                    else
                    {
                        gvRMList.DataSource = null;
                        gvRMList.DataBind();
                        //DivPager.Visible = false;
                        //lblCurrentPage.Visible = false;
                        //lblTotalRows.Visible = false;
                        trMessage.Visible = true;
                    }
                }
                else
                {
                    trBMBranchs.Visible = false;
                    trMessage.Visible   = false;
                    advisorStaffBo      = new AdvisorStaffBo();
                    List <RMVo> advisorStaffList = null;
                    //advisorStaffList = advisorStaffBo.GetRMList(advisorVo.advisorId, mypager.CurrentPage, hdnSort.Value, out Count, string.Empty);
                    advisorStaffList = advisorStaffBo.GetRMList(advisorVo.advisorId, hdnSort.Value, string.Empty);

                    if (advisorStaffList != null)
                    {
                        //lblTotalRows.Text = hdnCount.Value = Count.ToString();
                        DataTable dtAdvisorStaff = new DataTable();

                        dtAdvisorStaff.Columns.Add("UserId");
                        dtAdvisorStaff.Columns.Add("WealthERP Id");
                        dtAdvisorStaff.Columns.Add("RMName");
                        dtAdvisorStaff.Columns.Add("StaffCode");
                        dtAdvisorStaff.Columns.Add("StaffType");
                        dtAdvisorStaff.Columns.Add("StaffRole");
                        dtAdvisorStaff.Columns.Add("Email");
                        dtAdvisorStaff.Columns.Add("Mobile Number");
                        dtAdvisorStaff.Columns.Add("BranchList");
                        dtAdvisorStaff.Columns.Add("AR_StaffCode");
                        dtAdvisorStaff.Columns.Add("RoleList");
                        dtAdvisorStaff.Columns.Add("ReportingTo");
                        dtAdvisorStaff.Columns.Add("ReportingTitle");
                        dtAdvisorStaff.Columns.Add("Title");
                        DataRow drAdvisorStaff;

                        for (int i = 0; i < advisorStaffList.Count; i++)
                        {
                            drAdvisorStaff    = dtAdvisorStaff.NewRow();
                            rmVo              = new RMVo();
                            rmVo              = advisorStaffList[i];
                            drAdvisorStaff[0] = rmVo.UserId.ToString();
                            drAdvisorStaff[1] = rmVo.RMId.ToString();
                            drAdvisorStaff[2] = rmVo.FirstName.ToString() + " " + rmVo.MiddleName.ToString() + " " + rmVo.LastName.ToString();
                            //drAdvisorStaff[3] = rmVo.MainBranch.ToString();
                            if (!string.IsNullOrEmpty(rmVo.StaffCode))
                            {
                                drAdvisorStaff[3] = rmVo.StaffCode;
                            }
                            else
                            {
                                drAdvisorStaff[3] = "";
                            }
                            if (rmVo.IsExternal == 1)
                            {
                                drAdvisorStaff[4] = "External";
                            }
                            else
                            {
                                drAdvisorStaff[4] = "Internal";
                            }
                            drAdvisorStaff[5]  = rmVo.RMRole.ToString();
                            drAdvisorStaff[6]  = rmVo.Email.ToString();
                            drAdvisorStaff[7]  = rmVo.Mobile.ToString();
                            drAdvisorStaff[8]  = rmVo.BranchList.ToString();
                            drAdvisorStaff[9]  = rmVo.StaffCode;
                            drAdvisorStaff[10] = rmVo.userRole;
                            drAdvisorStaff[11] = rmVo.ReportingTo;
                            drAdvisorStaff[12] = rmVo.ReportingTitle;
                            drAdvisorStaff[13] = rmVo.Title;
                            dtAdvisorStaff.Rows.Add(drAdvisorStaff);
                        }
                        dtAdvisorStaff.DefaultView.Sort = "RMName ASC";
                        gvRMList.DataSource             = dtAdvisorStaff;
                        gvRMList.DataBind();


                        if (Cache["RMList" + advisorVo.advisorId.ToString()] == null)
                        {
                            Cache.Insert("RMList" + advisorVo.advisorId.ToString(), dtAdvisorStaff);
                        }
                        else
                        {
                            Cache.Remove("RMList" + advisorVo.advisorId.ToString());
                            Cache.Insert("RMList" + advisorVo.advisorId.ToString(), dtAdvisorStaff);
                        }



                        //this.GetPageCount();
                    }
                    else
                    {
                        gvRMList.DataSource = null;
                        gvRMList.DataBind();
                        //DivPager.Visible = false;
                        //lblCurrentPage.Visible = false;
                        //lblTotalRows.Visible = false;
                        trMessage.Visible = true;
                    }
                }
            }
            catch (BaseApplicationException Ex)
            {
                throw Ex;
            }
            catch (Exception Ex)
            {
                BaseApplicationException exBase       = new BaseApplicationException(Ex.Message, Ex);
                NameValueCollection      FunctionInfo = new NameValueCollection();

                FunctionInfo.Add("Method", "ViewRM.ascx:showRMList()");


                object[] objects = new object[4];
                objects[0] = advisorVo;
                objects[1] = rmVo;
                objects[2] = rmId;
                objects[3] = userId;


                FunctionInfo = exBase.AddObject(FunctionInfo, objects);
                exBase.AdditionalInformation = FunctionInfo;
                ExceptionManager.Publish(exBase);
                throw exBase;
            }
        }