Я реализовал SendGrid
в своем приложении, а внутри контроллера Account
у меня есть метод под названием Register
.Метод Register
позволяет пользователю зарегистрироваться на сайте, внутри этого метода у меня есть следующий код:
var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);
var callbackUrl = Url.Action("ConfirmEmail", "Account", new
{
userId = user.Id,
token = code
}, protocol: Request.Scheme);
await _emailSender.SendEmailAsync(user.Email, _localizer["ConfirmYourEmail"], _localizer["ConfirmAccountTemplate", callbackUrl]);
, как вы можете видеть, я генерирую код подтверждения, а затем я создал callBackUrl
что пользователь может найти внутри письма для подтверждения адреса электронной почты.В конце я вызываю SendEmailAsync
, который по сути является реализацией метода интерфейса Microsoft.AspNetCore.Identity.UI.Services
.
Теперь главная проблема заключается в следующем: мне нужно использовать тот же код внутри класса Repository
так что не в Controller
, есть ли место для хранения кода такого типа без создания избыточности?
PS: Извините, если этот вопрос кажется глупым, но я на самом деле новичок в ASP.NET Core
и я хочу научиться создавать хорошую структуру проекта.
Заранее спасибо за любую помощь.