示例#1
0
        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"));
        }
示例#2
0
 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);
 }