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)));
     }
 }