/// <summary>
        /// Create a FindInfo object initialized by the given parameters.
        /// </summary>
        /// <param name="parentFolder">List children of this folder.</param>
        /// <param name="inclFolders">Include child folders.</param>
        /// <param name="inclDocs">Include child documents.</param>
        /// <returns></returns>
        protected static FindInfo makeFindInfo(FWFolder parentFolder, bool inclFolders, bool inclDocs)
        {
            FindInfo     fi = new FindInfo();
            FindChildren fc = new FindChildren();

            fc.parentId     = Convert.ToString(parentFolder.Id);
            fi.findChildren = fc;

            if (inclFolders && inclDocs)
            {
                // do not need to constrain
            }
            else //(inclFolders || inclDocs)
            {
                FindByType ft = new FindByType();
                ft.typeStructures = inclFolders;
                ft.typeDocuments  = inclDocs;
                fi.findByType     = ft;
            }

            //FindOptions fo = new FindOptions();
            //fo.sortOrder = SortOrderC.NONE;
            //fi.findOptions = fo;

            return(fi);
        }
Exemple #2
0
        /// <summary>
        /// Creates an archive path, if it does not exist.
        /// </summary>
        /// <param name="arcPath">Archive path to be created. First character is used as path delimiter.</param>
        /// <returns>Folder object of the last path segment.</returns>
        public virtual FWFolder MakeArcPath(String arcPath)
        {
            String      delim = arcPath.Substring(0, 1);
            List <Sord> sords = new List <Sord>();

            String[] toks = arcPath.Substring(1).Split(delim[0]);
            for (int i = 0; i < toks.Length; i++)
            {
                Sord sord = new Sord();
                sord.name = toks[i];
                sords.Add(sord);
            }
            if (sords.Count == 0)
            {
                return(RootFolder);
            }
            int[]    ids = Conn.Ix.checkinSordPath("1", sords.ToArray(), new SordZ(SordC.mbName));
            FWFolder f   = GetFolder(Convert.ToString(ids[ids.Length - 1]));

            return(f);
        }
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="ifc">Content interface object.</param>
 /// <param name="parentFolder">The children of this folder are cached.</param>
 /// <param name="inclFolders">True, if child folders have to be included.</param>
 /// <param name="inclDocs">True, if child documents have to be included.</param>
 /// <remarks>
 /// If <c>inclFolders</c> and <c>inclDocs</c> are set to false, no restiction is made.
 /// </remarks>
 public FWFindChildrenCache(FWContentInterface ifc, FWFolder parentFolder,
                            bool inclFolders, bool inclDocs)
     : base(ifc, makeFindInfo(parentFolder, inclFolders, inclDocs), FWFindSordsCache <T> .DEFAULT_SORDZ)
 {
 }
 /// <summary>
 /// Create new FWFindChildrenCache object.
 /// </summary>
 /// <param name="parentFolder">Parent folder object</param>
 /// <param name="inclFolders">Child cache includes folders</param>
 /// <param name="inclDocs">Child cache includes documents</param>
 /// <returns>FWFolders object</returns>
 public virtual FWFindChildrenCache <T> NewFindChildrenCache <T>(FWFolder parentFolder, bool inclFolders, bool inclDocs) where T : FWSord
 {
     return(new FWFindChildrenCache <T>(ifc, parentFolder, inclFolders, inclDocs));
 }