lundi 26 janvier 2015

Which way is best when getting files off couple of document libraries



Scenaior


Two document libraries (no folders just default settings only uploading files),



Fruit Crate Document Library


Fruit Document Library



Now I have a string with names of files....



string[] fileNeededNames = {"filea.docs", ....};


Now I need to check if Fruit Crate Document Library has item with title in string array above, then if it has then i will check it's extension - if its extension is .doc then i will download it, if it doesn't have extension as .doc then I have to query Fruit Document Library which may have ".doc" version of file but saved with title of Fruit Crate's item's "id",


This is what I am doing yet,



using (SPSite siteCol = new SPSite(site))
using (SPWeb web = siteCol.OpenWeb())
{
SPList list = web.GetList(site + libraryURL);
if (list is SPDocumentLibrary)
{
SPDocumentLibrary library = list as SPDocumentLibrary;
SPListItemCollection results = library.GetItems();
List<string> getFruitItems = new List<string>();
foreach (SPListItem item in results)
{
string fileName = item.Name.ToUpperInvariant();
if (fileNames.ToUpperInvariant().Contains(item.File.Name.ToUpperInvariant()))
{
if (fileName.EndsWith(".DOC"))
{
aFile.SaveDocumentToDisk(inputFolder, item.ID.ToString() + ".doc", item.File.OpenBinary());
}
else
{
getFruitItems.Add(item.ID.ToString() + ".doc");
}
}
}

SPList docList = web.GetList(site + docLibraryURL);
SPDocumentLibrary docLibrary = docList as SPDocumentLibrary;
SPListItemCollection docResults = docLibrary.GetItems();
foreach (SPListItem docItem in docResults)
{
if (getFruitItems.ToUpperInvariant().Contains(docItem.File.Name.ToUpperInvariant()))
{
aFile.SaveDocumentToDisk(inputFolder, docItem.ID.ToString() + ".doc", docItem.File.OpenBinary());
}
}
}
}







0 commentaires:

Enregistrer un commentaire