예제 #1
0
        public async Task <IActionResult> Top()
        {
            var username = User.FindFirstValue(ClaimTypes.Name);

            if (username == null)
            {
                var noUserViewModel    = new UserMangaListViewModel();
                var topNovelNoUserList = await _context.MangaItem.OrderByDescending(a => a.Rating).ToListAsync <MangaItem>();

                noUserViewModel.MangaInfoList = topNovelNoUserList;
                return(View(noUserViewModel));
            }
            var user = await _context.User.FirstOrDefaultAsync(a => a.UserName == username);

            var userId    = user.Id;
            var mangaList = await _context.MangaItem.OrderByDescending(a => a.Rating).ToListAsync <MangaItem>();

            var userStats = new List <MangaList>();

            foreach (var manga in mangaList)
            {
                var userScore = await _context.MangaList.FirstOrDefaultAsync(a => a.MangaItemId == manga.Id && a.UserId == userId);

                if (userScore == null)
                {
                    var notOnList = new MangaList
                    {
                        UserRating     = 0,
                        UserProgress   = 0,
                        CompleteStatus = 0
                    };
                    userStats.Add(notOnList);
                }
                else
                {
                    userStats.Add(userScore);
                }
            }
            var viewModel = new UserMangaListViewModel
            {
                User          = user,
                MangaInfoList = mangaList,
                UserMangaList = userStats
            };

            return(View(viewModel));
        }
예제 #2
0
        public async Task <IActionResult> MangaList(string username)
        {
            if (username == null)
            {
                return(NotFound());
            }
            var user = await _context.User.FirstOrDefaultAsync(a => a.UserName == username);

            if (user == null)
            {
                return(NotFound());
            }
            else
            {
                var userId    = user.Id;
                var mangaList = await _context.MangaList.ToListAsync <MangaList>();

                var userMangaList = new List <MangaItem>();
                var userScores    = new List <MangaList>();
                foreach (var manga in mangaList)
                {
                    if (manga.UserId == userId)
                    {
                        var item = await _context.MangaItem.FirstOrDefaultAsync(a => a.Id == manga.MangaItemId);

                        userMangaList.Add(item);
                        userScores.Add(manga);
                    }
                }
                var viewModel = new UserMangaListViewModel
                {
                    User          = user,
                    MangaInfoList = userMangaList,
                    UserMangaList = userScores
                };
                return(View(viewModel));
            }
        }