public CallContext MergeSettings(CallContext inputContext) { CallContext outputContext = new CallContext(); outputContext.ResultCode = ETEMEnums.ResultEnum.Success; if (!HasUserActionPermission(null, outputContext, inputContext)) { return(outputContext); } LoadAppSetting(); List <Setting> listActionDB = this.dbContext.Settings.ToList(); List <Setting> listSettingToBeSave = new List <Setting>(); foreach (Setting apToBeSave in this.ListAppSetting) { if (listActionDB.Where( apDB => apDB.SettingIntCode == apToBeSave.SettingIntCode.ToString()).Count() == 0) { listSettingToBeSave.Add(new Setting() { SettingName = apToBeSave.SettingName, SettingDescription = apToBeSave.SettingDescription, SettingIntCode = apToBeSave.SettingIntCode, SettingValue = apToBeSave.SettingValue, SettingDefaultValue = apToBeSave.SettingDefaultValue, SettingClass = apToBeSave.SettingClass } ); } } CallContext resultContext = new CallContext(); resultContext.securitySettings = ETEMEnums.SecuritySettings.SettingSave; resultContext.CurrentConsumerID = new SettingBL().GetSettingByCode(ETEMEnums.AppSettings.UserIDBindWithSystem.ToString()).SettingValue; foreach (Setting entity in listSettingToBeSave) { resultContext = new SettingBL().EntitySave <Setting>(entity, resultContext); } return(outputContext); }
public CallContext Login(string userName, string Password, CallContext inputContext) { this.RequestMeasure.PageName = "Login"; CallContext outputContext = new CallContext(); User user = dbContext.Users.Where(u => u.UserName == userName).FirstOrDefault(); if (user != null) { KeyValue status = dbContext.KeyValues.Where(k => k.idKeyValue == user.idStatus).FirstOrDefault(); if (status == null) { outputContext.EntityID = Constants.INVALID_ID_STRING; outputContext.ResultCode = ETEMEnums.ResultEnum.Error; outputContext.Message = BaseHelper.GetCaptionString("UI_Login_Unsuccessful"); } else { if (status.KeyValueIntCode == "Active") { KeyValue kvCheckDomainYes = new KeyValueBL().GetKeyValueByIntCode("YES_NO", "Yes"); if (kvCheckDomainYes.idKeyValue == user.idCheckDomain) { string domainPart = new SettingBL().GetSettingByCode(ETEMEnums.AppSettings.DomainName.ToString()).SettingValue; string qualifiedUserName = domainPart + "\\" + userName; string serverName = domainPart; DirectoryEntry entry = new DirectoryEntry("LDAP://" + serverName, qualifiedUserName, Password); try { DirectorySearcher searcher = new DirectorySearcher(entry); string qryFilterFormat = String.Format("(&(objectClass=user)(objectCategory=person)(sAMAccountName={0}))", userName); SearchResult result = null; List <DomainUserInfo> userInfo = new List <DomainUserInfo>(); DomainUserInfo objuser = new DomainUserInfo(); searcher.Filter = qryFilterFormat; SearchResultCollection results = searcher.FindAll(); result = (results.Count != 0) ? results[0] : null; if (result != null) { objuser.ShortName = (string)result.Properties["sAMAccountName"][0]; objuser.DisplayName = (string)result.Properties["displayname"][0]; outputContext.EntityID = user.idUser.ToString(); outputContext.ResultCode = ETEMEnums.ResultEnum.Success; outputContext.Message = BaseHelper.GetCaptionString("UI_Login_Successful"); } } catch (Exception ex) { outputContext.EntityID = Constants.INVALID_ID_STRING; outputContext.ResultCode = ETEMEnums.ResultEnum.Warning; outputContext.Message = BaseHelper.GetCaptionString("UI_Login_Unsuccessful"); BaseHelper.Log(ex.Message); } } else { string tmpPassword = ETEMModel.Helpers.BaseHelper.Encrypt(Password); if (user.Password == tmpPassword) { outputContext.EntityID = user.idUser.ToString(); outputContext.ResultCode = ETEMEnums.ResultEnum.Success; outputContext.Message = BaseHelper.GetCaptionString("UI_Login_Successful"); } else { outputContext.EntityID = Constants.INVALID_ID_STRING; outputContext.ResultCode = ETEMEnums.ResultEnum.Warning; outputContext.Message = BaseHelper.GetCaptionString("UI_Login_Unsuccessful"); } } } else if (status.KeyValueIntCode == "TemporarilyInactive") { string tmpPassword = ETEMModel.Helpers.BaseHelper.Encrypt(Password); if (user.AltPassword == tmpPassword) { outputContext.EntityID = user.idUser.ToString(); outputContext.ResultCode = ETEMEnums.ResultEnum.Success; outputContext.Message = BaseHelper.GetCaptionString("UI_Login_Successful"); } else { outputContext.EntityID = Constants.INVALID_ID_STRING; outputContext.ResultCode = ETEMEnums.ResultEnum.Warning; outputContext.Message = BaseHelper.GetCaptionString("UI_Login_Unsuccessful"); } } else { outputContext.EntityID = Constants.INVALID_ID_STRING; outputContext.ResultCode = ETEMEnums.ResultEnum.Warning; outputContext.Message = BaseHelper.GetCaptionString("UI_Login_Unsuccessful"); } } } else { user = new User(); user.UserName = userName; user.idUser = Constants.INVALID_ID; outputContext.EntityID = Constants.INVALID_ID_STRING; outputContext.ResultCode = ETEMEnums.ResultEnum.Warning; outputContext.Message = BaseHelper.GetCaptionString("UI_Login_Unsuccessful"); } MakeEventLog(outputContext, user); BaseHelper.Log(this.RequestMeasure.ToString()); return(outputContext); }