示例#1
0
        public static UserAnimeListViewModel GetViewModel(this UserAnimeList useranime)
        {
            var UserAnimeListVM = new UserAnimeListViewModel()
            {
                Id     = useranime.Id,
                Status = useranime.Status
            };

            return(UserAnimeListVM);
        }
示例#2
0
        public async Task <IActionResult> Top()
        {
            var username = User.FindFirstValue(ClaimTypes.Name);

            if (username == null)
            {
                var noUserViewModel    = new UserAnimeListViewModel();
                var topAnimeNoUserList = await _context.AnimeItem.OrderByDescending(a => a.Rating).ToListAsync <AnimeItem>();

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

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

            var userStats = new List <AnimeList>();

            foreach (var anime in animeList)
            {
                var userScore = await _context.AnimeList.FirstOrDefaultAsync(a => a.AnimeItemId == anime.Id && a.UserId == userId);

                if (userScore == null)
                {
                    var notOnList = new AnimeList
                    {
                        UserRating     = 0,
                        UserProgress   = 0,
                        CompleteStatus = 0
                    };
                    userStats.Add(notOnList);
                }
                else
                {
                    userStats.Add(userScore);
                }
            }
            var viewModel = new UserAnimeListViewModel
            {
                User          = user,
                AnimeInfoList = animeList,
                UserAnimeList = userStats
            };

            return(View(viewModel));
        }
示例#3
0
        public async Task <IActionResult> AnimeList(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 animeList = await _context.AnimeList.ToListAsync <AnimeList>();

                var userAnimeList = new List <AnimeItem>();
                var userScores    = new List <AnimeList>();
                foreach (var anime in animeList)
                {
                    if (anime.UserId == userId)
                    {
                        var item = await _context.AnimeItem.FirstOrDefaultAsync(a => a.Id == anime.AnimeItemId);

                        userAnimeList.Add(item);
                        userScores.Add(anime);
                    }
                }
                var viewModel = new UserAnimeListViewModel
                {
                    User          = user,
                    AnimeInfoList = userAnimeList,
                    UserAnimeList = userScores
                };
                return(View(viewModel));
            }
        }