public ActionResult Index(Guid id) { BookClub club = db.BookClubs.Find(id); ClubIndexViewModel viewModel = GetClubIndexViewModel(club); return(View(viewModel)); }
private void AddDiscussionsToClubIndexViewModel(ClubIndexViewModel viewModel) { viewModel.Discussions = db.Discussions.Where(d => d.ClubId == viewModel.Club.Id).OrderByDescending(d => d.StartTime).ToList(); foreach (Discussion discussion in viewModel.Discussions) { BookDiscussions bookDiscussions = db.BookDiscussions.Include("Book").FirstOrDefault(bd => bd.DiscussionId == discussion.Id); discussion.Book = bookDiscussions.Book; } }
public ActionResult MemberList(Guid id) { ClubIndexViewModel viewModel = new ClubIndexViewModel { Club = db.BookClubs.Find(id) }; AddMembersToClubIndexViewModel(viewModel); return(View(viewModel)); }
private void AddBooksToClubIndexViewModel(ClubIndexViewModel viewModel) { List <Book> books = GetBooksForClubIndexViewModel(viewModel.Members); viewModel.Books = books.GroupBy(b => b.GoogleVolumeId, (googleId, Books) => new { Count = Books.Count(), Key = googleId, Value = Books.FirstOrDefault() }).OrderByDescending(g => g.Count).Select(g => g.Value).ToList(); }
//Private Methods private ClubIndexViewModel GetClubIndexViewModel(BookClub club) { ClubIndexViewModel viewModel = new ClubIndexViewModel { Club = club, Discussions = new List <Discussion>(), Members = new List <Member>() }; AddMembersToClubIndexViewModel(viewModel); AddDiscussionsToClubIndexViewModel(viewModel); AddBooksToClubIndexViewModel(viewModel); return(viewModel); }
// GET: Clubs public async Task <IActionResult> Index() { var user = await GetCurrentUserAsync(); var clubs = await _context.Club.ToListAsync(); ClubIndexViewModel ClubsVM = new ClubIndexViewModel { Clubs = clubs, CurrentUserId = user.Id }; return(View(ClubsVM)); }
private void AddMembersToClubIndexViewModel(ClubIndexViewModel viewModel) { var userId = User.Identity.GetUserId(); viewModel.Members = db.ClubMembers.Include("Member").Where(cm => cm.ClubId == viewModel.Club.Id).Select(cm => cm.Member).ToList(); Member user = db.Members.FirstOrDefault(m => m.ApplicationUserId == userId); Member manager = db.ClubMembers.Include("Member").FirstOrDefault(cm => cm.ClubId == viewModel.Club.Id && cm.IsManager).Member; viewModel.Members.FirstOrDefault(m => m.Id == manager.Id).IsManager = true; if (user.Id == manager.Id) { viewModel.IsManager = true; } }
public IActionResult Index() { var clubs = _clubService.GetAll() .Select(club => new ClubViewModel { Id = club.Id, Name = club.Name, ChineseName = club.ChineseName, Homepage = club.Homepage, ImageUrl = club.ImageUrl }); var model = new ClubIndexViewModel { ClubList = clubs }; return(View(model)); }
public void Include(ClubIndexViewModel vm) { var vm1 = new ClubIndexViewModel(null); }