コード例 #1
0
        private void InitialiseWork(string srcDir, string dstDir)
        {
            DictTargetFolderToSrcFiles.Clear();
            FilesProcessed.Clear();
            FoldersCreated.Clear();

            DirectoryInfo info = new DirectoryInfo(srcDir);

            foreach (var file in info.GetFiles("*.*", SearchOption.AllDirectories))
            {
                string targetDir = FileOrganizerUtility.PrepareTargetDirFromFile(dstDir, file);

                if (!DictTargetFolderToSrcFiles.ContainsKey(targetDir))
                {
                    DictTargetFolderToSrcFiles.Add(targetDir, new List <FileInfo>()
                    {
                        file
                    });
                }
                else
                {
                    DictTargetFolderToSrcFiles[targetDir].Add(file);
                }
            }
        }
コード例 #2
0
        private KeyValuePair <string, List <FileInfo> >?GetWork()
        {
            lock (_sync)
            {
                if (DictTargetFolderToSrcFiles.Count > 0)
                {
                    KeyValuePair <string, List <FileInfo> > item = DictTargetFolderToSrcFiles.ElementAt(0);
                    DictTargetFolderToSrcFiles.Remove(item.Key);
                    return(item);
                }

                return(null);
            }
        }