예제 #1
0
        private bool CheaklcudeInfo(string source, string listFileName, ref DateTime dateTime)
        {
            //  mutex.WaitOne();
            ListFiles listFile  = new ListFiles(listFileName);
            DateTime  dateTime1 = DateTime.MinValue;
            DateTime  dateTime2 = FileSystem.GetLastWriteTime(listFileName);
            DateTime  dateTime3 = FileSystem.GetLastWriteTime(source);
            bool      ReCreate  = !listFile.GetFilesMaxDate(ref dateTime1);

            if (!FileSystem.ExistsFile(listFileName) || ReCreate || dateTime1 > dateTime2 || dateTime3 > dateTime2)
            {
                CreateInlcudeInfo(source, listFileName);
                dateTime = dateTime1;
                //  mutex.ReleaseMutex();
                return(true);
            }
            if (dateTime2 > dateTime3)
            {
                dateTime = dateTime2;
            }
            else
            {
                dateTime = dateTime3;
            }
            //  mutex.ReleaseMutex();
            return(false);
        }
예제 #2
0
        private void CreateInlcudeInfo(string source, string listFileName)
        {
            ListFiles listFile = new ListFiles(listFileName);

            listFile.ClearFiles();

            List <string>             list          = null;
            Dictionary <string, bool> NoNincludeMap = new Dictionary <string, bool>();

            WriteIncludeInfo(out list, source, ref NoNincludeMap);
            listFile.Files.AddRange(list);
            listFile.Write();
        }