/// <summary> /// 生产菜单 /// </summary> public void BuildMenu() { DataRow[] rowArray1 = null; DataRow[] rowArray2 = null; string groupNo; string groupName; string menuID; MenuStrip mainMenu = new MenuStrip(); try { LogedInUser curUser = ClientSession.GetInstance().CurrentUser; string clientType = UserConfigXml.GetConfigInfo("ClientType", "type"); DataTable dt = new DataTable(); //根据配置文件,离线或在线生成用户菜单 if (ClientConfiguration.IsOfflineLogin) { //离线生成菜单 //dt = LoginUserOfflineBLL.GetInstance("ClientDB").GetMenuOffline(curUser.UserInfo.Id, clientType); } else { //在线生成菜单 //dt = ProxyFactory.UserProxy.GetMenu(curUser.UserInfo.Id, clientType); } dt = LoginUserOfflineBLL.GetInstance("ClientDB").GetMenuOffline(curUser.UserInfo.Id, clientType); if (dt.Rows.Count != 0) { rowArray1 = dt.Select("father='0'"); for (int i = 0; i < rowArray1.Length; i++) { //创建一个父菜单项 RibbonPage newPage = new RibbonPage(); //给菜单赋Text值。也就是在界面上看到的值。 newPage.Text = rowArray1[i]["name"].ToString().Trim(); menuID = rowArray1[i]["id"].ToString().Trim(); rowArray2 = dt.Select("father = '" + menuID + "'"); if (rowArray2.Length > 0) { CreateSubMenu(newPage, menuID, dt); } ribbon.Pages.Add(newPage); } } } catch (Exception ex) { throw ex; } }
/// <summary> /// 发送用户名和密码,处理可能出现的异常,登录成功后将User对象放入客户端,然后启动主窗体。 /// </summary> private void login() { if (!CheckName()) { this.userNameTextBox.Focus(); this.userNameTextBox.SelectAll(); return; } if (!CheckPassword()) { this.passwordTextBox.Focus(); this.passwordTextBox.SelectAll(); return; } try { LogedInUser user = null; if (ClientConfiguration.IsOffline && (File.Exists(ClientConfiguration.LocalDBFile) && LoginUserOfflineBLL.GetInstance("ClientDB").GetUserCount(userNameTextBox.Text.Trim()) > 0)) { //离线登录,并取得当前登录用户信息 user = LoginUserOfflineBLL.GetInstance("ClientDB").Login(userNameTextBox.Text.Trim(), SecretUtil.MD5Encoding(passwordTextBox.Text)); } else { //在线 user = ProxyFactory.UserProxy.DoLogin(userNameTextBox.Text.Trim(), SecretUtil.MD5Encoding(passwordTextBox.Text)); } user.HighId = CommUtilBLL.GetInstance("ClientTempDB").GetHighID(); ClientSession.GetInstance().CurrentUser = user; ClientSession.GetInstance().IsLogin = true; } catch (LoginException loginEx) { XtraMessageBox.Show(string.Format("用户登录失败:\n {0}.", loginEx.Message), "登录失败", MessageBoxButtons.OKCancel); //XtraMessageBox.Show(loginEx.StackTrace); EventLog.WriteEntry("login", loginEx.StackTrace); return; } catch (Exception ex) { //这个处理不友好,发布前需要修改 XtraMessageBox.Show(string.Format("用户登录失败:\n {0}.", ex.Message), "登录失败", MessageBoxButtons.OKCancel); //XtraMessageBox.Show(ex.StackTrace); EventLog.WriteEntry("login", ex.StackTrace); return; } this.Hide(); //usercode写入到app.config文件 string userCode = userNameTextBox.Text; string userCodeList = ClientConfiguration.UserCode; if (!userCodeList.Contains(userCode)) { if (!string.IsNullOrEmpty(userCodeList)) { ClientConfiguration.UserCode = userCode + "," + userCodeList; } else { ClientConfiguration.UserCode = userCode; } } ClientConfiguration.LastUserCode = userCode; ClientConfiguration.Save(); UserConfigXml.SetConfigInfo("LoginLog", "LoginedUsersCode", ClientConfiguration.UserCode); UserConfigXml.SetConfigInfo("LoginLog", "LastLoginedUserCode", ClientConfiguration.LastUserCode); this.passwordTextBox.Text = ""; if (!ClientConfiguration.MenuStyle.Equals("0")) { new MainForm(this).Show(); } else { new ParentForm(this).Show(); } //this.Close(); }