Пример #1
0
        /// <summary>
        /// To be used with transactions.
        /// Saves all the images inside the folder with this path-name
        /// under the given Category. No deep loading.
        /// </summary>
        /// <param name="cmd">The command object asociated with a transaction.</param>
        /// <param name="parent">the target category</param>
        /// <param name="folderName">the folder full path</param>
        internal static void loadFromFolder(SqlCommand cmd, 
            Category parent, string folderName, LoadInfoViewer viewer)
        {
            string[] fileNames = getFileNames(folderName);
            int count = 0;

            for (int i = 0; i < fileNames.Length; i++)
            {
                Image img = new Image(fileNames[i], parent);
                viewer.Invoke(
                    new ShowFilenameDlegate(viewer.showFileName),
                    new object[] {fileNames[i]}
                );
                saveImage(cmd, img, fileNames[i]);// transactional save
                count++;
                int percent = (count*100)/fileNames.Length;
                viewer.Invoke(
                    new ShowProccessDlegate(viewer.showProccess),
                    new object[] {percent}
                );
                img = null;
            }
            fileNames = null;
            System.GC.Collect();
        }
Пример #2
0
 internal static void deepLoadFromFolder(SqlCommand cmd, 
     Category parent, string fileName, LoadInfoViewer viewer)
 {
     string[] subDirs = Directory.GetDirectories(fileName);
     foreach (string subDir in subDirs)
     {
         deepLoadFromFolder(cmd, parent, subDir, viewer);
     }
     loadFromFolder(cmd, parent, fileName, viewer);
 }
Пример #3
0
 public void prepareForLoad(String folderName, bool deep, LoadInfoViewer viewer)
 {
     this.folderName = folderName;
     this.deep = deep;
     this.mViewer = viewer;
 }