private async Task <Domain.ValueTypes.Account> RegisterAccountAsync() { var account = new Domain.ValueTypes.Account { FirstName = FirstName, LastName = LastName, Email = Email, HashedPassword = _hashService.Hash(Password) }; _citationContext.Accounts.Add(account); await _citationContext.SaveChangesAsync(); return(account); }
private async Task SendRegisterEmailAsync(Domain.ValueTypes.Account account) { var requestUrl = $"https://{Request.Host}"; var token = GenerateToken(); var tokenUrl = QueryHelpers.AddQueryString($"{requestUrl}/Account/Verify", "token", token); _citationContext.AccountVerifications.Add(new AccountVerification { Account = account, IsVerified = false, VerificationToken = token }); await _emailService.SendAsync(new Email { From = "*****@*****.**", To = account.Email, Subject = "Email verification for CitationNeeded", Content = $"Your verfication link: \n<a href=\"{tokenUrl}\">{tokenUrl}</a>" }); await _citationContext.SaveChangesAsync(); }