public IEnumerable <GroupGetResponse> Get(string groupCode = "") { List <Group> groups = _repGroup.Get(filter: f => (f.GroupCode == groupCode || groupCode == ""), includes: "GroupType,CourseUserRoles,Course,Posts").ToList(); List <GroupGetResponse> groupGetResponses = new List <GroupGetResponse>(); foreach (Group grp in groups) { GroupGetResponse ggr = new GroupGetResponse() { GroupCode = grp.GroupCode, GroupName = grp.GroupName, Objective = grp.Objective, TimeZone = grp.TimeZone, UserList = new List <GroupUser>(), GroupPosts = new List <DomainDto.Post>(), GroupTypeCode = grp.GroupType.GroupTypeCode, CourseCode = grp.Course.CourseCode }; foreach (var cur in grp.CourseUserRoles) { ggr.UserList.Add(new GroupUser() { emailId = cur.AspNetUsers.Email, name = cur.AspNetUsers.FirstName + " " + cur.AspNetUsers.LastName }); } Dictionary <int, DomainDto.Post> postBuilder = new Dictionary <int, DomainDto.Post>(); List <EntityModel.Post> posts = grp.Posts.OrderBy(x => x.TimePosted).ToList(); foreach (EntityModel.Post post in posts) { if (post.ParentId.HasValue) { postBuilder[post.PostId].ChildPosts.Add(new DomainDto.Post() { PostText = post.PostText, TimePosted = post.TimePosted, UserName = post.UserName }); } else { postBuilder.Add(post.PostId, new DomainDto.Post() { PostText = post.PostText, TimePosted = post.TimePosted, UserName = post.UserName, ChildPosts = new List <DomainDto.Post>() }); } } ggr.GroupPosts = postBuilder.Values.ToList(); groupGetResponses.Add(ggr); } return(groupGetResponses); }
// GET: Group public ActionResult GroupDetail(string groupCode) { currentGroupCode = groupCode; GroupDetailModel gdm = null; GroupGetResponse ggr = _groupCom.GetGroup(groupCode); if (ggr != null) { gdm = new GroupDetailModel() { CourseCode = ggr.CourseCode, GroupCode = ggr.GroupCode, GroupName = ggr.GroupName, GroupTypeCode = ggr.GroupTypeCode, Objective = ggr.Objective, TimeZone = ggr.TimeZone, UserList = new List <GroupUserModel>(), GroupPosts = new List <PostModel>() }; foreach (var user in ggr.UserList) { gdm.UserList.Add(new GroupUserModel() { emailId = user.emailId, name = user.name }); } foreach (var posts in ggr.GroupPosts) { PostModel pm = new PostModel() { PostText = posts.PostText, TimePosted = posts.TimePosted, UserName = posts.UserName, }; if (posts.ChildPosts != null && posts.ChildPosts.Count > 0) { pm.ChildPosts = new List <PostModel>(); foreach (var cp in posts.ChildPosts) { pm.ChildPosts.Add(new PostModel() { PostText = cp.PostText, TimePosted = cp.TimePosted, UserName = cp.UserName }); } } gdm.GroupPosts.Add(pm); } } return(View(gdm)); }
public async Task As_an_admin_I_can_update_groups() { var client = await GetAdminClientAsync(); string groupName = Guid.NewGuid().ToString(); await CreateGroupAsync(client, groupName, new GroupEntry { Description = "before change" }); await UpdateGroupAdminAsync(client, groupName, new GroupEntry { Description = "after change" }); GroupGetResponse group = await GetGroupByNameAdminAsync(client, groupName); Assert.Equal("after change", group.Group.Description); }
public async Task As_an_admin_I_can_get_a_group_by_name() { var client = await GetAdminClientAsync(); string name = Guid.NewGuid().ToString(); await CreateGroupAsync(client, new GroupEntry { Name = name }); GroupGetResponse g = await GetGroupByNameAsync(client, name); Assert.Equal(name, g.Group.Name); }
public async Task As_an_admin_I_can_get_a_group_by_name() { var client = await GetAdminClientAsync(); string groupName = Guid.NewGuid().ToString(); await CreateGroupAsync(client, groupName, new GroupEntry { Description = "testing..." }); GroupGetResponse g = await GetGroupByNameAdminAsync(client, groupName); Assert.Equal(groupName, g.Group.Name); Assert.Equal("testing...", g.Group.Description); }