public async Task <IActionResult> Show(string username,
                                               [FromServices] SubmissionManager subMgr)
        {
            var user = await UserManager.FindByNameAsync(username);

            if (user is null)
            {
                return(NotFound());
            }
            ViewBag.User = user;
            ViewBag.Stat = await subMgr.StatisticsByUserAsync(user.Id);

            return(View());
        }
        public async Task <IActionResult> List(int page = 1)
        {
            if (page < 1)
            {
                page = 1;
            }
            ViewBag.Page      = page;
            ViewBag.TotalPage = await MaxPageAsync();

            var probsQuery =
                from a in DbContext.Archives
                where a.PublicId <= 1000 + page * ItemsPerPage &&
                a.PublicId > 1000 + (page - 1) * ItemsPerPage
                join p in DbContext.Problems on a.ProblemId equals p.ProblemId
                select new ProblemArchive(a, p.Title, p.Source);

            ViewBag.Stat = await SubmissionManager
                           .StatisticsByUserAsync(int.Parse(UserManager.GetUserId(User) ?? "-100"));

            return(View(await probsQuery.ToListAsync()));
        }