示例#1
0
        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);
        }
示例#2
0
        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);
            }
        }
示例#3
0
        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);
        }