internal void PrepareNotifications(int contentId, int[] articleIds, string[] codes, bool disableNotifications = false)
 {
     Notifications = new Notification[0];
     ArticleIds    = new int[0];
     Articles      = new Article[0];
     ValidateCodes(codes);
     Codes = codes.Distinct().ToArray();
     if (!disableNotifications)
     {
         ContentId     = contentId;
         SiteId        = ContentRepository.GetSiteId(contentId);
         Notifications = NotificationRepository.GetContentNotifications(contentId, codes).ToArray();
         if (Notifications.Any())
         {
             ArticleIds = articleIds;
             if (!Codes.Contains(NotificationCode.Create) && ServiceNotifications.Any())
             {
                 Articles = GetArticles();
             }
         }
     }
 }
Beispiel #2
0
        internal static IEnumerable <EntityObject> GetList(string entityTypeCode, IList <int> ids)
        {
            if (entityTypeCode.Equals(EntityTypeCode.CustomerCode, StringComparison.InvariantCultureIgnoreCase) && ids.Any())
            {
                return(new EntityObject[] { new CustomerObject {
                                                Id = ids.First(), Modified = DateTime.MinValue, IsReadOnly = true
                                            } });
            }

            if (entityTypeCode.Equals(EntityTypeCode.Site, StringComparison.InvariantCultureIgnoreCase))
            {
                return(SiteRepository.GetList(ids));
            }

            if (entityTypeCode.Equals(EntityTypeCode.Content, StringComparison.InvariantCultureIgnoreCase))
            {
                return(ContentRepository.GetList(ids));
            }

            if (entityTypeCode.Equals(EntityTypeCode.Field, StringComparison.InvariantCultureIgnoreCase))
            {
                return(FieldRepository.GetList(ids));
            }

            if (entityTypeCode.Equals(EntityTypeCode.Article, StringComparison.InvariantCultureIgnoreCase))
            {
                return(ArticleRepository.GetList(ids));
            }

            if (entityTypeCode.Equals(EntityTypeCode.Notification, StringComparison.InvariantCultureIgnoreCase))
            {
                return(NotificationRepository.GetList(ids));
            }

            if (entityTypeCode.Equals(EntityTypeCode.VisualEditorPlugin, StringComparison.InvariantCultureIgnoreCase))
            {
                return(VisualEditorRepository.GetPluginList(ids));
            }

            if (entityTypeCode.Equals(EntityTypeCode.VisualEditorCommand, StringComparison.InvariantCultureIgnoreCase))
            {
                return(VisualEditorRepository.GetCommandList(ids));
            }

            if (entityTypeCode.Equals(EntityTypeCode.VisualEditorStyle, StringComparison.InvariantCultureIgnoreCase))
            {
                return(VisualEditorRepository.GetStyleList(ids));
            }

            if (entityTypeCode.Equals(EntityTypeCode.StatusType, StringComparison.InvariantCultureIgnoreCase))
            {
                return(StatusTypeRepository.GetList(ids));
            }

            if (entityTypeCode.Equals(EntityTypeCode.Workflow, StringComparison.InvariantCultureIgnoreCase))
            {
                return(WorkflowRepository.GetList(ids));
            }

            if (entityTypeCode.Equals(EntityTypeCode.PageTemplate, StringComparison.InvariantCultureIgnoreCase))
            {
                return(PageTemplateRepository.GetPageTemplateList(ids));
            }

            if (entityTypeCode.Equals(EntityTypeCode.User, StringComparison.InvariantCultureIgnoreCase))
            {
                return(UserRepository.GetList(ids));
            }

            if (entityTypeCode.Equals(EntityTypeCode.UserGroup, StringComparison.InvariantCultureIgnoreCase))
            {
                return(UserGroupRepository.GetList(ids));
            }

            if (entityTypeCode.Equals(EntityTypeCode.TemplateObjectFormat, StringComparison.InvariantCultureIgnoreCase))
            {
                return(FormatRepository.GetList(ids, false));
            }

            if (entityTypeCode.Equals(EntityTypeCode.PageObjectFormat, StringComparison.InvariantCultureIgnoreCase))
            {
                return(FormatRepository.GetList(ids, true));
            }

            if (entityTypeCode.Equals(EntityTypeCode.PageObject, StringComparison.InvariantCultureIgnoreCase) || entityTypeCode.Equals(EntityTypeCode.TemplateObject, StringComparison.InvariantCultureIgnoreCase))
            {
                return(ObjectRepository.GetList(ids));
            }

            if (entityTypeCode.Equals(EntityTypeCode.VirtualContent, StringComparison.InvariantCultureIgnoreCase))
            {
                return(VirtualContentRepository.GetList(ids));
            }

            if (entityTypeCode.Equals(EntityTypeCode.Page, StringComparison.InvariantCultureIgnoreCase))
            {
                return(PageRepository.GetList(ids));
            }

            return(Enumerable.Empty <EntityObject>());
        }