public virtual async Task <IHttpActionResult> Subscribe(Guid groupId) { var currentMember = await _memberService.GetCurrentMemberAsync(); var group = await _groupService.GetAsync(groupId); if (group == null || group.IsHidden) { return(NotFound()); } if (await _groupMemberService.IsGroupMemberAsync(groupId, currentMember.Id)) { await _groupMemberService.RemoveAsync(groupId, currentMember.Id); } else { var subscription = new GroupMemberSubscriptionModel { MemberId = currentMember.Id, IsAdmin = false }; await _groupMemberService.AddAsync(groupId, subscription); } return(Ok(_groupLinkProvider.GetGroupRoomLink(groupId))); }
public async Task <GroupViewModel> GetGroupViewModelAsync(Guid groupId) { var group = await _groupService.GetAsync(groupId); var currentMemberId = await _memberService.GetCurrentMemberIdAsync(); var groupModel = group.Map <GroupViewModel>(); groupModel.IsMember = await _groupMemberService.IsGroupMemberAsync(group.Id, currentMemberId); groupModel.IsCreator = group.CreatorId == currentMemberId; groupModel.MembersCount = await _groupMemberService.GetMembersCountAsync(group.Id); groupModel.Creator = (await _memberService.GetAsync(group.CreatorId)).ToViewModel(); groupModel.GroupUrl = _groupLinkProvider.GetGroupRoomLink(group.Id); if (groupModel.HasImage) { groupModel.GroupImageUrl = _imageHelper.GetImageWithPreset(_mediaModelService.Get(group.ImageId.Value).Url, UmbracoAliases.ImagePresets.GroupImageThumbnail); } return(groupModel); }
public async Task <bool> CanUploadAsync(Guid groupId) { return(await _groupMemberService.IsGroupMemberAsync(groupId, await _intranetMemberService.GetCurrentMemberIdAsync())); }