diff --git a/MP.FileData/Controllers/FileController.cs b/MP.FileData/Controllers/FileController.cs index 2f0baaa7..087316d5 100644 --- a/MP.FileData/Controllers/FileController.cs +++ b/MP.FileData/Controllers/FileController.cs @@ -40,20 +40,37 @@ namespace MP.FileData.Controllers /// /// cod macchina /// path ricerca x macchina + /// Numero giorni x ricerca all'indietro da data corrente / 0 = nessun limite /// pattern di ricerca (*.*) - /// pattern esclusione (separato da spazi + /// Regole di ricerca applicate /// - public bool CheckFileArchived(string idxMacchina, string path, string searchPattern, SearchRules currRule) + public bool CheckFileArchived(string idxMacchina, string path, int numDayPre, string searchPattern, SearchRules currRule) { Log.Info($"CheckFileArchived S00 | macchina: {idxMacchina} | path: {path} | pattern: {searchPattern} | # ExcludedFileExt: {currRule.ExcludedFileExt.Count()}"); bool answ = false; DirectoryInfo dirInfo = new DirectoryInfo(path); - FileInfo[] fileList = dirInfo.GetFiles(searchPattern); + FileInfo[] fileListRaw = dirInfo.GetFiles(searchPattern, SearchOption.AllDirectories); + List fileList = new List(); + DateTime adesso = DateTime.Now; + // se ho un limite x giorni indietor x modifiche --> limito! + if (numDayPre > 0) + { + foreach (var item in fileListRaw) + { + if (adesso.Subtract(item.LastWriteTime).TotalDays <= numDayPre) + { + fileList.Add(item); + } + } + } + else + { + fileList = fileListRaw.ToList(); + } Log.Info($"CheckFileArchived S01 | file trovati: {fileList.Count()}"); List fileNew = new List(); List fileChecked = new List(); List fileMod = new List(); - DateTime adesso = DateTime.Now; // recupera elenco file nel DB var archivedFile = FileGetByPath(path, true); @@ -265,7 +282,6 @@ namespace MP.FileData.Controllers // gestione Tags (da migliorare...) List currTags = localDbCtx.DbSetTags.ToList(); - //List currTags = TagGetAll(); // calcolo MD5 e tags foreach (var item in newRec) @@ -311,10 +327,6 @@ namespace MP.FileData.Controllers } } - //localDbCtx - //.DbSetTags - //.AddRange(newTags); - // aggiungo in blocco localDbCtx .DbSetProgFile