internal void SendMailPassword(User currentUser) { KeyValue kvActiveStatus = new KeyValueBL().GetKeyValueByIntCode("UserStatus", "Active"); KeyValue kvTemporarilyInactiveStatus = new KeyValueBL().GetKeyValueByIntCode("UserStatus", "TemporarilyInactive"); Person person = null; string password = string.Empty; if (currentUser.idStatus == kvActiveStatus.idKeyValue) { person = new PersonBL().GetPersonByPersonID(currentUser.idPerson.ToString()); password = ETEMModel.Helpers.BaseHelper.Decrypt(System.Web.HttpUtility.UrlDecode(currentUser.Password)); } else if (currentUser.idStatus == kvTemporarilyInactiveStatus.idKeyValue) { person = new PersonBL().GetPersonByPersonID(currentUser.idAltPerson.ToString()); password = ETEMModel.Helpers.BaseHelper.Decrypt(System.Web.HttpUtility.UrlDecode(currentUser.AltPassword)); } else { return; } CommonBL commonBL = new CommonBL(); CallContext callContext = new CallContext(); if (callContext.ListKvParams.Where(w => w.Key == ETEMEnums.AppSettings.MailServer.ToString()).Count() == 0) { callContext.ListKvParams.Add(new KeyValuePair <string, object>(ETEMEnums.AppSettings.MailServer.ToString(), commonBL.GetSettingByCode(ETEMEnums.AppSettings.MailServer).SettingValue)); } if (callContext.ListKvParams.Where(w => w.Key == ETEMEnums.AppSettings.MailServerPort.ToString()).Count() == 0) { callContext.ListKvParams.Add(new KeyValuePair <string, object>(ETEMEnums.AppSettings.MailServerPort.ToString(), commonBL.GetSettingByCode(ETEMEnums.AppSettings.MailServerPort).SettingValue)); } if (callContext.ListKvParams.Where(w => w.Key == ETEMEnums.AppSettings.MailFromPassword.ToString()).Count() == 0) { callContext.ListKvParams.Add(new KeyValuePair <string, object>(ETEMEnums.AppSettings.MailFromPassword.ToString(), commonBL.GetSettingByCode(ETEMEnums.AppSettings.MailFromPassword).SettingValue)); } string body = string.Format(BaseHelper.GetCaptionString("Entity_User_Send_Password_Body"), person.TwoNamesPlusTitle, currentUser.UserName, password ); commonBL.SendMailAction( commonBL.GetSettingByCode(ETEMEnums.AppSettings.DefaultEmail).SettingValue, person.EMail, BaseHelper.GetCaptionString("Entity_User_Send_Password_Subject"), body, "Системен e-mail", new List <string>(), callContext); }
internal void DisableUserAccountByPersonID(int idPerson) { List <User> listUser = this.dbContext.Users.Where(u => u.idPerson == idPerson).ToList(); KeyValue kvStatusDisable = new KeyValueBL().GetKeyValueByIntCode("UserStatus", "Inactive"); foreach (User user in listUser) { user.idStatus = kvStatusDisable.idKeyValue; EntitySave <User>(user, new CallContext()); } }
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); }