Ejemplo n.º 1
0
        public static void CheckFileMD5(Dictionary <string, string> fileDic)
        {
            if (fileDic.Count == 0)
            {
                return;
            }

            IDBTool dbTool = new LiteDBTool();

            foreach (var item in fileDic)
            {
                var fileInfo = dbTool.GetData <FileModifyInfo>(x => x.FileName == item.Key).SingleOrDefault();
                if (fileInfo.MD5 != item.Value)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine($"{item.Key}檔案異動\n本次MD5:{item.Value}\n上次MD5:{fileInfo.MD5}");
                    fileInfo.MD5 = item.Value;
                    if (dbTool.Update(fileInfo))
                    {
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        Console.WriteLine($"{item.Key} 已更新MD5 {item.Value}");
                    }
                }
                else
                {
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine($"{item.Key}檔案無異動\n本次MD5:{item.Value}\n上次MD5:{fileInfo.MD5}");
                }
            }
        }
Ejemplo n.º 2
0
        public static void CheckFileExists(Dictionary <string, string> fileDic)
        {
            Console.ForegroundColor = ConsoleColor.White;
            List <string> deleteKey = new List <string>();
            IDBTool       dbTool    = new LiteDBTool();

            foreach (var item in fileDic)
            {
                if (!dbTool.GetData <FileModifyInfo>(x => x.FileName == item.Key).Any())
                {
                    deleteKey.Add(item.Key);
                    dbTool.Insert(new FileModifyInfo
                    {
                        FileName   = item.Key,
                        MD5        = item.Value,
                        CreateTime = DateTime.Now
                    });
                    Console.WriteLine($"新增{item.Key}紀錄 MD5為{item.Value}");
                }
            }
            deleteKey.ForEach(x => fileDic.Remove(x));
        }