public async Task <IHttpActionResult> ActivateSummoner(SummonerModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var user = await _users.GetUserAsync();

            var summoner = user.Summoners.FirstOrDefault(DbUtil.CreateComparer(model.Region, model.SummonerName));

            if (summoner == null)
            {
                return(Conflict("Summoner not found."));
            }

            if (!await _summoners.SetActiveSummonerAsync(summoner))
            {
                return(Conflict("Unable to activate summoner."));
            }

            if (!await _flair.SetUpdateFlagAsync(new[] { user }))
            {
                return(Conflict("Unable to activate summoner."));
            }
            return(Ok());
        }
Пример #2
0
        private async Task ExecuteInternal()
        {
            while (true)
            {
                var summoners = await _leagues.GetSummonersForUpdateAsync(MaxEntriesPerLoop);

                if (!summoners.Any())
                {
                    await Task.Delay(NoUpdateWaitInterval);

                    continue;
                }

                var tasks = summoners.Select(UpdateSummonerAsync);
                Task.WaitAll(tasks.ToArray());
                await _leagues.SetUpdatedAsync(summoners);

                await _flair.SetUpdateFlagAsync(summoners.Select(x => x.User));

                await Task.Delay(1000);
            }
        }
Пример #3
0
        private async Task ExecuteInternal(int userId)
        {
            var user = await _users.FindAsync(userId);

            await _flairs.SetUpdateFlagAsync(new[] { user });
        }