Пример #1
0
        async public Task RunAsync(MemCheckDbContext dbContext)
        {
            var user = dbContext.Users.Where(user => user.UserName == "Voltan").Single();

            if (realCode)
            {
                var chronos = new List <double>();

                for (int i = 0; i < 5; i++)
                {
                    var realCodeChrono = Stopwatch.StartNew();
                    var userDecks      = new GetDecksWithLearnCounts(dbContext).Run(user.Id);
                    logger.LogInformation($"{userDecks.First().CardCount} cards");
                    logger.LogInformation($"{userDecks.First().Description}");
                    logger.LogInformation($"{userDecks.First().ExpiredCardCount} expired");
                    logger.LogInformation($"{userDecks.First().UnknownCardCount} unknown");
                    logger.LogInformation($"{userDecks.First().NextExpiryUTCDate} next expiry");
                    logger.LogInformation($"{userDecks.Count()} decks in {realCodeChrono.Elapsed}");
                    chronos.Add(realCodeChrono.Elapsed.TotalSeconds);
                }

                logger.LogInformation($"Average time: {chronos.Average()} seconds");
            }
            else
            {
                var chrono = Stopwatch.StartNew();
                //var logLines = await GetCardsToRepeatAsync(user.Id, deck.Id, new Guid[0], new Guid[0]);
                //chrono.Stop();
                //foreach (var logLine in logLines)
                //    logger.LogInformation(logLine);
                logger.LogInformation($"Ran in {chrono.Elapsed}");
            }

            await Task.CompletedTask;
        }
Пример #2
0
        public async Task <IActionResult> GetAllAsync()
        {
            try
            {
                var user = await userManager.GetUserAsync(HttpContext.User);

                if (user == null)
                {
                    return(Ok(new GetAllViewModel(null, false, 0, new GetAllDeckViewModel[0], DateTime.UtcNow)));
                }

                var userDecks       = new GetDecksWithLearnCounts(dbContext).Run(user.Id);
                var anythingToLearn = userDecks.Any(deck => deck.ExpiredCardCount > 0 || deck.UnknownCardCount > 0);
                var cardCount       = userDecks.Sum(deck => deck.CardCount);

                return(Ok(new GetAllViewModel(user.UserName, anythingToLearn, cardCount, userDecks.Select(deck => new GetAllDeckViewModel(deck)), DateTime.UtcNow)));
            }
            catch (Exception e)
            {
                return(ControllerError.BadRequest(e, this));
            }
        }