public bool SendResetPasswordMail(string email) { var randomLink = GenerateRandomLink(); if (_userRepository.CheckIfEmailExists(email)) { var user = _userRepository.TryGetUserByEmail(email); if (_userRepository.AddConfirmationKey(user, randomLink, ConfirmType.PasswordReset, DateTime.Now.AddHours(1))) { string completeLink = _configuration.GetSection("Links").GetValue <string>("PasswordReset") + "/" + randomLink; using MailBuilder builder = new MailBuilder(_configuration); MailConfirmEmail model = new MailConfirmEmail { FirstName = user.Firstname, LastName = user.Lastname, Link = completeLink, To = user.Email, Type = EmailKind.PasswordReset }; var msg = builder.CreateMailConfirmEmail(model); return(_mailService.Send(msg)); } return(false); } else { using MailBuilder builder = new MailBuilder(_configuration); return(_mailService.Send(builder.CreateUserDoesNotExistMail(email))); } }
public bool SendForgottenUsernameMail(string email) { if (_userRepository.CheckIfEmailExists(email)) { var user = _userRepository.TryGetUserByEmail(email); using MailBuilder builder = new MailBuilder(_configuration); MailConfirmEmail model = new MailConfirmEmail { FirstName = user.Firstname, LastName = user.Lastname, To = user.Email, Type = EmailKind.ForgotUsername, Username = user.Username }; return(_mailService.Send(builder.CreateMailConfirmEmail(model))); } else { using MailBuilder builder = new MailBuilder(_configuration); return(_mailService.Send(builder.CreateUserDoesNotExistMail(email))); } }