public ActionResult Analisar(String fileDir, String filename) { try { AnaliseLog analiseLog = new AnaliseLog(); List <Evento> Eventos = racdb.Eventos.Where(x => x.SistemaId == 6).OrderBy(data => data.InicioAvaria).ToList(); var infoLogs = analiseLog.Iniciar(fileDir, filename); if (infoLogs.FirstOrDefault() != null) { ViewBag.Infolog = infoLogs; var nomeLog = infoLogs.FirstOrDefault().Log; var loco_data_hora = nomeLog.Split(' '); var loco = loco_data_hora[0]; var dateEventos = infoLogs.OrderBy(x => x.Data). GroupBy(x => x.Data.Day). Select(x => x.First()).ToList(); dateEventos.ForEach(x => { DebugLog.Logar(x.Data.ToString()); }); Eventos = Eventos.Where(x => x.CampoOrdenacao != null && x.CampoOrdenacao.Contains(loco) && x.InicioAvaria.Date >= dateEventos.FirstOrDefault().Data.Date&& x.InicioAvaria.Date <= dateEventos.LastOrDefault().Data.Date).ToList(); ViewBag.Eventos = Eventos; if (Eventos != null) { Eventos.ForEach(x => { DebugLog.Logar(x.Descricao + " " + x.InicioAvaria); }); } if (infoLogs.Count > 0) { TempData["Message"] = null; return(View("Analise")); } TempData["Message"] = "Atenção - Arquivo de Log está Vazio !!!"; } else { TempData["Message"] = "Atenção - Arquivo de Log está Vazio !!!"; } } catch (Exception e) { TempData["Message"] = "Atenção - Erro na Leiruta do Log !!!"; DebugLog.Logar(e.Message); DebugLog.Logar(e.StackTrace); } return(RedirectToAction("Index")); }
public FileResult BaixarXls(String fileDir, String fileName) { if (!string.IsNullOrEmpty(fileDir) && !string.IsNullOrEmpty(fileName)) { AnaliseLog analiseLog = new AnaliseLog(); var gridView = analiseLog.GetXls(fileDir, fileName); StringWriter sw = new StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw); Response.ClearContent(); Response.Buffer = true; Response.AddHeader("content-disposition", "attachment; filename=" + fileName.Split('.')[0] + ".xls"); Response.ContentType = "application/ms-excel"; Response.Charset = ""; gridView.RenderControl(htw); Response.Output.Write(sw.ToString()); Response.Flush(); Response.End(); } return(null); }