private IntranetActivityPreviewModelBase GetBaseModel(IFeedItem feedItem, bool isGroupFeed) { if (feedItem is IntranetActivity activity) { var baseModel = new IntranetActivityPreviewModelBase { Id = feedItem.Id, Links = _linkService.GetLinks(feedItem.Id), Type = _localizationService.Translate(activity.Type.ToString()), CommentsCount = _commentsService.GetCount(feedItem.Id), Likes = _likesService.GetLikeModels(activity.Id), GroupInfo = isGroupFeed ? null : _feedActivityHelper.GetGroupInfo(feedItem.Id), ActivityType = feedItem.Type, }; if (feedItem is Social social) { baseModel.LinkPreviewId = social.LinkPreviewId; baseModel.LinkPreview = social.LinkPreview; } _lightboxHelper.FillGalleryPreview(baseModel, activity.MediaIds); return(baseModel); } _logger.Warn <FeedPresentationService>("Feed item is not IntranetActivity (id={0};type={1})", feedItem.Id, feedItem.Type.ToInt()); return(null); }
private IntranetActivityPreviewModelBase ApplyEventSpecific(Event @event, IntranetActivityPreviewModelBase previewModel) { var currentMember = _intranetMemberService.GetCurrentMember(); previewModel.Description = @event.Description; previewModel.Title = @event.Title; previewModel.Owner = _intranetMemberService.Get(@event).ToViewModel(); previewModel.LikedByCurrentUser = @event.Likes.Any(x => x.UserId == currentMember.Id); previewModel.IsGroupMember = [email protected] || currentMember.GroupIds.Contains(@event.GroupId.Value); previewModel.IsPinned = @event.IsPinned; previewModel.IsPinActual = @event.IsPinActual; previewModel.CanEdit = _intranetActivityServices.First(s => Equals(s.Type, IntranetActivityTypeEnum.Events)).CanEdit(@event); previewModel.CurrentMemberSubscribed = @event.Subscribers.Any(x => x.UserId == currentMember.Id); previewModel.Location = @event.Location; var startDate = @event.StartDate.ToDateTimeFormat(); string endDate; if (@event.StartDate.Date == @event.EndDate.Date) { endDate = @event.EndDate.ToTimeFormat(); } else { endDate = @event.EndDate.ToDateTimeFormat(); } @previewModel.Dates = new[] { startDate, endDate }; return(previewModel); }
private IntranetActivityPreviewModelBase ApplySocialSpecific(Social social, IntranetActivityPreviewModelBase previewModel) { var currentMember = _intranetMemberService.GetCurrentMember(); previewModel.Description = social.Description; previewModel.Title = social.Title; previewModel.Owner = _intranetMemberService.Get(social).ToViewModel(); previewModel.LikedByCurrentUser = social.Likes.Any(x => x.UserId == currentMember.Id); previewModel.IsGroupMember = !social.GroupId.HasValue || currentMember.GroupIds.Contains(social.GroupId.Value); previewModel.CanEdit = _intranetActivityServices.First(s => Equals(s.Type, IntranetActivityTypeEnum.Social)).CanEdit(social); previewModel.Dates = social.PublishDate.ToDateFormat().ToEnumerable(); previewModel.Location = social.Location; return(previewModel); }
private IntranetActivityPreviewModelBase ApplyNewsSpecific(News news, IntranetActivityPreviewModelBase previewModel) { var currentMember = _intranetMemberService.GetCurrentMember(); previewModel.Description = news.Description; previewModel.Title = news.Title; previewModel.Owner = _intranetMemberService.Get(news).ToViewModel(); previewModel.LikedByCurrentUser = news.Likes.Any(x => x.UserId == currentMember.Id); previewModel.IsGroupMember = !news.GroupId.HasValue || currentMember.GroupIds.Contains(news.GroupId.Value); previewModel.IsPinned = news.IsPinned; previewModel.IsPinActual = news.IsPinActual; previewModel.CanEdit = _intranetActivityServices.First(s => Equals(s.Type, IntranetActivityTypeEnum.News)).CanEdit(news); previewModel.Dates = news.PublishDate.ToDateFormat().ToEnumerable(); previewModel.Location = news.Location; return(previewModel); }