Пример #1
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            try
            {
                // asc.controllInitializeSize(this);
                #region >>>>>系统初始化
                foreach (XmlNode lineNode in ClsCommon.InfoRootNode.ChildNodes)
                {
                    LineName = lineNode.Attributes["name"].Value;
                    foreach (XmlNode _mNode in lineNode.SelectNodes("station"))
                    {
                        StationName = _mNode.Attributes["name"].Value;
                    }
                }
                #endregion
                #region >>>>>权限管理
                toolStripStatusName.Text = ClsCommon.userName;//显示登录角色
                if (ClsCommon.userName == "超级管理员")
                {
                    buttonItem2.Visible       = true;
                    buttonItem22.Visible      = true;
                    sideBarPanelItem1.Visible = true;
                    for (int i = 0; i < sideBarPanelItem1.SubItems.Count; i++)
                    {
                        sideBarPanelItem1.SubItems[i].Visible = true;
                    }
                    sideBarPanelItem2.Visible = true;
                    for (int i = 0; i < sideBarPanelItem2.SubItems.Count; i++)
                    {
                        sideBarPanelItem2.SubItems[i].Visible = true;
                    }
                    sideBarPanelItem3.Visible = true;
                    for (int i = 0; i < sideBarPanelItem3.SubItems.Count; i++)
                    {
                        sideBarPanelItem3.SubItems[i].Visible = true;
                    }
                    sideBarPanelItem4.Visible = true;
                    for (int i = 0; i < sideBarPanelItem4.SubItems.Count; i++)
                    {
                        sideBarPanelItem4.SubItems[i].Visible = true;
                    }
                    sideBarPanelItem5.Visible = true;
                    for (int i = 0; i < sideBarPanelItem5.SubItems.Count; i++)
                    {
                        sideBarPanelItem5.SubItems[i].Visible = true;
                    }
                    sideBarPanelItem6.Visible = true;
                    for (int i = 0; i < sideBarPanelItem6.SubItems.Count; i++)
                    {
                        sideBarPanelItem6.SubItems[i].Visible = true;
                    }
                }
                else
                {
                    sideBarPanelItem7.Visible = false;
                    #region >>>初始化用户权限
                    Dictionary <string, List <Dictionary <int, string> > > dic = LoadXmlConfig();
                    DataTable dt_user     = User_BLL.GetUserPower(ClsCommon.userName);
                    string    user_powerX = dt_user.Rows[0]["Power"].ToString();

                    string user_power = EncryPtForMy.Class1.DecryptDES(user_powerX);

                    Dictionary <string, List <int> > dic_split_power = Split_Power(user_power);

                    // Lookup<string, string> lookup = ;
                    Dictionary <string, string> dicX = new Dictionary <string, string>();//放置循环结果
                    for (int i = 0; i < dic_split_power.Count; i++)
                    {
                        for (int j = 0; j < dic.Count; j++)
                        {
                            if (dic_split_power.Keys.ToList()[i] == dic.Keys.ToList()[j])
                            {
                                List <int> listX = dic_split_power[dic_split_power.Keys.ToList()[i]];
                                List <Dictionary <int, string> > listC = dic[dic.Keys.ToList()[j]];
                                Dictionary <int, string>         dicCX = new Dictionary <int, string>();
                                for (int m = 0; m < listC.Count; m++)
                                {
                                    for (int w = 0; w < (listC[m] as Dictionary <int, string>).Keys.Count; w++)
                                    {
                                        dicCX.Add((listC[m] as Dictionary <int, string>).Keys.ToList()[w], (listC[m] as Dictionary <int, string>).Values.ToList()[w]);
                                    }
                                }
                                for (int n = 0; n < listX.Count; n++)
                                {
                                    for (int p = 0; p < dicCX.Count; p++)
                                    {
                                        if (listX[n] == dicCX.Keys.ToList()[p])
                                        {
                                            if (dic_split_power.Keys.ToList()[i] == "basis")
                                            {
                                                sideBarPanelItem1.Visible = true;
                                                SideBar sb = this.Controls["sideBar1"] as SideBar;
                                                sb.GetItem("sideBarPanelItem1").SubItems[dicCX.Values.ToList()[p]].Visible = true;
                                                if (dicCX.Values.ToList()[p].ToString().Equals("buttonItem7"))
                                                {
                                                    buttonItem2.Visible = true;
                                                }
                                                if (dicCX.Values.ToList()[p].ToString().Equals("buttonItem8"))
                                                {
                                                    buttonItem22.Visible = true;
                                                }
                                            }
                                            if (dic_split_power.Keys.ToList()[i] == "plan")
                                            {
                                                sideBarPanelItem4.Visible = true;
                                                SideBar sb = this.Controls["sideBar1"] as SideBar;
                                                sb.GetItem("sideBarPanelItem4").SubItems[dicCX.Values.ToList()[p]].Visible = true;
                                            }
                                            if (dic_split_power.Keys.ToList()[i] == "formula")
                                            {
                                                sideBarPanelItem2.Visible = true;
                                                SideBar sb = this.Controls["sideBar1"] as SideBar;
                                                sb.GetItem("sideBarPanelItem2").SubItems[dicCX.Values.ToList()[p]].Visible = true;
                                            }
                                            if (dic_split_power.Keys.ToList()[i] == "table")
                                            {
                                                sideBarPanelItem5.Visible = true;
                                                SideBar sb = this.Controls["sideBar1"] as SideBar;
                                                sb.GetItem("sideBarPanelItem5").SubItems[dicCX.Values.ToList()[p]].Visible = true;
                                            }
                                            if (dic_split_power.Keys.ToList()[i] == "tool")
                                            {
                                                sideBarPanelItem3.Visible = true;
                                                SideBar sb = this.Controls["sideBar1"] as SideBar;
                                                sb.GetItem("sideBarPanelItem3").SubItems[dicCX.Values.ToList()[p]].Visible = true;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                    #endregion
                }

                //if (ClsCommon.userName != "Administrator" && ClsCommon.userName != "超级管理员")
                //{
                //    buttonItem5.Visible = false;
                //    sideBarPanelItem6.Visible = false;
                //}
                //if (ClsCommon.userName != "管理员" && ClsCommon.userName != "Administrator" && ClsCommon.userName != "超级管理员")
                //{
                //    buttonItem6.Visible = false;
                //    buttonItem7.Visible = false;
                //    labelItem1.Visible = false;
                //    buttonItem2.Visible = false;
                //    sideBarPanelItem6.Visible = false;
                //}
                //if (ClsCommon.userName != "Administrator")
                //{
                //    buttonItem5.Visible = false;
                //}
                //if (ClsCommon.userName != "管理员"&& ClsCommon.userName != "Administrator")
                //{
                //    buttonItem6.Visible = false;
                //    buttonItem7.Visible = false;
                //    labelItem1.Visible = false;
                //    buttonItem2.Visible = false;
                //}
                #endregion
                #region >>>>>初始化板卡
                //if (Function_BLL.getStationAttribute(LineName, StationName, "adamOrNot") == "1")
                //{
                //    ab = new Adam_BLL();
                //    ab.LineName = LineName;
                //    ab.StationName = StationName;
                //    ab.recodeAdamMessage += new Adam_BLL.recodeAdamLog(recordMessage);
                //    ab.AdamalarmType += new Adam_BLL.AdamAlarm(AlarmFormBusiness);
                //    ab.Run();
                //}
                #endregion
                #region >>>>>初始化打印
                //if (Function_BLL.getStationAttribute(LineName, StationName, "printOrNot") == "1")
                //{
                //    print = new Print_BLL();
                //    print.recodePrintMessage += new Print_BLL.recodePrintLog(recordMessage);
                //    print.printalarmType += new Print_BLL.printAlarm(AlarmFormBusiness);
                //    Thread printworkThread = new Thread(new ThreadStart(print.Run));
                //    printworkThread.Start();
                //}
                #endregion
                recordMessage("系统初始化成功!! " + ClsCommon.userName + "  欢迎你!", 0);
            }
            catch (Exception ex)
            {
                recordMessage("系统初始化失败,请重启......" + ex.Message, 1);
                Application.Restart();
            }
        }