示例#1
0
        public static SiteFolder New(int siteId, int parentFolderId)
        {
            var result = (SiteFolder)FolderFactory.Create(EntityTypeCode.SiteFolder).CreateFolder();

            result.ParentId = parentFolderId;
            result.SiteId   = siteId;
            return(result);
        }
示例#2
0
        public static ContentFolder New(int contentId, int parentFolderId)
        {
            var result = (ContentFolder)FolderFactory.Create(EntityTypeCode.ContentFolder).CreateFolder();

            result.ParentId  = parentFolderId;
            result.ContentId = contentId;
            return(result);
        }
示例#3
0
        public static ContentFolder Update(ContentFolder folder)
        {
            if (!folder.ParentId.HasValue)
            {
                throw new ApplicationException(FolderStrings.CanUpdateRootFolder);
            }

            return((ContentFolder)FolderFactory.Create(EntityTypeCode.ContentFolder).CreateRepository().Update(folder));
        }
示例#4
0
        public static ContentFolder Save(ContentFolder folder)
        {
            if (folder == null)
            {
                throw new ArgumentNullException(nameof(folder));
            }

            return((ContentFolder)FolderFactory.Create(EntityTypeCode.ContentFolder).CreateRepository().Create(folder.ParentEntityId, folder.ParentId, folder.Name));
        }
示例#5
0
        public static MessageResult RemovePreAction(int id)
        {
            var folder = FolderFactory.Create(EntityTypeCode.ContentFolder).CreateRepository().GetById(id);

            if (folder.IsEmpty)
            {
                return(MessageResult.Confirm(string.Format(FolderStrings.FolderIsNotEmptyConfirm, folder.Name), new[] { id }));
            }

            return(null);
        }
示例#6
0
        public static Folder GetById(int id)
        {
            var factory = FolderFactory.Create(EntityTypeCode.SiteFolder);
            var folder  = factory.CreateRepository().GetById(id);

            if (folder == null)
            {
                throw new Exception(string.Format(LibraryStrings.SiteFolderNotExists, id));
            }

            return(folder);
        }
示例#7
0
        public IList <EntityTreeItem> Process()
        {
            if (_parentEntityId == null)
            {
                throw new ArgumentNullException(nameof(_parentEntityId));
            }

            var folderRepository = FolderFactory.Create(_entityTypeCode).CreateRepository();
            var children         = _returnSelf
                ? Enumerable.Repeat(folderRepository.GetSelfAndChildrenWithSync(_parentEntityId.Value, _entityId), 1)
                : folderRepository.GetChildrenWithSync(_parentEntityId.Value, _entityId);

            return(Mapper.Map <IEnumerable <Folder>, List <EntityTreeItem> >(children));
        }
示例#8
0
        public static MessageResult Remove(int id)
        {
            var repository = FolderFactory.Create(EntityTypeCode.SiteFolder).CreateRepository();
            var folder     = repository.GetById(id);

            if (folder == null)
            {
                throw new ApplicationException(string.Format(FolderStrings.FolderNotFound, id));
            }

            if (!folder.ParentId.HasValue)
            {
                throw new ApplicationException(FolderStrings.CanDeleteRootFolder);
            }

            repository.Delete(folder);
            return(null);
        }
示例#9
0
        /// <summary>
        /// Возвращает сущность
        /// </summary>
        /// <param name="entityTypeCode">код типа сущности</param>
        /// <param name="entityId">идентификатор сущности</param>
        /// <param name="loadChilds">признак, разрешающий загрузку дочерних сущностей</param>
        /// <param name="filter">фильтр</param>
        /// <returns>сущность</returns>
        public static EntityTreeItem GetByTypeAndIdForTree(string entityTypeCode, int entityId, bool loadChilds, string filter)
        {
            if (entityTypeCode == EntityTypeCode.Article)
            {
                return(ArticleRepository.GetByIdForTree(entityId, loadChilds, filter));
            }

            if (entityTypeCode == EntityTypeCode.SiteFolder || entityTypeCode == EntityTypeCode.ContentFolder)
            {
                var folderRepository = FolderFactory.Create(entityTypeCode).CreateRepository();
                var folder           = folderRepository.GetById(entityId);
                if (!loadChilds)
                {
                    return(Mapper.Map <Folder, EntityTreeItem>(folder));
                }

                return(Mapper.Map <Folder, EntityTreeItem>(folderRepository.GetSelfAndChildrenWithSync(folder.ParentEntityId, folder.Id)));
            }

            return(null);
        }
示例#10
0
 public FolderData GetFolderById(int folderId)
 {
     return(FolderFactory.Create().GetFolderById(folderId));
 }
示例#11
0
 public FolderData GetTreeNodes(int userId)
 {
     return(FolderFactory.Create().GetTreeNodes(userId));
 }
示例#12
0
 public FolderData GetAllFolders()
 {
     return(FolderFactory.Create().GetAllFolders());
 }
示例#13
0
 public void MoveFolder(int?parentFolderId, int folderId)
 {
     FolderFactory.Create().MoveFolder(parentFolderId, folderId);
 }
示例#14
0
 public void UpdateFolder(int?parentFolderId, int folderId, string folderName)
 {
     FolderFactory.Create().UpdateFolder(parentFolderId, folderId, folderName);
 }
示例#15
0
 public void DeleteFolderById(int id)
 {
     FolderFactory.Create().DeleteFolderById(id);
 }
示例#16
0
 public void AddFolder(int parentFolderId, string folderName)
 {
     FolderFactory.Create().AddFolder(parentFolderId, folderName);
 }