protected void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                DashboardVo dashboardVo = (DashboardVo)Session[this.UniqueID];

                for (int i = 0; i < PartList.Items.Count; i++)
                {
                    int  DPId       = int.Parse(PartList.Items[i].Value);
                    bool DPSelected = PartList.Items[i].Selected;

                    foreach (DashboardPartVo dashboardPartVo in dashboardVo.PartList)
                    {
                        if (dashboardPartVo.DashboardPartId == DPId)
                        {
                            dashboardPartVo.Visible = DPSelected;
                            break;
                        }
                    }
                }

                DashboardBo dashboardBo = new DashboardBo();
                dashboardBo.UpdateUserDashboard(dashboardVo);

                InitDashboard();
            }
            catch
            {
                lblError.Visible = true;
                lblError.Text    = "Unable to save dashboard. Contact System Administrator.";
            }
        }
        protected void UpdatePanel1_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
            {
                try
                {
                    DashboardVo dashboardVo = (DashboardVo)Session[this.UniqueID];
                    string[]    PartIds     = SortOrder.Value.Split(',');

                    int Order = 1;
                    foreach (string PartId in PartIds)
                    {
                        int PId = int.Parse(PartId);

                        foreach (DashboardPartVo dashboardPartVo in dashboardVo.PartList)
                        {
                            if (dashboardPartVo.DashboardPartId == PId)
                            {
                                dashboardPartVo.UserOrder = Order;
                                break;
                            }
                        }

                        Order++;
                    }

                    DashboardBo dashboardBo = new DashboardBo();
                    dashboardBo.UpdateUserDashboard(dashboardVo);
                }
                catch
                {
                }
            }
        }
        protected void InitDashboard()
        {
            UserVo userVo = new UserVo();

            userVo.UserId = 20565;

            DashboardBo dashboardBo = new DashboardBo();

            try
            {
                DashboardVo dashboardVo = (DashboardVo)Session[this.UniqueID];

                if (dashboardVo == null)
                {
                    dashboardVo            = dashboardBo.GetUserDashboard(userVo, m_KeyName);
                    Session[this.UniqueID] = dashboardVo;
                }

                PartList.Items.Clear();
                foreach (DashboardPartVo dashboardPartVo in dashboardVo.PartList)
                {
                    PartList.Items.Add(new ListItem(dashboardPartVo.Name, dashboardPartVo.DashboardPartId.ToString(), true));
                    PartList.Items[PartList.Items.Count - 1].Selected = dashboardPartVo.Visible;
                }
            }
            catch
            {
                lblError.Visible = true;
                lblError.Text    = "Unable to display dashboard. Contact System Administrator.";
            }
        }
        public void SetUserParams(int dashboardPartId, string Params)
        {
            DashboardVo dashboardVo = (DashboardVo)Session[this.UniqueID];

            if (dashboardVo != null)
            {
                foreach (DashboardPartVo dashboardPartVo in dashboardVo.PartList)
                {
                    if (dashboardPartVo.DashboardPartId == dashboardPartId)
                    {
                        dashboardPartVo.UserParams = Params;

                        DashboardBo dashboardBo = new DashboardBo();
                        dashboardBo.UpdateUserDashboard(dashboardVo);

                        break;
                    }
                }
            }
        }