/// <summary> /// Change Passsword /// </summary> /// <param name="CustomChangePassword"></param> /// <param name="TenantId"></param> /// <param name="UserID"></param> public bool ChangePassword(CustomChangePassword customChangePassword, int TenantId, int User_ID) { bool result = false; int success = 0; try { conn = Db.Connection; MySqlCommand cmd = new MySqlCommand("SP_ChangePassword", conn); cmd.Connection = conn; cmd.Parameters.AddWithValue("@_Password", customChangePassword.Password); cmd.Parameters.AddWithValue("@_NewPassword", customChangePassword.NewPassword); //cmd.Parameters.AddWithValue("@_UserID", customChangePassword.UserID); cmd.Parameters.AddWithValue("@Email_ID", customChangePassword.EmailID); cmd.Parameters.AddWithValue("@Tenant_Id", TenantId); cmd.Parameters.AddWithValue("@User_ID", User_ID); cmd.CommandType = CommandType.StoredProcedure; success = Convert.ToInt32(cmd.ExecuteScalar()); if (success == 1) { result = true; } } catch (MySql.Data.MySqlClient.MySqlException) { throw; } return(result); }
public CustomChangePassword SendMailforchangepassword(int userID, int TenantID, int IsStoreUser) { DataSet ds = new DataSet(); MySqlCommand cmd = new MySqlCommand(); CustomChangePassword customChangePassword = new CustomChangePassword(); try { conn = Db.Connection; cmd.Connection = conn; MySqlCommand cmd1 = new MySqlCommand("SP_GetUserEmailandPassword", conn); cmd1.CommandType = CommandType.StoredProcedure; cmd1.Parameters.AddWithValue("@User_ID", userID); cmd1.Parameters.AddWithValue("@Tenant_ID", TenantID); cmd1.Parameters.AddWithValue("@Is_StoreUser", IsStoreUser); MySqlDataAdapter da = new MySqlDataAdapter(); da.SelectCommand = cmd1; da.Fill(ds); if (ds != null && ds.Tables[0] != null) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { customChangePassword.UserID = Convert.ToInt32(ds.Tables[0].Rows[i]["UserID"]); customChangePassword.EmailID = ds.Tables[0].Rows[i]["EmailID"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["EmailID"]); customChangePassword.Password = ds.Tables[0].Rows[i]["SecurePassword"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["SecurePassword"]); } } } catch (Exception ex) { throw ex; } return(customChangePassword); }
protected override void ChangePassword(ChangePasswordParameters parameters) { Guard.ArgumentNotNull(parameters, "parameters"); try { CustomChangePasswordEventArgs customChangePasswordEventArgs = new CustomChangePasswordEventArgs(parameters); CustomChangePassword?.Invoke(this, customChangePasswordEventArgs); if (!customChangePasswordEventArgs.Handled) { if (!AuthenticatingEmployee.ComparePassword(parameters.OldPassword)) { throw new Exception(String.Format("{0} {1}", SecurityExceptionLocalizer.GetExceptionMessage(SecurityExceptionId.OldPasswordIsWrong), SecurityExceptionLocalizer.GetExceptionMessage(SecurityExceptionId.RetypeTheInformation))); } if (parameters.NewPassword != parameters.ConfirmPassword) { throw new Exception(String.Format("{0} {1}", SecurityExceptionLocalizer.GetExceptionMessage(SecurityExceptionId.PasswordsAreDifferent), SecurityExceptionLocalizer.GetExceptionMessage(SecurityExceptionId.RetypeTheInformation))); } if (AuthenticatingEmployee.ComparePassword(parameters.NewPassword)) { throw new Exception(String.Format("{0} {1}", SecurityExceptionLocalizer.GetExceptionMessage(SecurityExceptionId.NewPasswordIsEqualToOldPassword), SecurityExceptionLocalizer.GetExceptionMessage(SecurityExceptionId.RetypeTheInformation))); } KeyValuePair <HttpStatusCode, string> result = MultiTenantHelper.SetPassword(AuthenticatingEmployee, AuthenticatingEmployee, parameters.NewPassword); if (result.Key == HttpStatusCode.OK) { AuthenticatingEmployee.SetPassword(parameters.NewPassword); AuthenticatingEmployee.ChangePasswordOnFirstLogon = false; this.ObjectSpace.SetModified(AuthenticatingEmployee); this.ObjectSpace.CommitChanges(); } SecurityModule.TryUpdateLogonParameters(parameters.NewPassword); if (!View.ObjectSpace.IsModified) { bool isCurrentUser = IsCurrentUser(View.ObjectSpace, View.CurrentObject); if (isCurrentUser) { View.ObjectSpace.ReloadObject(View.CurrentObject); } } } } catch (Exception ex) { ToastMessageHelper.ShowErrorMessage(this.Application, ex, InformationPosition.Bottom); } finally { parameters.ClearValues(); } }
public ResponseModel ChangePassword([FromBody] CustomChangePassword customChangePassword, int IsStoreUser = 1) { ResponseModel objResponseModel = new ResponseModel(); int statusCode = 0; string statusMessage = ""; try { string token = Convert.ToString(Request.Headers["X-Authorized-Token"]); Authenticate authenticate = new Authenticate(); authenticate = SecurityService.GetAuthenticateDataFromTokenCache(Cache, SecurityService.DecryptStringAES(token)); securityCaller securityCaller = new securityCaller(); CommonService commonService = new CommonService(); if (customChangePassword.ChangePasswordType.Equals("mail")) { customChangePassword.EmailID = SecurityService.DecryptStringAES(customChangePassword.EmailID); } customChangePassword.Password = SecurityService.Encrypt(customChangePassword.Password); bool Result = securityCaller.ChangePassword(new SecurityService(Cache, Db), customChangePassword, authenticate.TenantId, authenticate.UserMasterID); statusCode = Result == false ? (int)EnumMaster.StatusCode.RecordNotFound : (int)EnumMaster.StatusCode.Success; statusMessage = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)statusCode); objResponseModel.Status = true; objResponseModel.StatusCode = statusCode; objResponseModel.Message = statusMessage; objResponseModel.ResponseData = Result; } catch (Exception) { throw; } return(objResponseModel); }
/// <summary> /// Change Passsword /// </summary> /// <param name="CustomChangePassword"></param> /// <param name="TenantId"></param> /// <param name="UserID"></param> public bool ChangePassword(CustomChangePassword customChangePassword, int TenantId, int User_ID) { bool result = false; int success = 0; try { conn.Open(); MySqlCommand cmd = new MySqlCommand("SP_StoreUserChangePassword", conn); cmd.Connection = conn; cmd.Parameters.AddWithValue("@_Password", customChangePassword.Password); cmd.Parameters.AddWithValue("@_NewPassword", customChangePassword.NewPassword); //cmd.Parameters.AddWithValue("@_UserID", customChangePassword.UserID); cmd.Parameters.AddWithValue("@Email_ID", customChangePassword.EmailID); cmd.Parameters.AddWithValue("@Tenant_Id", TenantId); cmd.Parameters.AddWithValue("@User_ID", User_ID); cmd.Parameters.AddWithValue("@_ProgramCode", customChangePassword.ProgramCode); cmd.CommandType = CommandType.StoredProcedure; success = Convert.ToInt32(cmd.ExecuteScalar()); if (success.Equals(1)) { result = true; } } catch (Exception) { throw; } finally { if (conn != null) { conn.Close(); } } return(result); }
public ResponseModel SendMailforchangepassword(int userID, int IsStoreUser = 1) { CustomChangePassword customChangePassword = new CustomChangePassword(); ResponseModel objResponseModel = new ResponseModel(); int statusCode = 0; string statusMessage = ""; try { string token = Convert.ToString(Request.Headers["X-Authorized-Token"]); Authenticate authenticate = new Authenticate(); authenticate = SecurityService.GetAuthenticateDataFromTokenCache(Cache, SecurityService.DecryptStringAES(token)); UserCaller userCaller = new UserCaller(); customChangePassword = userCaller.SendMailforchangepassword(new UserServices(Cache, Db), userID, authenticate.TenantId, IsStoreUser); if (customChangePassword.UserID > 0 && customChangePassword.Password != null && customChangePassword.EmailID != null) { MasterCaller masterCaller = new MasterCaller(); SMTPDetails sMTPDetails = masterCaller.GetSMTPDetails(new MasterServices(Cache, Db), authenticate.TenantId); securityCaller securityCaller = new securityCaller(); CommonService commonService = new CommonService(); string encryptedEmailId = SecurityService.Encrypt(customChangePassword.EmailID); string decriptedPassword = SecurityService.DecryptStringAES(customChangePassword.Password); string url = Configuration.GetValue <string>("websiteURL") + "/ChangePassword"; string body = "Dear User, <br/>Please find the below details. <br/><br/>" + "Your Email ID : " + customChangePassword.EmailID + "<br/>" + "Your Password : "******"<br/><br/>" + "Click on Below link to change the Password <br/>" + url + "?Id:" + encryptedEmailId; bool isUpdate = securityCaller.sendMailForChangePassword(new SecurityService(Cache, Db), sMTPDetails, customChangePassword.EmailID, body, authenticate.TenantId); if (isUpdate) { objResponseModel.Status = true; objResponseModel.StatusCode = (int)EnumMaster.StatusCode.Success; objResponseModel.Message = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)(int) EnumMaster.StatusCode.Success); objResponseModel.ResponseData = "Mail sent successfully"; } else { objResponseModel.Status = false; objResponseModel.StatusCode = (int)EnumMaster.StatusCode.InternalServerError; objResponseModel.Message = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)(int) EnumMaster.StatusCode.InternalServerError); objResponseModel.ResponseData = "Mail sent failure"; } } else { objResponseModel.Status = false; objResponseModel.StatusCode = (int)EnumMaster.StatusCode.RecordNotFound; objResponseModel.Message = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)(int) EnumMaster.StatusCode.RecordNotFound); objResponseModel.ResponseData = "Sorry User does not exist or active"; } /* StatusCode = * isUpdate !=true ? * (int)EnumMaster.StatusCode.RecordNotFound : (int)EnumMaster.StatusCode.Success; * statusMessage = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)StatusCode); * * objResponseModel.Status = true; * objResponseModel.StatusCode = StatusCode; * objResponseModel.Message = statusMessage; * objResponseModel.ResponseData = "Email Sent";*/ } catch (Exception) { throw; } return(objResponseModel); }
public bool ChangePassword(IStoreSecurity security, CustomChangePassword customChangePassword, int TenantId, int UserID) { _SecurityRepository = security; return(_SecurityRepository.ChangePassword(customChangePassword, TenantId, UserID)); }
public ResponseModel SendMailforchangepassword(int userID, int IsStoreUser = 1) { CustomChangePassword customChangePassword = new CustomChangePassword(); ResponseModel objResponseModel = new ResponseModel(); try { string token = Convert.ToString(Request.Headers["X-Authorized-Token"]); Authenticate authenticate = new Authenticate(); authenticate = SecurityService.GetAuthenticateDataFromToken(_radisCacheServerAddress, SecurityService.DecryptStringAES(token)); string _data = ""; string ProgramCode = authenticate.ProgramCode; RedisCacheService cacheService = new RedisCacheService(_radisCacheServerAddress); if (cacheService.Exists("Con" + ProgramCode)) { _data = cacheService.Get("Con" + ProgramCode); _data = JsonConvert.DeserializeObject <string>(_data); } string X_Authorized_Domainname = Convert.ToString(Request.Headers["X-Authorized-Domainname"]); if (X_Authorized_Domainname != null) { X_Authorized_Domainname = SecurityService.DecryptStringAES(X_Authorized_Domainname); } UserCaller userCaller = new UserCaller(); customChangePassword = userCaller.SendMailforchangepassword(new UserServices(_data), userID, authenticate.TenantId, IsStoreUser); if (customChangePassword.UserID > 0 && customChangePassword.Password != null && customChangePassword.EmailID != null) { MasterCaller masterCaller = new MasterCaller(); SMTPDetails sMTPDetails = masterCaller.GetSMTPDetails(new MasterServices(_data), authenticate.TenantId); securityCaller _securityCaller = new securityCaller(); CommonService commonService = new CommonService(); string encryptedEmailId = SecurityService.Encrypt(customChangePassword.EmailID); string decriptedPassword = SecurityService.DecryptStringAES(customChangePassword.Password); string url = configuration.GetValue <string>("websiteURL") + "/ChangePassword"; string body = "Dear User, <br/>Please find the below details. <br/><br/>" + "Your Email ID : " + customChangePassword.EmailID + "<br/>" + "Your Password : "******"<br/><br/>" + "Click on Below link to change the Password <br/>" + url + "?Id:" + encryptedEmailId; bool isUpdate = _securityCaller.sendMailForChangePassword(new SecurityService(_connectioSting), sMTPDetails, customChangePassword.EmailID, body, authenticate.TenantId); if (isUpdate) { objResponseModel.Status = true; objResponseModel.StatusCode = (int)EnumMaster.StatusCode.Success; objResponseModel.Message = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)(int) EnumMaster.StatusCode.Success); objResponseModel.ResponseData = "Mail sent successfully"; } else { objResponseModel.Status = false; objResponseModel.StatusCode = (int)EnumMaster.StatusCode.InternalServerError; objResponseModel.Message = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)(int) EnumMaster.StatusCode.InternalServerError); objResponseModel.ResponseData = "Mail sent failure"; } } else { objResponseModel.Status = false; objResponseModel.StatusCode = (int)EnumMaster.StatusCode.RecordNotFound; objResponseModel.Message = CommonFunction.GetEnumDescription((EnumMaster.StatusCode)(int) EnumMaster.StatusCode.RecordNotFound); objResponseModel.ResponseData = "Sorry User does not exist or active"; } } catch (Exception) { throw; } return(objResponseModel); }