Exemplo n.º 1
0
        //原来是通过返回null,如传入了一个空串,来表示获取根目录(根目录实际上不是一个目录)
        //现在改进为查不到抛异常,是不是根目录外部判断处理,不通过返回null隐式的表达其它含义
        /// <summary>
        /// 获取一个文件夹实体
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public WindowFolderEntity GetFolderEntity(string id)
        {
            if (String.IsNullOrEmpty(id))
            {
                Debug.Assert(false, "GetFolderEntity 传入的 id 为空");
                return(null);
            }

            XElement element = _indexXml.XPathSelectElement(String.Format(XPATH_Index_SelectFolder, id));

            if (element == null)
            {
                Debug.Assert(false, "GetFolderEntity 失败,返回了 null");
            }

            WindowFolderEntity formFolderEntity = new WindowFolderEntity();

            formFolderEntity.FromXml(element.ToString());
            return(formFolderEntity);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 获取隶属于指定目录的子目录集合
        /// </summary>
        /// <param name="folderId"></param>
        /// <returns></returns>
        public WindowFolderEntityCollection GetFolderCollection(string folderId)
        {
            if (folderId == null)
            {
                folderId = String.Empty;
            }

            WindowFolderEntityCollection collection = new WindowFolderEntityCollection();

            foreach (XElement element in
                     _indexXml.XPathSelectElements(String.Format(XPATH_Index_SelectFolder_ByParentId, folderId)))
            {
                WindowFolderEntity formFolderEntity = new WindowFolderEntity();
                //FormFolderEntity在往Index文件里存的时候是直接ToXml的
                //所以此处直接FromXml即可
                formFolderEntity.FromXml(element.ToString());

                collection.Add(formFolderEntity);
            }

            return(collection);
        }