Esempio n. 1
0
 private void ValidateWeight(RulesException <StatusType> errors)
 {
     if (StatusTypeRepository.GetWeightsBySiteId(SiteId, Id).Contains(Weight))
     {
         errors.ErrorFor(n => n.Weight, StatusTypeStrings.WeightIsInUse);
     }
 }
Esempio n. 2
0
        internal static void LoadStructureCache(bool clearExternal)
        {
            ClearInternalStructureCache();
            if (clearExternal)
            {
                ClearExternalStructureCache();
            }

            if (GetSiteCache() == null)
            {
                SetSiteCache(SiteRepository.GetAll().ToDictionary(n => n.Id));
            }

            if (GetContentCache() == null)
            {
                SetContentCache(ContentRepository.GetAll().ToDictionary(n => n.Id));
            }

            IEnumerable <Field> fields = new Field[0];

            if (GetFieldCache() == null || GetContentFieldCache() == null)
            {
                fields = FieldRepository.GetAll();
            }

            if (GetFieldCache() == null)
            {
                SetFieldCache(fields.ToDictionary(n => n.Id));
            }

            if (GetStatusTypeCache() == null)
            {
                SetStatusTypeCache(StatusTypeRepository.GetAll().ToDictionary(n => n.Id));
            }

            if (GetUserCache() == null)
            {
                SetUserCache(UserRepository.GetAllUsersList().ToDictionary(n => n.Id));
            }

            if (GetContentFieldCache() == null)
            {
                var dict = new Dictionary <int, List <int> >();
                foreach (var item in fields)
                {
                    if (dict.ContainsKey(item.ContentId))
                    {
                        dict[item.ContentId].Add(item.Id);
                    }
                    else
                    {
                        dict.Add(item.ContentId, new List <int> {
                            item.Id
                        });
                    }
                }

                SetContentFieldCache(dict);
            }
        }
Esempio n. 3
0
        public MessageResult Remove(int id)
        {
            var status = StatusTypeRepository.GetById(id);

            if (status == null)
            {
                throw new ApplicationException(string.Format(StatusTypeStrings.StatusTypeNotFound, id));
            }

            if (status.BuiltIn)
            {
                return(MessageResult.Error(StatusTypeStrings.StatusBuiltIn));
            }

            if (StatusTypeRepository.IsInUseWithArticle(id))
            {
                return(MessageResult.Error(StatusTypeStrings.StatusArticleUsage));
            }

            if (StatusTypeRepository.IsInUseWithWorkflow(id))
            {
                return(MessageResult.Error(StatusTypeStrings.StatusWorkflowUsage));
            }

            StatusTypeRepository.SetNullAssociatedNotificationsStatusTypesIds(id);
            StatusTypeRepository.RemoveAssociatedContentItemsStatusHistoryRecords(id);
            StatusTypeRepository.RemoveAssociatedWaitingForApprovalRecords(id);
            StatusTypeRepository.Delete(id);

            return(null);
        }
Esempio n. 4
0
 public IEnumerable <ListItem> GetStatusesAsListItemsBySiteId(int siteId)
 {
     return(StatusTypeRepository.GetStatusList(siteId).Select(status => new ListItem {
         Text = status.Name, Value = status.Id.ToString()
     })
            .ToArray());
 }
Esempio n. 5
0
        public ListResult <StatusTypeListItem> GetStatusesBySiteId(ListCommand cmd, int siteId)
        {
            var list = StatusTypeRepository.GetStatusTypePage(cmd, siteId, out var totalRecords);

            return(new ListResult <StatusTypeListItem>
            {
                Data = list.ToList(),
                TotalRecords = totalRecords
            });
        }
Esempio n. 6
0
 private Article InitializeArticle(int contentId) => new Article
 {
     Status       = _importSettings.IsWorkflowAssigned ? StatusType.GetNone(_siteId) : StatusType.GetPublished(_siteId),
     StatusTypeId = _importSettings.IsWorkflowAssigned
         ? StatusTypeRepository.GetNoneStatusIdBySiteId(_siteId)
         : StatusTypeRepository.GetPublishedStatusIdBySiteId(_siteId),
     Visible     = true,
     ContentId   = contentId,
     FieldValues = new List <FieldValue>()
 };
Esempio n. 7
0
        public StatusType ReadProperties(int id)
        {
            var status = StatusTypeRepository.GetById(id);

            if (status == null)
            {
                throw new ApplicationException(string.Format(StatusTypeStrings.StatusTypeNotFound, id));
            }

            return(status);
        }
Esempio n. 8
0
        /// <summary>
        /// Возвращает упрощенный список сущностей
        /// </summary>
        public static List <ListItem> SimpleList(SimpleListQuery query)
        {
            var itemList = new List <ListItem>();

            if (query.EntityTypeCode == EntityTypeCode.ContentGroup)
            {
                itemList = ContentRepository.GetGroupSimpleList(query.ParentEntityId, query.SelectedEntitiesIds).ToList();
            }
            else if (query.EntityTypeCode == EntityTypeCode.Article || query.EntityTypeCode == EntityTypeCode.ArchiveArticle)
            {
                itemList = ArticleRepository.GetSimpleList(query);
            }
            else if (query.EntityTypeCode == EntityTypeCode.Content)
            {
                itemList.AddRange(ContentRepository.GetSimpleList(query.ParentEntityId, query.SelectedEntitiesIds));
            }
            else if (query.EntityTypeCode == EntityTypeCode.Site)
            {
                itemList.AddRange(SiteRepository.GetSimpleList(query.SelectedEntitiesIds));
            }
            else if (query.EntityTypeCode == EntityTypeCode.User)
            {
                itemList.AddRange(UserRepository.GetSimpleList(query.SelectedEntitiesIds));
            }
            else if (query.EntityTypeCode == EntityTypeCode.UserGroup)
            {
                itemList.AddRange(UserGroupRepository.GetSimpleList(query.SelectedEntitiesIds));
            }
            else if (query.EntityTypeCode == EntityTypeCode.TemplateObjectFormat)
            {
                itemList.AddRange(ObjectFormatRepository.GetObjectFormats(query.ParentEntityId, query.ActualListId, query.SelectedEntitiesIds));
            }
            else if (query.EntityTypeCode == EntityTypeCode.Page)
            {
                itemList.AddRange(PageTemplateRepository.GetPageSimpleList(query.SelectedEntitiesIds));
            }
            else if (query.EntityTypeCode == EntityTypeCode.StatusType)
            {
                itemList.AddRange(StatusTypeRepository.GetStatusSimpleList(query.SelectedEntitiesIds));
            }
            else if (query.EntityTypeCode == EntityTypeCode.Field)
            {
                itemList.AddRange(FieldRepository.GetList(query.SelectedEntitiesIds).Select(c => new ListItem(c.Id.ToString(), c.Name)));
            }

            return(itemList);
        }
Esempio n. 9
0
        /// <summary>
        /// Возвращает упрощенный список сущностей
        /// </summary>
        /// <param name="entityTypeCode">код типа сущности</param>
        /// <param name="parentEntityId">идентификатор родительской сущности</param>
        /// <param name="entityId">идентификатор сущности</param>
        /// <param name="listId">дополнительный параметр для идентификации списка</param>
        /// <param name="selectionMode">режим выделения списка</param>
        /// <param name="selectedEntitiesIDs">идентификаторы выбранных сущностей</param>
        /// <param name="filter"></param>
        /// <param name="testEntityId"></param>
        /// <returns>упрощенный список сущностей</returns>
        public static List <ListItem> SimpleList(string entityTypeCode, int parentEntityId, int?entityId, int?listId, ListSelectionMode selectionMode, int[] selectedEntitiesIDs, string filter, int testEntityId)
        {
            var itemList = new List <ListItem>();

            if (entityTypeCode == EntityTypeCode.ContentGroup)
            {
                itemList = ContentRepository.GetGroupSimpleList(parentEntityId, selectedEntitiesIDs).ToList();
            }
            else if (entityTypeCode == EntityTypeCode.Article || entityTypeCode == EntityTypeCode.ArchiveArticle)
            {
                itemList = ArticleRepository.GetSimpleList(parentEntityId, entityId, listId, selectionMode, selectedEntitiesIDs, filter, testEntityId);
            }
            else if (entityTypeCode == EntityTypeCode.Content)
            {
                itemList.AddRange(ContentRepository.GetSimpleList(parentEntityId, selectedEntitiesIDs));
            }
            else if (entityTypeCode == EntityTypeCode.Site)
            {
                itemList.AddRange(SiteRepository.GetSimpleList(selectedEntitiesIDs));
            }
            else if (entityTypeCode == EntityTypeCode.User)
            {
                itemList.AddRange(UserRepository.GetSimpleList(selectedEntitiesIDs));
            }
            else if (entityTypeCode == EntityTypeCode.UserGroup)
            {
                itemList.AddRange(UserGroupRepository.GetSimpleList(selectedEntitiesIDs));
            }
            else if (entityTypeCode == EntityTypeCode.TemplateObjectFormat)
            {
                itemList.AddRange(ObjectFormatRepository.GetObjectFormats(parentEntityId, listId, selectedEntitiesIDs));
            }
            else if (entityTypeCode == EntityTypeCode.Page)
            {
                itemList.AddRange(PageTemplateRepository.GetPageSimpleList(selectedEntitiesIDs));
            }
            else if (entityTypeCode == EntityTypeCode.StatusType)
            {
                itemList.AddRange(StatusTypeRepository.GetStatusSimpleList(selectedEntitiesIDs));
            }
            else if (entityTypeCode == EntityTypeCode.Field)
            {
                itemList.AddRange(FieldRepository.GetList(selectedEntitiesIDs).Select(c => new ListItem(c.Id.ToString(), c.Name)));
            }

            return(itemList);
        }
Esempio n. 10
0
 public static StatusType GetNone(int siteId) => StatusTypeRepository.GetByName(StatusName.None, siteId);
Esempio n. 11
0
 public static StatusType GetPublished(int siteId) => StatusTypeRepository.GetByName(StatusName.Published, siteId);
Esempio n. 12
0
 public IEnumerable <StatusType> GetStatusList(int siteId) => StatusTypeRepository.GetStatusList(siteId);
Esempio n. 13
0
        internal static void LoadStructureCache(bool clearExternal)
        {
            ClearInternalStructureCache();
            if (clearExternal)
            {
                ClearExternalStructureCache();
            }

            if (GetSiteCache() == null)
            {
                Dictionary <int, Site> value = SiteRepository.GetAll().ToDictionary(n => n.Id);
                SetValueToStorage(_siteCache, value, HttpContextItems.SiteCache);
            }

            if (GetContentCache() == null)
            {
                Dictionary <int, Content> value = ContentRepository.GetAll().ToDictionary(n => n.Id);
                SetValueToStorage(_contentCache, value, HttpContextItems.ContentCache);
            }

            IEnumerable <Field> fields = new Field[0];

            if (GetFieldCache() == null || GetContentFieldCache() == null)
            {
                fields = FieldRepository.GetAll();
            }

            if (GetFieldCache() == null)
            {
                Dictionary <int, Field> value = fields.ToDictionary(n => n.Id);
                SetValueToStorage(_fieldCache, value, HttpContextItems.FieldCache);
            }

            if (GetStatusTypeCache() == null)
            {
                Dictionary <int, StatusType> value = StatusTypeRepository.GetAll().ToDictionary(n => n.Id);
                SetValueToStorage(_statusTypeCache, value, HttpContextItems.StatusType);
            }

            if (GetUserCache() == null)
            {
                Dictionary <int, User> value = UserRepository.GetAllUsersList().ToDictionary(n => n.Id);
                SetValueToStorage(_userCache, value, HttpContextItems.User);
            }

            if (GetContentFieldCache() == null)
            {
                var dict = new Dictionary <int, List <int> >();
                foreach (var item in fields)
                {
                    if (dict.ContainsKey(item.ContentId))
                    {
                        dict[item.ContentId].Add(item.Id);
                    }
                    else
                    {
                        dict.Add(item.ContentId, new List <int> {
                            item.Id
                        });
                    }
                }

                SetValueToStorage(_contentFieldCache, dict, HttpContextItems.ContentFieldCache);
            }
        }
Esempio n. 14
0
 public ListResult <StatusTypeListItem> ListForWorkflow(ListCommand listCommand, int[] selectedIds, int workflowId) => StatusTypeRepository.GetPageForWorkflow(listCommand, selectedIds, workflowId);
Esempio n. 15
0
        public StatusType SaveProperties(StatusType statusType)
        {
            var result = StatusTypeRepository.SaveProperties(statusType);

            return(result);
        }
Esempio n. 16
0
 public StatusType UpdateProperties(StatusType statusType) => StatusTypeRepository.UpdateProperties(statusType);
Esempio n. 17
0
 public static StatusType Create(int siteId) => new StatusType
 {
     SiteId = siteId, Weight = MinFreeWeight(StatusTypeRepository.GetWeightsBySiteId(siteId))
 };
Esempio n. 18
0
 public int GetPublishedStatusIdBySiteId(int id) => StatusTypeRepository.GetPublishedStatusIdBySiteId(id);
Esempio n. 19
0
 public IEnumerable <StatusType> GetColouredStatuses() => StatusTypeRepository.GetColouredStatuses();