Пример #1
0
        protected virtual EventViewModel GetViewModel(EventBase @event, ActivityFeedOptions options)
        {
            var model = @event.Map <EventViewModel>();

            model.CanEdit      = _eventsService.CanEdit(@event);
            model.CanSubscribe = _eventsService.CanSubscribe(@event.Id);
            model.Links        = options.Links;
            model.IsReadOnly   = options.IsReadOnly;

            model.HeaderInfo       = @event.Map <IntranetActivityDetailsHeaderViewModel>();
            model.HeaderInfo.Owner = _intranetMemberService.Get(@event).Map <MemberViewModel>();
            model.HeaderInfo.Links = options.Links;

            return(model);
        }
Пример #2
0
        private EventViewModel GetDetails(Event @event)
        {
            var details = @event.Map <EventViewModel>();

            details.Media                = MediaHelper.GetMediaUrls(@event.MediaIds);
            details.CanEdit              = _eventService.CanEdit(@event);
            details.Links                = _feedLinkService.GetLinks(@event.Id);
            details.IsReadOnly           = false;
            details.HeaderInfo           = @event.Map <IntranetActivityDetailsHeaderViewModel>();
            details.HeaderInfo.Dates     = @event.PublishDate.ToDateTimeFormat().ToEnumerable();
            details.HeaderInfo.Owner     = _memberService.Get(@event).ToViewModel();
            details.Tags                 = _userTagService.Get(@event.Id);
            details.AvailableTags        = _userTagProvider.GetAll();
            details.LightboxPreviewModel = _lightboxHelper.GetGalleryPreviewModel(@event.MediaIds, PresetStrategies.ForActivityDetails);
            details.CanSubscribe         = _eventService.CanSubscribe(@event.Id);

            var subscribe = @event.Subscribers.FirstOrDefault(x => x.UserId == _memberService.GetCurrentMemberId());

            details.IsSubscribed            = subscribe != null;
            details.IsNotificationsDisabled = subscribe?.IsNotificationDisabled ?? false;

            return(details);
        }