private FormFiltersAgendaVisitaEnderecosViewModel GetFiltrosAgenda()
        {
            var ffavem = new FormFiltersAgendaVisitaEnderecosViewModel();

            ffavem.Ano = (HttpContext.Session.GetString("Ano") == "") ? null : HttpContext.Session.GetString("Ano");
            ffavem.Mes = (HttpContext.Session.GetString("Mes") == "") ? null : HttpContext.Session.GetString("Mes");

            return(ffavem);
        }
 public IActionResult SetFiltrosTelaExportacao([FromForm] FormFiltersAgendaVisitaEnderecosViewModel filtrosTelaExportacao)
 {
     if (filtrosTelaExportacao != null)
     {
         HttpContext.Session.SetString("Ano", (filtrosTelaExportacao.Ano == null) ? "" : filtrosTelaExportacao.Ano);
         HttpContext.Session.SetString("Mes", (filtrosTelaExportacao.Mes == null) ? "" : filtrosTelaExportacao.Mes);
     }
     return(Json("OK"));
 }
        /*              utilizado no controller LotePorEnderecoController.cs              */
        public byte[] ExportaAgendaAdesao(List <LotePorEndereco> data, List <LotePorEnderecoExportaAgendaAdesao> data2, IEnumerable <dynamic> lote, FormFiltersAgendaVisitaEnderecosViewModel filtros)
        {
            var l         = lote.ToList();
            var enumMeses = (FormFiltersAgendaVisitaEnderecosViewModel.meses)Convert.ToInt32(filtros.Mes);

            FileName = @"" + DateTime.Now.ToString("yyMMddHHmmss") + "_Lote " + l[0].LoteNum + "- Agenda " + enumMeses.ToString() + " De " + filtros.Ano + ".xlsx";

            File.Copy(Path.Combine(WebRootFolder, @"formatoAgendaAdesao.xlsx"), Path.Combine(WebRootFolder, FileName));
            FileInfo file = new FileInfo(Path.Combine(WebRootFolder, FileName));

            using (ExcelPackage package = new ExcelPackage(file))
            {
                ExcelWorksheet worksheet = package.Workbook.Worksheets.Where(c => c.Name == "Import").FirstOrDefault(); //

                for (int i = 0; i < data.Count(); i++)
                {
                    worksheet.Cells["A" + (i + 4).ToString()].Value = data[i].Endereco;
                    worksheet.Cells["B" + (i + 4).ToString()].Value = data[i].Potencial;
                    worksheet.Cells["C" + (i + 4).ToString()].Value = data[i].Agente;
                }

                for (int i = 0; i < data2.Count(); i++)
                {
                    worksheet.Cells["G" + (i + 4).ToString()].Value = data2[i].Endereco;
                    worksheet.Cells["H" + (i + 4).ToString()].Value = data2[i].Datah;
                    worksheet.Cells["I" + (i + 4).ToString()].Value = data2[i].Entrevistas;
                    worksheet.Cells["J" + (i + 4).ToString()].Value = data2[i].EntrevistasD2;
                    worksheet.Cells["M" + (i + 4).ToString()].Value = data2[i].Contratados;
                    worksheet.Cells["N" + (i + 4).ToString()].Value = data2[i].D2;
                    worksheet.Cells["O" + (i + 4).ToString()].Value = data2[i].Svg;
                    worksheet.Cells["P" + (i + 4).ToString()].Value = data2[i].Sve;
                }

                //Remove aba "Import"
                worksheet.Hidden = eWorkSheetHidden.Hidden;
                //worksheet.Hidden = eWorkSheetHidden.VeryHidden;
                //package.Workbook.Worksheets.Delete(worksheet);

                var worksheetAgenda = package.Workbook.Worksheets.Where(c => c.Name == "Agenda").FirstOrDefault();

                worksheetAgenda.Cells["BR1"].Value = l[0].Area;
                worksheetAgenda.Cells["BR2"].Value = l[0].Ge;
                worksheetAgenda.Cells["BR3"].Value = enumMeses + "/" + filtros.Ano;


                //deleta linhas restantes
                var ondeComecaDelecao = 7 + (data.Count * 4);
                var qtdLinhasDelecao  = worksheetAgenda.Cells["A" + ondeComecaDelecao.ToString() + ":G410"].Rows;
                worksheetAgenda.DeleteRow(ondeComecaDelecao, qtdLinhasDelecao);

                worksheetAgenda.Select("B7");
                package.Save();
            }

            byte[] fileBytes = File.ReadAllBytes(Path.Combine(WebRootFolder, FileName));
            if (file.Exists)
            {
                file.Delete();
            }

            return(fileBytes);
        }