public async Task <IHttpActionResult> Create(EventCreateModel createModel) { if (!await _eventsService.CanCreateAsync(createModel.GroupId)) { return(StatusCode(System.Net.HttpStatusCode.Forbidden)); } var @event = MapToEvent(createModel); var activityId = _eventsService.Create(@event); _reminderService.CreateIfNotExists(activityId, ReminderTypeEnum.OneDayBefore); @event = _eventsService.Get(activityId); if (createModel.GroupId.HasValue) { _groupActivityService.AddRelation(createModel.GroupId.Value, activityId); @event.GroupId = createModel.GroupId; } _activityTagsHelper.ReplaceTags(activityId, createModel.TagIdsData); ResolveMentions(createModel.Description, @event); var redirectUrl = _activityLinkService.GetLinks(activityId).Details; ReloadFeed(); return(Ok(redirectUrl)); }
public ActivityNotifierDataModel GetActivityNotifierDataModel(IIntranetActivity activity, Enum notificationType, Guid notifierId) { return(new ActivityNotifierDataModel { NotificationType = notificationType, ActivityType = activity.Type, Title = GetNotifierDataTitle(activity).TrimByWordEnd(MaxTitleLength), Url = _linkService.GetLinks(activity.Id).Details, NotifierId = notifierId, IsPinned = activity.IsPinned, IsPinActual = activity.IsPinActual }); }
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 SearchableUintraActivity Map(Bulletin bulletin) { var searchableActivity = bulletin.Map <SearchableUintraActivity>(); searchableActivity.Url = _linkService.GetLinks(bulletin.Id).Details; searchableActivity.UserTagNames = _userTagService.Get(bulletin.Id).Select(t => t.Text); return(searchableActivity); }
private SearchableUintraActivity Map(Entities.Social social) { var searchableActivity = social.Map <SearchableUintraActivity>(); searchableActivity.Url = _activityLinkService.GetLinks(social.Id).Details; searchableActivity.UserTagNames = _userTagService.Get(social.Id).Select(t => t.Text); return(searchableActivity); }
private SearchableUintraActivity Map(Entities.News news) { var searchableActivity = news.Map <SearchableUintraActivity>(); searchableActivity.Url = _linkService.GetLinks(news.Id).Details; searchableActivity.UserTagNames = _userTagService.Get(news.Id).Select(t => t.Text); return(searchableActivity); }
private SearchableUintraActivity Map(Event @event) { var searchableActivity = @event.Map <SearchableUintraActivity>(); searchableActivity.Url = _linkService.GetLinks(@event.Id).Details; searchableActivity.UserTagNames = _userTagService.Get(@event.Id).Select(t => t.Text); return(searchableActivity); }
protected virtual (IList <ComingEventViewModel> events, int totalCount) GetComingEvents(int eventsAmount) { var events = GetComingEvents(DateTime.UtcNow).AsList(); var ownersDictionary = _intranetMemberService.GetMany(events.Select(e => e.OwnerId)).ToDictionary(c => c.Id); var comingEvents = events .Take(eventsAmount) .Select(@event => { var viewModel = @event.Map <ComingEventViewModel>(); viewModel.Owner = ownersDictionary[@event.OwnerId].Map <MemberViewModel>(); viewModel.Links = _activityLinkService.GetLinks(@event.Id); return(viewModel); }) .ToList(); return(comingEvents, events.Count); }
protected override IEnumerable <(IIntranetActivity activity, string detailsLink)> GetUserActivitiesFilteredByUserTags(Guid userId) { var allActivities = GetAllActivities() .Select(activity => (activity: activity, activityTagIds: _userTagService.GetForEntity(activity.Id))); var userTagIds = _userTagService .GetForEntity(userId) .ToList(); var result = allActivities .Where(pair => userTagIds.Intersect(pair.activityTagIds).Any()) .Select(pair => (pair.activity, detailsLink: _activityLinkService.GetLinks(pair.activity.Id).Details)); return(result); }
public virtual ActionResult Create(NewsCreateModel createModel) { if (!ModelState.IsValid) { return(RedirectToCurrentUmbracoPage(Request.QueryString)); } var newsBaseCreateModel = MapToNews(createModel); var activityId = _newsService.Create(newsBaseCreateModel); OnNewsCreated(activityId, createModel); string redirectUri = _activityLinkService.GetLinks(activityId).Details; return(Redirect(redirectUri)); }
private void ResolveMentions(string text, EventBase @event) { var mentionIds = _mentionService.GetMentions(text).ToList(); if (mentionIds.Any()) { var links = _activityLinkService.GetLinks(@event.Id); _mentionService.ProcessMention(new MentionModel() { MentionedSourceId = @event.Id, CreatorId = _intranetMemberService.GetCurrentMemberId(), MentionedUserIds = mentionIds, Title = @event.Title.StripHtml(), Url = links.Details, ActivityType = IntranetActivityTypeEnum.Events }); } }
protected virtual LightboxGalleryPreviewViewModel GetGalleryPreviewModel(LightboxGalleryPreviewModel model, IEnumerable <IPublishedContent> medias) { var galleryPreviewModel = model.Map <LightboxGalleryPreviewViewModel>(); var mediasList = medias.AsList(); var galleryViewModelList = mediasList.Select(MapToMedia).ToList(); TransformPreviewImage(galleryViewModelList); model.DisplayedImagesCount = HttpContext.Request.IsMobileBrowser() ? 2 : 3; galleryPreviewModel.Links = _linkService.GetLinks(model.ActivityId); galleryPreviewModel.Medias = FindMedias(galleryViewModelList); galleryPreviewModel.OtherFiles = galleryViewModelList.Except(galleryPreviewModel.Medias); galleryPreviewModel.Medias.Skip(model.DisplayedImagesCount).ToList().ForEach(i => i.IsHidden = true); galleryPreviewModel.HiddenImagesCount = galleryPreviewModel.Medias.Count(i => i.IsHidden); return(galleryPreviewModel); }
private void ResolveMentions(string text, SocialBase social) { var mentionIds = new Guid[] { };//_mentionService.GetMentions(text).ToList();//TODO: uncomment when mention service is ready if (mentionIds.Any()) { var links = _activityLinkService.GetLinks(social.Id); const int maxTitleLength = 100; _mentionService.ProcessMention(new MentionModel() { MentionedSourceId = social.Id, CreatorId = _memberService.GetCurrentMemberId(), MentionedUserIds = mentionIds, Title = social.Description.StripHtml().TrimByWordEnd(maxTitleLength), Url = links.Details, ActivityType = IntranetActivityTypeEnum.Social }); } }
private void ResolveMentions(string text, BulletinBase bulletin) { var mentionIds = _mentionService.GetMentions(text).ToList(); if (mentionIds.Any()) { var links = _activityLinkService.GetLinks(bulletin.Id); const int maxTitleLength = 100; _mentionService.ProcessMention(new MentionModel() { MentionedSourceId = bulletin.Id, CreatorId = _intranetUserService.GetCurrentUserId(), MentionedUserIds = mentionIds, Title = bulletin.Description.StripHtml().TrimByWordEnd(maxTitleLength), Url = links.Details, ActivityType = IntranetActivityTypeEnum.Bulletins }); } }
public void Map(ComingEventsPanelModel node, ComingEventsPanelViewModel viewModel) { var events = _eventsService.GetComingEvents(DateTime.UtcNow).ToArray(); var ownersDictionary = _intranetMemberService.GetMany(events.Select(e => e.OwnerId)).ToDictionary(c => c.Id); var comingEvents = events .Take(node.EventsAmount) .Select(@event => { var eventViewModel = @event.Map <ComingEventViewModel>(); eventViewModel.Owner = ownersDictionary[@event.OwnerId].ToViewModel(); eventViewModel.Links = _activityLinkService.GetLinks(@event.Id); return(eventViewModel); }) .ToList(); viewModel.Events = comingEvents; }
public LatestActivitiesItemViewModel Convert(IFeedItem item) { if (item is IntranetActivity activity) { var latestActivityModel = new LatestActivitiesItemViewModel { Id = activity.Id, Type = _intranetLocalizationService.Translate(activity.Type.ToString()), Title = activity.Title, Description = activity.Description, Owner = _intranetMemberService.Get(item.OwnerId).ToViewModel(), Links = _linkService.GetLinks(activity.Id), Dates = item.PublishDate.ToDateTimeFormat().ToEnumerable() }; return(latestActivityModel); } _logger.Warn <LatestActivitiesPanelViewModelConverter>("Feed item is not IntranetActivity (id={0};type={1})", item.Id, item.Type.ToInt()); return(null); }
public string GetDetailsUrlWithComment(Guid activityId, Guid commentId) => $"{_linkService.GetLinks(activityId).Details}#{_commentsService.GetCommentViewId(commentId)}";
public UintraLinkModel GetDetailsUrlWithComment(Guid activityId, Guid commentId) => $"{_linkService.GetLinks(activityId).Details}&commentId={_commentsService.GetCommentViewId(commentId)}".ToLinkModel();