} /* FilterListFirImageFiles */ private void ImportImagesFromDirectoryStructure(PicesDataBase threadConn, String dirName ) { runLog.Writeln("Dir[" + dirName + "]" + "\n"); String[] fileNames = null; try { fileNames = Directory.GetFiles(dirName); } catch (Exception e) { runLog.Writeln("\n" + "Error retrieving file info for Directory[" + dirName + "]" + "\n"); runLog.Writeln("Exception[" + e.ToString() + "]" + "\n\n"); fileNames = null; } if (fileNames != null) { fileNames = FilterListForImageFiles(fileNames); } if (fileNames != null) { String sipperFileName = cruiseName + stationName + deploymentNum + "-" + OSservices.GetRootName(dirName); sipperFile = new PicesSipperFile(sipperFileName); sipperFile.CruiseName = cruiseName; sipperFile.StationName = stationName; sipperFile.DeploymentNum = deploymentNum; threadConn.SipperFileInsert(sipperFile); int numThisDir = 0; int numFailedThisDir = 0; foreach (String fn in fileNames) { String ext = OSservices.GetFileExtension(fn).ToLower(); if ((ext == "bmp") || (ext == "jpg")) { numThisDir++; bool successful = false; ImportImage(threadConn, sipperFileName, fn, ref successful); if (!successful) { ++numFailedThisDir; } if ((numThisDir % 100) == 0) { runLog.Writeln("Dir[" + dirName + "] Files Updated[" + numThisDir.ToString("###,##0") + "]" + "\n"); } } if (cancelImporting) { break; } } runLog.Writeln("Dir[" + dirName + "] Files Updated[" + numThisDir.ToString("###,##0") + "]" + "\n"); totalImagesUpdated += numThisDir; } if (!cancelImporting) { String[] directories = null; try { directories = Directory.GetDirectories(dirName); } catch (Exception) { directories = null; } if (directories != null) { foreach (String subDir in directories) { if ((subDir == ".") || (subDir == "..")) { continue; } ImportImagesFromDirectoryStructure(threadConn, subDir); if (cancelImporting) { break; } } } } } /* ImportImagesFromDirectoryStructure */