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);
        }