public void ucBtnLogin_Click(object sender, System.EventArgs e) { string dbName = (this.cboDatabase.ComboBoxData.SelectedItem as BenQGuru.eMES.Common.Config.PersistBrokerSetting).Name; MesEnviroment.LoginDB = dbName; _domainDataProvider = ApplicationService.Login(dbName).DataProvider; SecurityFacade _facade = null; BaseModelFacade _basemodelFacade = null; try { _facade = new SecurityFacade(DataProvider); _basemodelFacade = new BaseModelFacade(DataProvider); } catch (Exception ex) { Log.Error(ex.Message); //ApplicationRun.GetInfoForm().Add(new UserControl.Message(ex)); return; } ApplicationService.Current().DataProvider = _basemodelFacade.DataProvider; //缓解性能问题 ((BenQGuru.eMES.Common.DomainDataProvider.SQLDomainDataProvider)DataProvider).PersistBroker.AutoCloseConnection = false; ((BenQGuru.eMES.Common.DomainDataProvider.SQLDomainDataProvider)DataProvider).PersistBroker.OpenConnection(); try { #region 设置多国语言 string language = this.ucLClanguage.ComboBoxData.SelectedItem.ToString(); if (language == "中文简体") { UserControl.MutiLanguages.Language = LanguageType.SimplifiedChinese; ApplicationService.Current().Language = LanguageType.SimplifiedChinese; } else if (language == "中文繁體") { UserControl.MutiLanguages.Language = LanguageType.TraditionalChinese; ApplicationService.Current().Language = LanguageType.TraditionalChinese; } else if (language == "English") { UserControl.MutiLanguages.Language = LanguageType.English; ApplicationService.Current().Language = LanguageType.English; } #endregion if (this.ucLEUserCode.Value.Trim() == string.Empty) { //ApplicationRun.GetInfoForm().Add(new UserControl.Message(UserControl.MessageType.Error, "$Error_User_Code_Empty")); AlertLoginMessage(new UserControl.Message(UserControl.MessageType.Error, "$Error_User_Code_Empty")); ucLEUserCode.TextFocus(false, true); return; } // 未输入密码 if (this.ucLEPassword.Value.Trim() == string.Empty) { AlertLoginMessage(new UserControl.Message(UserControl.MessageType.Error, "$Error_Password_Empty")); ucLEPassword.Focus(); return; } // 未输入资源 if (this.ucLEResourceCode.Value.Trim() == string.Empty) { AlertLoginMessage(new UserControl.Message(UserControl.MessageType.Error, "$Error_Resource_Empty")); ucLEResourceCode.TextFocus(false, true); return; } object[] objUserGroup = null; User user = _facade.LoginCheck(this.ucLEUserCode.Value.Trim().ToUpper(), this.ucLEPassword.Value.Trim().ToUpper(), out objUserGroup); // 用户名不存在 if (user == null) { AlertLoginMessage(new UserControl.Message(UserControl.MessageType.Error, "$Error_User_Not_Exist")); ucLEUserCode.TextFocus(false, true); return; } object obj = _basemodelFacade.GetResource(this.ucLEResourceCode.Value.Trim().ToUpper()); if (obj == null) { AlertLoginMessage(new UserControl.Message(UserControl.MessageType.Error, "$Error_Resource_Not_Exist")); ucLEResourceCode.TextFocus(false, true); return; } // 检查Resource权限 bool bIsAdmin = false; if (objUserGroup != null) { foreach (object o in objUserGroup) { if (((UserGroup)o).UserGroupType == "ADMIN") { bIsAdmin = true; break; } } } if (!bIsAdmin) { if (!_facade.CheckResourceRight(user.UserCode, this.ucLEResourceCode.Value.Trim().ToUpper())) { AlertLoginMessage(new UserControl.Message(UserControl.MessageType.Error, "$Error_No_Resource_Right")); ucLEUserCode.TextFocus(false, true); return; } } // Add Org ID object org = _basemodelFacade.GetOrg(((Resource)obj).OrganizationID); if (org != null) { GlobalVariables.CurrentOrganizations.Clear(); GlobalVariables.CurrentOrganizations.Add((Organization)org); } else { AlertLoginMessage(new UserControl.Message(UserControl.MessageType.Error, "$Error_NoOrganizationOfTheResource")); ucLEResourceCode.TextFocus(false, true); return; } //自动更新的功能完善 object objUpdater = ApplicationService.CheckUpdate(); if (objUpdater != null) { Updater upd = (BenQGuru.eMES.Web.Helper.Updater)objUpdater; ApplicationService.AutoUpdate(upd.Location.Trim(), upd.LoginUser, upd.LoginPassword); } ApplicationService.Current().LoginInfo = new LoginInfo(user.UserCode, (Resource)obj, objUserGroup); //修改 显示用户名 string strUserName = String.Empty; string strResource = String.Empty; if (user != null) { strUserName = user.UserName.Trim(); } if (ApplicationService.Current().LoginInfo != null) { strResource = string.Format("{0}/{1}/{2}", ApplicationService.Current().LoginInfo.Resource.ResourceCode, ApplicationService.Current().LoginInfo.Resource.StepSequenceCode, ApplicationService.Current().LoginInfo.Resource.SegmentCode); } ApplicationService.Current().MainWindows = fmain; ApplicationService.Current().MainWindows.LoginVersion = UserControl.FileLog.GetLocalCSVersion(UserControl.FileLog.VersionFileName); ApplicationService.Current().MainWindows.LoginDateTime = DateTime.Now; ApplicationService.Current().MainWindows.LoginUser = strUserName; ApplicationService.Current().MainWindows.LoginResource = strResource; ApplicationService.Current().MainWindows.LoginDB = (this.cboDatabase.ComboBoxData.SelectedItem as BenQGuru.eMES.Common.Config.PersistBrokerSetting).Text; fmain.Flash(); Log.ClearOldLogFiles(ConfigurationManager.AppSettings.Get("LogKeepDays")); } catch (Exception ex) { this.ShowMessage(ex); if (ex.Message == "$Error_Password_Not_Match") { ucLEPassword.Focus(); } else { ucLEUserCode.TextFocus(false, true); } return; } finally { //缓解性能问题 ((BenQGuru.eMES.Common.DomainDataProvider.SQLDomainDataProvider)DataProvider).PersistBroker.OpenConnection(); ((BenQGuru.eMES.Common.DomainDataProvider.SQLDomainDataProvider)DataProvider).PersistBroker.AutoCloseConnection = true; } this.Close(); }
public void ucBtnLogin_Click(object sender, System.EventArgs e) { //added by carey.cheng on 2010-05-18 for new login mode string dbName = (this.cboDatabase.ComboBoxData.SelectedItem as BenQGuru.eMES.Common.Config.PersistBrokerSetting).Name; MesEnviroment.LoginDB = dbName; _domainDataProvider = ApplicationService.Login(dbName).DataProvider; //end added by carey.cheng on 2010-05-18 for new login mode SecurityFacade _facade = null; BaseModelFacade _basemodelFacade = null; try { _facade = new SecurityFacade(DataProvider); _basemodelFacade = new BaseModelFacade(DataProvider); } catch (Exception ex) { Log.Error(ex.Message); ApplicationRun.GetInfoForm().Add(new UserControl.Message(ex)); return; } ApplicationService.Current().DataProvider = _basemodelFacade.DataProvider; //Laws Lu,2005/10/19,新增 缓解性能问题 ((BenQGuru.eMES.Common.DomainDataProvider.SQLDomainDataProvider)DataProvider).PersistBroker.AutoCloseConnection = false; ((BenQGuru.eMES.Common.DomainDataProvider.SQLDomainDataProvider)DataProvider).PersistBroker.OpenConnection(); try { #region 设置多国语言 string language = this.ucLClanguage.ComboBoxData.SelectedItem.ToString(); if (language == "中文简体") { UserControl.MutiLanguages.Language = LanguageType.SimplifiedChinese; ApplicationService.Current().Language = LanguageType.SimplifiedChinese; } else if (language == "中文繁體") { UserControl.MutiLanguages.Language = LanguageType.TraditionalChinese; ApplicationService.Current().Language = LanguageType.TraditionalChinese; } else if (language == "English") { UserControl.MutiLanguages.Language = LanguageType.English; ApplicationService.Current().Language = LanguageType.English; } #endregion if (this.ucLEUserCode.Value.Trim() == string.Empty) { //ApplicationRun.GetInfoForm().Add(new UserControl.Message(UserControl.MessageType.Error, "$Error_User_Code_Empty")); AlertLoginMessage(new UserControl.Message(UserControl.MessageType.Error, "$Error_User_Code_Empty")); ucLEUserCode.TextFocus(false, true); return; } // 未输入密码 if (this.ucLEPassword.Value.Trim() == string.Empty) { AlertLoginMessage(new UserControl.Message(UserControl.MessageType.Error, "$Error_Password_Empty")); ucLEPassword.Focus(); return; } // 未输入资源 if (this.ucLEResourceCode.Value.Trim() == string.Empty) { AlertLoginMessage(new UserControl.Message(UserControl.MessageType.Error, "$Error_Resource_Empty")); ucLEResourceCode.TextFocus(false, true); return; } object[] objUserGroup = null; User user = _facade.LoginCheck(this.ucLEUserCode.Value.Trim().ToUpper(), this.ucLEPassword.Value.Trim().ToUpper(), out objUserGroup); // 用户名不存在 if (user == null) { AlertLoginMessage(new UserControl.Message(UserControl.MessageType.Error, "$Error_User_Not_Exist")); ucLEUserCode.TextFocus(false, true); return; } object obj = _basemodelFacade.GetResource(this.ucLEResourceCode.Value.Trim().ToUpper()); if (obj == null) { AlertLoginMessage(new UserControl.Message(UserControl.MessageType.Error, "$Error_Resource_Not_Exist")); ucLEResourceCode.TextFocus(false, true); return; } // 检查Resource权限 //Laws Lu,2005/08/29,修改 Admin组权限,允许Pass // object[] objUserGroup = (new UserFacade(this._domainDataProvider)).GetUserGroupofUser(user.UserCode); bool bIsAdmin = false; if (objUserGroup != null) { foreach (object o in objUserGroup) { if (((UserGroup)o).UserGroupType == "ADMIN") { bIsAdmin = true; break; } } } if (!bIsAdmin) { if (!_facade.CheckResourceRight(user.UserCode, this.ucLEResourceCode.Value.Trim().ToUpper())) { AlertLoginMessage(new UserControl.Message(UserControl.MessageType.Error, "$Error_No_Resource_Right")); ucLEUserCode.TextFocus(false, true); return; } } // Added By Hi1/Venus.Feng on 20080629 for Hisense Version : Add Org ID object org = _basemodelFacade.GetOrg(((Resource)obj).OrganizationID); if (org != null) { GlobalVariables.CurrentOrganizations.Clear(); GlobalVariables.CurrentOrganizations.Add((Organization)org); } else { AlertLoginMessage(new UserControl.Message(UserControl.MessageType.Error, "$Error_NoOrganizationOfTheResource")); ucLEResourceCode.TextFocus(false, true); return; } // End //Laws Lu,2006/08/04 修改 自动更新的功能完善 object objUpdater = ApplicationService.CheckUpdate(); if (objUpdater != null) { Updater upd = (BenQGuru.eMES.Web.Helper.Updater)objUpdater; ApplicationService.AutoUpdate(upd.Location.Trim(), upd.LoginUser, upd.LoginPassword); } // //Laws Lu,2005/08/22,新增 版本更新 // object objUpdater = FormatHelper.GetCsVersion(_basemodelFacade.DataProvider); // // string strVersion = UserControl.FileLog.GetLocalCSVersion(UserControl.FileLog.VersionFileName); // if (objUpdater != null && strVersion != ((BenQGuru.eMES.Web.Helper.Updater)objUpdater) .CSVersion.Trim()) // { // Updater upd = (BenQGuru.eMES.Web.Helper.Updater)objUpdater; // ApplicationService.AutoUpdate(upd.Location.Trim(),upd.LoginUser,upd.LoginPassword); // } //End Laws Lu ApplicationService.Current().LoginInfo = new LoginInfo(user.UserCode, (Resource)obj, objUserGroup); //Laws Lu,2005/09/07,修改 显示用户名 string strUserName = String.Empty; string strResource = String.Empty; //object objUser = new UserFacade(_domainDataProvider).GetUser(ApplicationService.Current().LoginInfo.UserCode); if (user != null) { strUserName = user.UserName.Trim(); } //marked by carey.cheng on 2010-05-20 for new login mode //strUserName = strUserName + " " + UserControl.MutiLanguages.ParserString("menu_Wellcome"); ApplicationRun.GetInfoForm().Add(strUserName + " " + UserControl.MutiLanguages.ParserString("menu_Wellcome")); if (ApplicationService.Current().LoginInfo != null) { strResource = string.Format("{0}/{1}/{2}", ApplicationService.Current().LoginInfo.Resource.ResourceCode, ApplicationService.Current().LoginInfo.Resource.StepSequenceCode, ApplicationService.Current().LoginInfo.Resource.SegmentCode); } //End Laws Lu //added by carey.cheng on 2010-05-20 for muti db support ApplicationService.Current().MainWindows = this.MdiParent as BenQGuru.eMES.Client.FMain; //end added by carey.cheng on 2010-05-20 for muti db support ApplicationService.Current().MainWindows.LoginVersion = UserControl.FileLog.GetLocalCSVersion(UserControl.FileLog.VersionFileName); ApplicationService.Current().MainWindows.LoginDateTime = DateTime.Now; ApplicationService.Current().MainWindows.LoginUser = strUserName; ApplicationService.Current().MainWindows.LoginResource = strResource; ApplicationService.Current().MainWindows.LoginDB = (this.cboDatabase.ComboBoxData.SelectedItem as BenQGuru.eMES.Common.Config.PersistBrokerSetting).Text; //ApplicationService.Current().MainWindows.BackgroundImage= ApplicationRun.GetQtyForm().Close(); ((BenQGuru.eMES.Client.FMain) this.MdiParent).Flash(); Log.ClearOldLogFiles(ConfigurationManager.AppSettings.Get("LogKeepDays")); } catch (Exception ex) { this.ShowMessage(ex); if (ex.Message == "$Error_Password_Not_Match") { ucLEPassword.Focus(); } else { ucLEUserCode.TextFocus(false, true); } return; } finally { //Laws Lu,2006/12/29,新增 缓解性能问题 ((BenQGuru.eMES.Common.DomainDataProvider.SQLDomainDataProvider)DataProvider).PersistBroker.OpenConnection(); ((BenQGuru.eMES.Common.DomainDataProvider.SQLDomainDataProvider)DataProvider).PersistBroker.AutoCloseConnection = true; } this.Close(); }