public async Task CreateTrainingAsync(Training training, string confirmationLinkBase) { var sender = new EmailConfirmationSender(new EmailMessageBuilder(training.Coach.User)); sender.SendMessage(training.Coach.User.Email, confirmationLinkBase + training.Id); await _trainingRepository.CreateAsync(training); }
public async Task ConfirmTrainingAsync(int trainingId) { var training = await _trainingRepository.GetAsync(trainingId); training.Accepted = true; _trainingRepository.UpdateAsync(training); foreach (var user in training.Participants) { var message = $"Training start on {training.Start.ToString()}"; var sender = new EmailConfirmationSender(new EmailMessageBuilder(user)); sender.SendMessage(user.Email, message); } }
public async Task DeleteUserAsync(User user, string confirmationCode = null, CancellationToken ct = default) { if (!user.HasConfirmedEmail) { return; } if (user.ConfirmationCode == confirmationCode) { await _userRepository.DeleteAsync(user, ct); } var codeGenerator = new ConfirmationCodeGenerator(); var code = codeGenerator.GetCode(); var sender = new EmailConfirmationSender(new EmailMessageBuilder(user)); sender.SendMessage(user.Email, code); }