private static IEnumerable <Guid> ReceiverIds <TActivity>( CommentModel comment, TActivity activity, Enum notificationType, IIntranetMember currentMember) where TActivity : IIntranetActivity, IHaveOwner { switch (notificationType) { case CommentAdded when activity is ISubscribable subscribable: return(GetNotifiedSubscribers(subscribable).Concat(OwnerId(activity)).Distinct()); case CommentAdded: return(OwnerId(activity)); case CommentEdited: return(OwnerId(activity)); case CommentLikeAdded: return(currentMember.Id == comment.UserId ? new List <Guid>() : OwnerId(comment)); case CommentReplied: return(OwnerId(comment)); default: throw new InvalidOperationException(); } }
private new ExtendedProfileEditModel MapToEditModel(IIntranetMember member) { var baseModel = base.MapToEditModel(member); var result = baseModel.Map <ExtendedProfileEditModel>(); return(result); }
protected virtual bool CanDelete(IIntranetMember currentMember, GroupModel groupModel, IEnumerable <GroupMember> groupMembers, IMedia media) { var mediaCreator = media.GetValue <Guid?>(IntranetConstants.IntranetCreatorId); return(currentMember.Id == groupModel.CreatorId || mediaCreator.HasValue && mediaCreator.Value == currentMember.Id && groupMembers.Any(s => s.MemberId == currentMember.Id)); }
protected override MemberModel MapToViewModel(IIntranetMember user) { var model = base.MapToViewModel(user); model.ProfileUrl = _profileLinkProvider.GetProfileLink(user.Id); model.IsGroupAdmin = CurrentGroup().Map(CreatorId) == user.Id; return(model); }
protected virtual ProfileEditModel MapToEditModel(IIntranetMember member) { var result = member.Map <ProfileEditModel>(); result.MemberNotifierSettings = _memberNotifiersSettingsService.GetForMember(member.Id); FillEditData(result); return(result); }
public MemberViewModel ToViewModel(IIntranetMember member) { if (member == null) { return(null); } var result = member.Map <MemberViewModel>(); result.Photo = _imageHelper.GetImageWithResize(member.Photo, PresetStrategies.ForMemberProfile.ThumbnailPreset); result.ProfileLink = _intranetUserContentProvider.GetProfilePage().Url.ToLinkModel().AddParameter("id", member.Id.ToString()); return(result); }
private MemberModel MapToViewModel(IIntranetMember user, Guid?groupId) { var model = user.Map <MemberModel>(); model.ProfileUrl = _profileLinkProvider.GetProfileLink(user.Id); var isAdmin = groupId.HasValue && _groupMemberService .IsMemberAdminOfGroup(user.Id, groupId.Value); model.IsGroupAdmin = isAdmin; model.IsCreator = groupId.HasValue && _groupService.IsMemberCreator(user.Id, groupId.Value); return(model); }
public async Task <bool> CheckAsync(IIntranetMember member, PermissionSettingIdentity settingsIdentity) { if (member.Groups == null) { return(false); } var permission = (await CurrentCacheAsync).Where(p => member.Groups.Select(g => g.Id).Contains(p.Group.Id) && p.SettingIdentity.Equals(settingsIdentity)); var isAllowed = permission .ToList() .Exists(p => p.SettingValues.IsAllowed); return(isAllowed); }
protected virtual CommentViewModel GetCommentView(CommentModel comment, Guid currentMemberId, IIntranetMember creator) { var model = comment.Map <CommentViewModel>(); model.ModifyDate = _commentsService.WasChanged(comment) ? comment.ModifyDate : default(DateTime?); model.CanEdit = _commentsService.CanEdit(comment, currentMemberId); model.CanDelete = _commentsService.CanDelete(comment, currentMemberId); model.Creator = creator.Map <MemberViewModel>(); model.ElementOverviewId = GetOverviewElementId(comment.ActivityId); model.CommentViewId = _commentsService.GetCommentViewId(comment.Id); model.CreatorProfileUrl = _profileLinkProvider.GetProfileLink(creator); model.LinkPreview = comment.LinkPreview.Map <LinkPreviewViewModel>(); return(model); }
protected override MemberModel MapToViewModel(IIntranetMember user) { var model = base.MapToViewModel(user); model.ProfileUrl = _profileLinkProvider.GetProfileLink(user.Id); var isAdmin = _groupMemberService .IsMemberAdminOfGroup(user.Id, CurrentGroup() .Match(Some: GroupId, None: () => Guid.Empty)); model.IsGroupAdmin = isAdmin; model.IsCreator = _groupService.IsMemberCreator(user.Id, CurrentGroup() .Match(Some: GroupId, None: () => Guid.Empty)); return(model); }
public PopupNotificationMessage Map(INotifierDataValue notifierData, PopupNotifierTemplate template, IIntranetMember receiver) { var message = new PopupNotificationMessage { ReceiverId = receiver.Id, NotificationType = NotificationTypeEnum.Welcome }; (string, string)[] tokens =
public string GetProfileLink(IIntranetMember member) => GetProfileLink(member.Id);
public DesktopNotificationMessage Map(INotifierDataValue notifierData, DesktopNotifierTemplate template, IIntranetMember receiver) { var message = new DesktopNotificationMessage(); (string, string)[] tokens;
protected virtual ProfileViewModel MapToViewModel(IIntranetMember member) { var result = member.Map <ProfileViewModel>(); return(result); }
public IEnumerable <ActivityFeedTabModel> GetActivityTabs(IPublishedContent currentPage, IIntranetMember member, Guid groupId) { yield return(GetMainFeedTab(currentPage, groupId)); foreach (var content in _contentProvider.GetRelatedPages()) { var tabType = GetFeedTabType(content); var activityTypeIds = _activityTypeProvider.All.Select(t => t.ToInt()); if (activityTypeIds.Contains(tabType.ToInt())) { var tab = new ActivityFeedTabModel { Content = content, Type = tabType, IsActive = content.IsAncestorOrSelf(currentPage), Links = _feedLinkService.GetCreateLinks(tabType, groupId) }; yield return(tab); } } }
protected virtual MemberModel MapToViewModel(IIntranetMember user) { var result = user.Map <MemberModel>(); return(result); }
public virtual CommentViewModel GetCommentView(CommentModel comment, Guid currentMemberId, IIntranetMember creator) { var likes = _likesService.GetLikeModels(comment.Id).ToArray(); var memberId = _intranetMemberService.GetCurrentMemberId(); var model = comment.Map <CommentViewModel>(); model.ModifyDate = _commentsService.WasChanged(comment) ? comment.ModifyDate.ToDateTimeFormat() : null; model.CanEdit = _commentsService.CanEdit(comment, currentMemberId); model.CanDelete = _commentsService.CanDelete(comment, currentMemberId); model.Creator = creator.ToViewModel(); model.ElementOverviewId = GetOverviewElementId(comment.ActivityId); model.CommentViewId = _commentsService.GetCommentViewId(comment.Id); model.CreatorProfileUrl = creator == null ? null : _profileLinkProvider.GetProfileLink(creator); model.LinkPreview = comment.LinkPreview.Map <LinkPreviewModel>(); model.LikedByCurrentUser = likes.Any(el => el.UserId == memberId); model.Likes = likes; model.LikeModel = GetLikesViewModel(comment.Id, memberId, likes); return(model); }
protected override MailBase GetMonthlyMailModel(IIntranetMember receiver, MonthlyMailDataModel dataModel, EmailNotifierTemplate template) => _notificationModelMapper.Map(dataModel, template, receiver);
public UiNotificationMessage Map(INotifierDataValue notifierData, UiNotifierTemplate template, IIntranetMember receiver) { var message = new UiNotificationMessage { ReceiverId = receiver.Id, IsPinned = notifierData.IsPinned, IsPinActual = notifierData.IsPinActual, //IsDesktopNotificationEnabled = template.IsDesktopNotificationEnabled }; (string, string)[] tokens;
public MemberChanged(IIntranetMember member) { Member = member; }
public EmailNotificationMessage Map(INotifierDataValue notifierData, EmailNotifierTemplate template, IIntranetMember receiver) { var message = new EmailNotificationMessage(); FillNoReplyFromProps(message); (string, string)[] tokens;
protected virtual MemberModel MapToViewModel(IIntranetMember user) => user.Map <MemberModel>();
public static MemberViewModel ToViewModel(this IIntranetMember member) { return(DependencyResolver.Current.GetService <IMemberServiceHelper>().ToViewModel(member)); }
public UintraLinkModel GetProfileLink(IIntranetMember member) => GetProfileLink(member.Id);