コード例 #1
0
 public GroupResponse(FullGroupInfo groupInfo, IEnumerable <MemberInfo> members,
                      IEnumerable <ReviewModel> reviews)
 {
     GroupInfo = groupInfo;
     Members   = members;
     Reviews   = reviews;
 }
コード例 #2
0
        public IActionResult GetGroup([FromRoute] int groupId)
        {
            var userId           = Request.GetUserId();
            var group            = _groupFacade.GetGroup(groupId, userId);
            var groupInfoView    = group.GroupInfoView;
            var groupMembersInfo = group.GroupMemberInfo;
            var fullGroupInfo    = new FullGroupInfo(groupInfoView.Title, groupInfoView.Size,
                                                     groupInfoView.MemberAmount, groupInfoView.Price, groupInfoView.GroupType,
                                                     groupInfoView.Tags, groupInfoView.Description, groupInfoView.CourseStatus, groupInfoView.IsPrivate,
                                                     groupInfoView.Curriculum, groupInfoView.VotersAmount);
            var membersInfo = new List <MemberInfo>();

            groupMembersInfo.ToList().ForEach(m =>
                                              membersInfo.Add(new MemberInfo(m.UserId, m.Username, m.AvatarLink, m.MemberRole,
                                                                             m.Paid, m.CurriculumStatus)));
            var reviews = new List <ReviewModel>();

            group.ReviewView.ToList().ForEach(v =>
                                              reviews.Add(new ReviewModel(v.FromUser, v.Title, v.Text, v.Date, v.FromGroup)));
            var response = new GroupResponse(fullGroupInfo, membersInfo, reviews);

            return(Ok(response));
        }