public async Task <string> ChangePassword(string loginId, string newPassword, string oldpassword) { try { common cmn = new common(_iconfiguration); // Create or reference an existing table CloudTable table = await cmn.CreateTableAsync("user"); //check if older password exist var exitingUser = await DataStorageUtils.RetrieveEntityUsingPointQueryAsync(table, "BhashaGuru", loginId); var oldPasswordHash = OneWayHash.Create(oldpassword); if (oldPasswordHash.Equals(exitingUser.password)) { var newPasswordHash = OneWayHash.Create(newPassword); //User user = new User(loginId, "BhashaGuru"); exitingUser.password = newPasswordHash; exitingUser.isPasswordResetRequired = false; exitingUser.isActive = true; await DataStorageUtils.InsertOrMergeEntityAsync(table, exitingUser); return(ApplicationMessage.PasswordChangedSuccessfully); } else { return(ApplicationMessage.OldPasswordNotMatch); } } catch (Exception ex) { throw ex; } }
public async Task <User> ValidateUserLogin(string loginId, string password) { try { common cmn = new common(_iconfiguration); // Create or reference an existing table CloudTable table = await cmn.CreateTableAsync("user"); //check if older password exist var exitingUser = await DataStorageUtils.RetrieveEntityUsingPointQueryAsync(table, "BhashaGuru", loginId); if (exitingUser == null) { return(null); } var passwordHash = OneWayHash.Create(password); bool isPasswordMatches = exitingUser.password.Equals(passwordHash); if (isPasswordMatches) { return(exitingUser); } else { return(null); } } catch (Exception ex) { throw ex; } }
public async Task <string> ForgetPassword(string loginid) { try { common cmn = new common(_iconfiguration); // Create or reference an existing table CloudTable table = await cmn.CreateTableAsync("user"); //check if older password exist var exitingUser = await DataStorageUtils.RetrieveEntityUsingPointQueryAsync(table, "BhashaGuru", loginid); var tempPassword = PasswordHelper.GetTempPassword(7); exitingUser.password = OneWayHash.Create(tempPassword); exitingUser.isPasswordResetRequired = true; await DataStorageUtils.InsertOrMergeEntityAsync(table, exitingUser); var fromEmailAddress = _iconfiguration.GetSection("Data").GetSection("SendGridFromEmailAddress").Value; var subject = "Bhashaguru: Your new password for login"; var plainContent = "Your password for login is " + tempPassword + " kindly change password after login. Happy Learning :-) ."; await _unicastEmailSender.SendUnicastMail(fromEmailAddress, exitingUser.emailId, subject, plainContent, String.Empty); return(ApplicationMessage.NewPasswordGenerated); } catch (Exception ex) { throw ex; } }
public async Task <string> AddUser(RegisterUser registerUser) { try { string tableName = "user"; common cmn = new common(_iconfiguration); // Create or reference an existing table CloudTable table = await cmn.CreateTableAsync(tableName); var exitingUser = await DataStorageUtils.RetrieveEntityUsingPointQueryAsync(table, "BhashaGuru", registerUser.emailId); if (exitingUser != null) { return(ApplicationMessage.UserAlreadyExist); } else { User user = new User(registerUser.emailId, "BhashaGuru"); user.firstName = registerUser.firstName; user.lastName = registerUser.lastName; user.emailId = registerUser.emailId; user.createdDateTime = new DateTime(); user.createdDateTime = DateTime.UtcNow; user.isActive = false; user.isPasswordResetRequired = true; user.loginId = registerUser.emailId; user.modifiedDateTime = new DateTime(); user.modifiedDateTime = DateTime.UtcNow; user.photoUrl = String.Empty; user.userLanguage = "english"; var tempPassword = PasswordHelper.GetTempPassword(7); user.password = OneWayHash.Create(tempPassword); var newUser = await DataStorageUtils.InsertOrMergeEntityAsync(table, user); var fromEmailAddress = _iconfiguration.GetSection("Data").GetSection("SendGridFromEmailAddress").Value; var subject = "Bhashaguru: User registration and temporary password"; var plainContent = "Thanks for registering with Bhashagru, your password for first login is " + tempPassword + " Happy Learning :-) ."; await _unicastEmailSender.SendUnicastMail(fromEmailAddress, user.emailId, subject, plainContent, String.Empty); return(ApplicationMessage.UserRegisteredSuccessfully); } } catch (Exception ex) { throw ex; } }