예제 #1
0
        protected override async Task <IncompleteUser> UpdateUserBase(IncompleteUser user, string data)
        {
            var usr = user;

            usr.ClassId = data;
            await _confirmHandler.ShowInstruction(usr);

            return(usr);
        }
예제 #2
0
        protected override async Task <IncompleteUser> UpdateUserBase(IncompleteUser user, string data)
        {
            var usr = user;

            usr.PreferredLanguage = data;
            await _yearHandler.ShowInstruction(usr);

            return(usr);
        }
예제 #3
0
        protected override async Task <IncompleteUser> UpdateUserBase(IncompleteUser user, string data)
        {
            var usr = user;

            usr.Year = int.Parse(data);
            await _classHandler.ShowInstruction(usr);

            return(usr);
        }
예제 #4
0
        protected override async Task EndRegistration(IncompleteUser user)
        {
            await _mediator.Send(user.ToCreateSubscriptionCommand());

            _dbContext.IncompleteUsers.Remove(user);
            await _dbContext.SaveChangesAsync(CancellationToken.None);

            await _apiClient.Send(new SendRequest(user.Id, new Message(
                                                      await _translator.TranslateString("congratulations", user.PreferredLanguage), new[]
            {
                new QuickReply(await _translator.TranslateString("cancel-button", user.PreferredLanguage),
                               new Payload(PayloadType.Cancel).ToJson())
            })));
        }
        protected override async Task Base(Messaging message)
        {
            var incompleteUser = new IncompleteUser(message.Sender.Id, _configuration["CultureSettings:DefaultCulture"]);

            await _dbContext.IncompleteUsers.AddAsync(incompleteUser);

            await _dbContext.SaveChangesAsync(CancellationToken.None);

            await _langHandler.ShowInstruction(incompleteUser);

            _backgroundJobClient.Schedule <EnsureRegistrationEndedJob>(
                x => x.EnsureRegistrationEnded(incompleteUser.Id),
                TimeSpan.FromMinutes(15)
                );
        }
예제 #6
0
 protected override async Task UnsupportedCommandBase(IncompleteUser user)
 {
     await _apiClient.Send(new SendRequest(user.Id,
                                           new Message(await _translator.TranslateString("unsupported-command", user.PreferredLanguage),
                                                       await GetLangSelector(user.LastPage, user.PreferredLanguage))));
 }
예제 #7
0
 protected override async Task ShowInstructionBase(IncompleteUser user, int page)
 {
     await _apiClient.Send(new SendRequest(user.Id,
                                           new Message(await _translator.TranslateString("greeting", user.PreferredLanguage),
                                                       await GetLangSelector(page, user.PreferredLanguage))));
 }
예제 #8
0
 protected override async Task UnsupportedCommand(IncompleteUser user)
 {
     await _apiClient.Send(new SendRequest(user.Id,
                                           new Message(await _translator.TranslateString("unsupported-command", user.PreferredLanguage),
                                                       await GetConfirmationButtons(user.PreferredLanguage))));
 }
예제 #9
0
 public async Task ShowInstruction(IncompleteUser user)
 {
     await _apiClient.Send(new SendRequest(user.Id,
                                           new Message(await _translator.TranslateString("confirmation", user.PreferredLanguage),
                                                       await GetConfirmationButtons(user.PreferredLanguage))));
 }