public BaseCollection<DCTFile> DCMQueryDocByField(BaseCollection<DCTFileField> fields) { BaseCollection<DCTFile> files = new BaseCollection<DCTFile>(); using (DocLibContext clientContext = new DocLibContext(ServiceHelper.GetDocumentLibraryName())) { CamlQuery query = new CamlQuery(); CamlExpression caml = null; foreach (DCTFileField item in fields) { string valueText = string.Empty; switch (item.Field.ValueType) { case DCTFieldType.Boolean: break; case DCTFieldType.DateTime: break; case DCTFieldType.Decimal: break; case DCTFieldType.Integer: valueText = "Counter"; break; case DCTFieldType.Note: break; case DCTFieldType.Text: valueText = "Text"; break; case DCTFieldType.User: break; default: break; } if (caml == null) { caml = Caml.Field(item.Field.InternalName).Eq(Caml.Value(valueText, item.FieldValue)); } else { caml = caml.And(Caml.Field(item.Field.InternalName).Eq(Caml.Value(valueText, item.FieldValue))); } } query.ViewXml = Caml.SimpleView(caml, CamlBuilder.ViewType.RecursiveAll).ToCamlString(); ListItemCollection items = clientContext.BaseList.GetItems(query); clientContext.Load(items); clientContext.ExecuteQuery(); foreach (ListItem item in items) { DCTFile file = new DCTFile(); DCTConverterHelper.Convert(item, file); files.Add(file); } } return files; }
public BaseCollection<DCTStorageObject> DCMGetChildren(DCTFolder folder, DCTContentType contentType) { BaseCollection<DCTStorageObject> childs = new BaseCollection<DCTStorageObject>(); BaseCollection<DCTFile> childFiles = new BaseCollection<DCTFile>(); BaseCollection<DCTFolder> childFolders = new BaseCollection<DCTFolder>(); using (DocLibContext clientContext = new DocLibContext(ServiceHelper.GetDocumentLibraryName())) { Folder clientOMFolder = clientContext.Web.GetFolderByServerRelativeUrl(folder.Uri); CamlQuery query = new CamlQuery(); query.FolderServerRelativeUrl = LoadUri(folder, clientContext); query.ViewXml = Caml.SimpleView(Caml.EmptyCaml(), CamlBuilder.ViewType.Default).ToCamlString(); ListItemCollection items = clientContext.BaseList.GetItems(query); clientContext.Load(items); clientContext.ExecuteQuery(); foreach (ListItem item in items) { switch (item.FileSystemObjectType) { case FileSystemObjectType.File: if ((contentType & DCTContentType.File) != DCTContentType.None) { DCTFile itemFile = new DCTFile(); DCTConverterHelper.Convert(item, itemFile); childs.Add(itemFile); //childFiles.Add(itemFile); } break; case FileSystemObjectType.Folder: if ((contentType & DCTContentType.Folder) != DCTContentType.None) { DCTFolder itemFolder = new DCTFolder(); DCTConverterHelper.Convert(item, itemFolder); childs.Add(itemFolder); //childFolders.Add(itemFolder); } break; case FileSystemObjectType.Invalid: break; case FileSystemObjectType.Web: break; default: break; } } } foreach (DCTFolder item in childFolders) childs.Add(item); foreach (DCTFile item in childFiles) childs.Add(item); return childs; }
public BaseCollection<DCTFile> DCMQueryDocByCaml(string camlText) { BaseCollection<DCTFile> files = new BaseCollection<DCTFile>(); using (DocLibContext clientContext = new DocLibContext(ServiceHelper.GetDocumentLibraryName())) { CamlQuery query = new CamlQuery(); query.ViewXml = camlText; ListItemCollection items = clientContext.BaseList.GetItems(query); clientContext.Load(items); clientContext.ExecuteQuery(); foreach (ListItem item in items) { DCTFile file = new DCTFile(); DCTConverterHelper.Convert(item, file); files.Add(file); } } return files; }