/// <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); }
/// <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)); }