public JsonResult PesquisarLog(string sistema) { List <LogSistemaViewModel> lLogs = new List <LogSistemaViewModel>(); string lCaminhoLogs; DateTime lInicioPeriodo = DateTime.Now.Date.AddDays(-29); DateTime lTerminoPeriodo = DateTime.Now.Date; lCaminhoLogs = RetornaCaminhoLogs(); if (sistema.ToUpper().Contains("CA")) { lLogs.Add(new LogSistemaViewModel { nomeArquivo = "CA.log", sistema = sistema, dataLog = (new FileInfo(Path.Combine(lCaminhoLogs, "CA.log"))).CreationTime.Date } ); } string[] arquivos = Directory.GetFiles(lCaminhoLogs, "*.log"); foreach (string arquivo in arquivos.Where(p => p.ToLower().Contains(sistema.ToLower()))) { LogSistemaViewModel log = new LogSistemaViewModel(); string sDataLog; DateTime dataLog; sDataLog = AfterChar(Path.GetFileNameWithoutExtension(arquivo), "_"); if (DateTime.TryParseExact(sDataLog, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out dataLog)) { if (VerificaDataLog(log, lInicioPeriodo, lTerminoPeriodo, dataLog)) { if (string.Equals(BeforeChar(Path.GetFileName(arquivo), "_"), (sistema), StringComparison.CurrentCultureIgnoreCase)) { log.nomeArquivo = Path.GetFileName(arquivo); log.sistema = sistema; lLogs.Add(log); } } } } return(Json(lLogs.OrderByDescending(p => p.dataLog).ToList(), JsonRequestBehavior.AllowGet)); }
private Boolean VerificaDataLog(LogSistemaViewModel log, DateTime?lInicioPeriodo, DateTime?lTerminoPeriodo, DateTime dataLog) { if (lInicioPeriodo != null && lTerminoPeriodo != null) { if (dataLog >= lInicioPeriodo && dataLog <= lTerminoPeriodo) { log.dataLog = dataLog; return(true); } } else if (lInicioPeriodo != null && lTerminoPeriodo == null) { if (dataLog >= lInicioPeriodo) { log.dataLog = dataLog; return(true); } } else if (lInicioPeriodo == null && lTerminoPeriodo != null) { if (dataLog <= lTerminoPeriodo) { log.dataLog = dataLog; return(true); } } else { log.dataLog = dataLog; return(true); } return(false); }