public ActionResult Members(Guid?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var community = db.Communities.Find(id); if (community == null) { return(HttpNotFound()); } if (Status(community) != Enums.StatusType.Member && Status(community) != Enums.StatusType.Creator) { return(RedirectToAction("Index", "Community", new { id = community.Id })); } var model = new CommunityMembers { Members = db.UserCommunities.Include("User").Where(uc => uc.CommunityId == id).ToList(), Community = community, CanEdit = Status(community) == Enums.StatusType.Creator }; return(View(model)); }
private void CreateCommunityMember(UserType userType, MemberType memberType, CommunityType communityType) { var member = new CommunityMember(); member.Id = Guid.NewGuid(); member.Role = CommunityMember.MembershipRole.Member; member.CommunityGroup = CommunityGroups[communityType]; member.User = Users[userType]; PooledBook pooledBook; foreach (var ownedBook in Users[userType].OwnedBooks) { pooledBook = new PooledBook { Id = Guid.NewGuid(), OwnedBook = ownedBook, CommunityMember = member }; member.PooledBooks.Add(pooledBook); PooledBooks.Add(pooledBook); } CommunityMembers.Add(memberType, member); Users[userType].Memberships.Add(member); CommunityGroups[communityType].CommunityMembers.Add(member); }