public List <TabelaChamadosViewModel> GerarRelatorioBrasilSeg()
        {
            try
            {
                var resultBrasilSeg = new List <TabelaChamadosViewModel>();

                var diretorio = new DirectoryInfo(@"C:\Users\willian.silva\Downloads");
                var arquivos  = diretorio.GetFiles().Where(x => x.FullName.EndsWith(".csv")).OrderByDescending(f => f.LastWriteTime).First();
                var reader    = File.ReadAllLines(arquivos.FullName);

                foreach (var line in reader)
                {
                    var linha = line.Replace(@"""\""", string.Empty).Replace(@"""", string.Empty).Split(';');
                    if (linha[16] == "APP VISTORIA AGRO" || linha[16] == "IRISK")
                    {
                        var relatorioBrasilSeg = new TabelaChamadosViewModel();
                        relatorioBrasilSeg.Cliente      = "BrasilSeg";
                        relatorioBrasilSeg.Id           = linha[0];
                        relatorioBrasilSeg.Status       = linha[3];
                        relatorioBrasilSeg.Titulo       = linha[4];
                        relatorioBrasilSeg.Prioridade   = linha[5];
                        relatorioBrasilSeg.DataAbertura = Convert.ToDateTime(linha[6]);
                        relatorioBrasilSeg.DiasCorridos = Convert.ToInt32((DateTime.Now - Convert.ToDateTime(linha[6])).TotalDays);
                        if (linha[12] != "" && linha[12] != null)
                        {
                            relatorioBrasilSeg.DataViolacao = Convert.ToDateTime(linha[12]);
                        }
                        else
                        {
                            relatorioBrasilSeg.DataViolacao = null;
                        }
                        if (relatorioBrasilSeg.DataViolacao <= DateTime.Today && linha[12] != "" && linha[12] != null)
                        {
                            relatorioBrasilSeg.Violado = true;
                        }
                        resultBrasilSeg.Add(relatorioBrasilSeg);
                    }
                }

                return(resultBrasilSeg);
            }
            catch (Exception e)
            {
                Console.Write(e);
                return(null);
            }
        }
        public List <TabelaChamadosViewModel> GerarRelatorioPorto()
        {
            try
            {
                var diretorio         = new DirectoryInfo(@"C:\Users\willian.silva\Downloads");
                var arquivo           = diretorio.GetFiles().Where(x => x.FullName.EndsWith(".xls")).OrderByDescending(f => f.LastWriteTime).First();
                var reader            = File.ReadAllLines(arquivo.FullName).Where(x => x.Contains("<Data ss"));
                var tabelaPorto       = new TabelaChamadosViewModel();
                var resultTabelaPorto = new List <TabelaChamadosViewModel>();
                int count             = 1;

                foreach (var line in reader.Skip(22))
                {
                    string result = FindTextBetween(line, "[CDATA[", "]]");
                    switch (count)
                    {
                    case 1:
                    {
                        tabelaPorto.Id = result;
                        count++;
                        break;
                    }

                    case 2:
                    {
                        tabelaPorto.Titulo = result;
                        count++;
                        break;
                    }

                    case 3:
                    {
                        tabelaPorto.Prioridade = result;
                        count++;
                        break;
                    }

                    case 5:
                    {
                        tabelaPorto.Status = result;
                        count++;
                        break;
                    }

                    case 8:
                    {
                        if (!string.IsNullOrEmpty(result))
                        {
                            tabelaPorto.DataViolacao = Convert.ToDateTime(result);
                        }
                        else
                        {
                            tabelaPorto.DataViolacao = null;
                        }
                        count++;
                        break;
                    }

                    case 9:
                    {
                        if (result == "0")
                        {
                            tabelaPorto.Violado = false;
                        }
                        else
                        {
                            tabelaPorto.Violado = true;
                        }
                        count++;
                        break;
                    }

                    case 11:
                    {
                        tabelaPorto.DataAbertura = Convert.ToDateTime(result);
                        tabelaPorto.DiasCorridos = Convert.ToInt32((DateTime.Now - tabelaPorto.DataAbertura).TotalDays);
                        tabelaPorto.Cliente      = "Porto";
                        resultTabelaPorto.Add(tabelaPorto);
                        tabelaPorto = new TabelaChamadosViewModel();
                        count++;
                        break;
                    }

                    default:
                    {
                        count++;
                        if (count > 22)
                        {
                            count = 1;
                        }
                        break;
                    }
                    }
                }

                return(resultTabelaPorto);
            }
            catch (Exception e)
            {
                Console.Write(e);
                return(null);
            }
        }
        public List <TabelaChamadosViewModel> RelatorioResolvidosPorto(List <TabelaChamadosViewModel> relatorioPorto)
        {
            try
            {
                var listaTabela     = new List <TabelaChamadosViewModel>();
                var tabelaRelatorio = new TabelaChamadosViewModel();
                var diaSemana       = Convert.ToInt32(DateTime.Today.DayOfWeek);

                using (var workbook = new XLWorkbook(@"\\confitecsp12\Usuarios\Victor.Valentim\InspecoesResolvidasPorto.xlsx"))
                {
                    var ws = workbook.Worksheet("Planilha1");
                    if (diaSemana < Convert.ToInt32(ws.Cell(1, 11).Value))
                    {
                        ws.Range(2, 1, ws.RowsUsed().Count(), 9).Clear();
                        workbook.Save();
                    }

                    ws.Cell(ws.RowsUsed().Count() + 1, 1).InsertData(relatorioPorto.Where(x => x.Status == "Resolvido"));
                    var relatorioPlanilha = ws.RangeUsed().AsTable().AsDynamicEnumerable();
                    if (relatorioPlanilha.First().Id != "")
                    {
                        foreach (var relatorio in relatorioPlanilha)
                        {
                            tabelaRelatorio              = new TabelaChamadosViewModel();
                            tabelaRelatorio.Cliente      = "Porto";
                            tabelaRelatorio.Id           = relatorio.Id;
                            tabelaRelatorio.Status       = relatorio.Status;
                            tabelaRelatorio.Titulo       = relatorio.Titulo;
                            tabelaRelatorio.Prioridade   = relatorio.Prioridade;
                            tabelaRelatorio.DataAbertura = Convert.ToDateTime(relatorio.Abertura);
                            tabelaRelatorio.DiasCorridos = Convert.ToInt32((DateTime.Now - tabelaRelatorio.DataAbertura).TotalDays);
                            if (!relatorio.Violado)
                            {
                                tabelaRelatorio.Violado = false;
                            }
                            else
                            {
                                tabelaRelatorio.Violado = true;
                            }

                            if (!string.IsNullOrEmpty(Convert.ToString(relatorio.DataViolacao)))
                            {
                                tabelaRelatorio.DataViolacao = Convert.ToDateTime(relatorio.DataViolacao);
                            }
                            else
                            {
                                tabelaRelatorio.DataViolacao = null;
                            }

                            tabelaRelatorio.Observacao    = relatorio.Observacoes;
                            tabelaRelatorio.Acoes         = relatorio.Acoes;
                            tabelaRelatorio.CategoriaErro = relatorio.CategoriaErro;
                            tabelaRelatorio.StatusAtuacao = relatorio.StatusAtuacao;
                            relatorioPorto.Add(tabelaRelatorio);

                            ws.Cell(1, 11).SetValue <int>(diaSemana);
                            workbook.Save();
                        }
                    }
                }
                listaTabela = relatorioPorto.GroupBy(i => i.Id).Select(x => x.First()).ToList();
                return(listaTabela);
            }
            catch (Exception e)
            {
                return(null);
            }
        }
        public List <TabelaChamadosViewModel> RelatorioResolvidos()
        {
            try
            {
                var tabelaRelatorio = new TabelaChamadosViewModel();
                var listaTabela     = new List <TabelaChamadosViewModel>();
                var diaSemana       = Convert.ToInt32(DateTime.Today.DayOfWeek);

                using (var workbook = new XLWorkbook(@"\\confitecsp12\usuarios\Guilherme.Santos\Inspeções mesmo dia.xlsx"))
                {
                    var ws = workbook.Worksheet("Planilha1");

                    if (diaSemana < Convert.ToInt32(ws.Cell(1, 11).Value))
                    {
                        ws.Range(2, 1, ws.RowsUsed().Count(), 9).Clear();
                    }

                    var relatorioPlanilha = ws.RangeUsed().AsTable().AsDynamicEnumerable();
                    relatorioPlanilha = relatorioPlanilha.Where(x => x.Id != null && x.Id != "").ToList();
                    foreach (var relatorio in relatorioPlanilha)
                    {
                        tabelaRelatorio              = new TabelaChamadosViewModel();
                        tabelaRelatorio.Cliente      = "BrasilSeg";
                        tabelaRelatorio.Id           = relatorio.Id;
                        tabelaRelatorio.Status       = relatorio.Status;
                        tabelaRelatorio.Titulo       = relatorio.Titulo;
                        tabelaRelatorio.Prioridade   = relatorio.Prioridade;
                        tabelaRelatorio.DataAbertura = Convert.ToDateTime(relatorio.Abertura);
                        tabelaRelatorio.DiasCorridos = Convert.ToInt32((DateTime.Now - tabelaRelatorio.DataAbertura).TotalDays);
                        if (relatorio.Violado == "Não" || relatorio.DataViolacao > tabelaRelatorio.DataAbertura)
                        {
                            tabelaRelatorio.Violado = false;
                        }
                        else
                        {
                            tabelaRelatorio.Violado = true;
                        }

                        if (!string.IsNullOrEmpty(Convert.ToString(relatorio.DataViolacao)))
                        {
                            tabelaRelatorio.DataViolacao = Convert.ToDateTime(relatorio.DataViolacao);
                        }
                        else
                        {
                            tabelaRelatorio.DataViolacao = null;
                        }

                        tabelaRelatorio.Observacao    = relatorio.Observacoes;
                        tabelaRelatorio.Acoes         = relatorio.Acoes;
                        tabelaRelatorio.CategoriaErro = relatorio.CategoriaErro;
                        tabelaRelatorio.StatusAtuacao = relatorio.StatusAtuacao;
                        listaTabela.Add(tabelaRelatorio);
                    }
                    ws.Cell(1, 11).SetValue <int>(diaSemana);
                    workbook.Save();
                }
                return(listaTabela);
            }
            catch (Exception e)
            {
                return(null);
            }
        }