protected void Page_Load(object sender, EventArgs e) { int PuestoId = Convert.ToInt32(Request.QueryString["PuestoId"]); int UsuarioId = Convert.ToInt32(Request.QueryString["UsuarioId"]); string Puesto = Request.QueryString["Puesto"]; string Titulo = Request.QueryString["Titulo"]; wsConfReportes = new Ws_ConfReportes(); wsPuestos = new Ws_Puestos(); wsCrudPerfil = new Ws_CrudPerfil(); Ds_PerfilEfectividad dsPerfil = new Ds_PerfilEfectividad(); dsPerfil.Tables["DtDatosPuesto"].Clear(); var Logo = wsConfReportes.GetLogoaByte(); var NomPuesto = ""; var ResInfoPuesto = wsPuestos.GetDataPuestoPerfil(PuestoId, UsuarioId); for (int i = 0; i < ResInfoPuesto.Count; i++) { DataRow row = dsPerfil.Tables["DtDatosPuesto"].NewRow(); row["NombrePuesto"] = ResInfoPuesto[i].Puesto; NomPuesto = ResInfoPuesto[i].Puesto; row["Logo"] = Logo; row["Area"] = ResInfoPuesto[i].Area; row["SubArea"] = ResInfoPuesto[i].SubArea; row["PuestoJefeInmediato"] = ResInfoPuesto[i].PuestoSuperior; row["CodigoPuesto"] = ResInfoPuesto[i].CodigoPuesto; row["FuncionPrincipal"] = ResInfoPuesto[i].FuncionPrincipal; row["PrincipalesFunciones"] = ResInfoPuesto[i].Principales; row["FuncionesDiarias"] = ResInfoPuesto[i].FuncionDiaria; row["FuncionesSemanales"] = ResInfoPuesto[i].FuncionSemanalQuincenal; row["FuncionesMensuales"] = ResInfoPuesto[i].FuncionMensual; row["FuncionesTrimestrales"] = ResInfoPuesto[i].FuncionTrimestralSemestral; row["FuncionesAnuales"] = ResInfoPuesto[i].FuncionAnual; row["FuncionesEventuales"] = ResInfoPuesto[i].FuncionEventual; row["FactorTomaDescion"] = ResInfoPuesto[i].TomaDescion; row["FactorEsfuerzoMental"] = ResInfoPuesto[i].EsfuerzoMetal; row["FactorManejoBienes"] = ResInfoPuesto[i].ManejoBien; row["FactorSupervisiones"] = ResInfoPuesto[i].Supervisiones; row["FactorRelacionInterna"] = ResInfoPuesto[i].RelacionInterna; row["FactorRelacionExterna"] = ResInfoPuesto[i].RelacionExterna; row["FactorManejoInfo"] = ResInfoPuesto[i].ManejoInfo; row["RiesgoOcupacional"] = ResInfoPuesto[i].RiesgoOcupacional.ToString().Trim(); row["FactorRiesgoOcupacional"] = ResInfoPuesto[i].Riesgo; row["EsfuerzoFisico"] = ResInfoPuesto[i].EsfuerzoFisico.ToString().Trim(); row["FactorEsfuerzoFisico"] = ResInfoPuesto[i].Esfuerzo; row["AmbienteTrabajo"] = ResInfoPuesto[i].AmbienteTrabajo.ToString().Trim(); row["FactorAmbienteTrabajo"] = ResInfoPuesto[i].Ambiente; row["FactorEducacionFormal"] = ResInfoPuesto[i].EducacionFormal; row["NivelEducacional"] = ResInfoPuesto[i].NivEduc; row["Carreras"] = ResInfoPuesto[i].Carreras; row["FactorImpactoError"] = ResInfoPuesto[i].ImpactoError; row["OtrosEstudios"] = ResInfoPuesto[i].OtrosEstudios; row["FactorExperiencia"] = ResInfoPuesto[i].Experiencia; row["CntSupervisiones"] = ResInfoPuesto[i].CntSupervisiones; row["CntRelacionesA"] = ResInfoPuesto[i].CntRelaciones; row["CntManejoInfoA"] = ResInfoPuesto[i].CntManejoInfo; row["NivEducId"] = ResInfoPuesto[i].NivEducId; row["Cntcursos"] = ResInfoPuesto[i].Cntcursos; row["CntIdiomas"] = ResInfoPuesto[i].CntIdiomas; row["CntExperiencia"] = ResInfoPuesto[i].CntExperiencia; row["Categoria"] = wsPuestos.GetCategoriaPuesto(PuestoId); row["Creado"] = ResInfoPuesto[i].UsuarioCreo; row["FecCreado"] = ResInfoPuesto[i].FecCreo; row["Verificado"] = ResInfoPuesto[i].UsuarioVerifico; row["FecVerificado"] = ResInfoPuesto[i].FecVerifico; dsPerfil.Tables["DtDatosPuesto"].Rows.Add(row); } dsPerfil.Tables["DtConfig"].Clear(); var Config = wsConfReportes.GetConfReportes(); for (int i = 0; i < Config.Count; i++) { DataRow row = dsPerfil.Tables["DtConfig"].NewRow(); row["InfoGeneral"] = Config[i].InfoGeneral; row["Tareas"] = Config[i].Tareas; row["TomaDesiciones"] = Config[i].TomaDesiciones; row["EsfuerzoMental"] = Config[i].EsfuerzoMental; row["ManejoBienes"] = Config[i].ManejoBienes; row["Supervision"] = Config[i].Supervision; row["RelacionesTrabajo"] = Config[i].RelacionesTrabajo; row["ManejoInfo"] = Config[i].ManejoInfo; row["AmbienteTrabajo"] = Config[i].AmbienteTrabajo; row["RiesgoOcupacional"] = Config[i].RiesgoOcupacional; row["EsfuerzoFisico"] = Config[i].EsfuerzoFisico; row["EducacionFormal"] = Config[i].EducacionFormal; row["ImpactoError"] = Config[i].ImpactoError; row["CursosTecnicos"] = Config[i].CursosTecnicos; row["OtrasEstudios"] = Config[i].OtrasEstudios; row["Idiomas"] = Config[i].Idiomas; row["Experiencia"] = Config[i].Experiencia; dsPerfil.Tables["DtConfig"].Rows.Add(row); } dsPerfil.Tables["DtManejoInfo"].Clear(); var ManejoBienes = wsCrudPerfil.GetDataManejoBienes(PuestoId); for (int i = 0; i < ManejoBienes.Count; i++) { DataRow row = dsPerfil.Tables["DtManejoInfo"].NewRow(); row["Concepto"] = ManejoBienes[i].Concepto; row["Monto"] = ManejoBienes[i].Monto; row["Indirecta"] = ManejoBienes[i].Indirecta; row["Directa"] = ManejoBienes[i].Directa; row["Compartida"] = ManejoBienes[i].Compartida; dsPerfil.Tables["DtManejoInfo"].Rows.Add(row); } dsPerfil.Tables["DtSupervisiones"].Clear(); var Supervisiones = wsCrudPerfil.GetDataSupervisiones(PuestoId); for (int i = 0; i < Supervisiones.Count; i++) { DataRow row = dsPerfil.Tables["DtSupervisiones"].NewRow(); row["Puesto"] = Supervisiones[i].NombrePuesto; row["Cantidad"] = Supervisiones[i].Cantidad; dsPerfil.Tables["DtSupervisiones"].Rows.Add(row); } dsPerfil.Tables["DtRelacionesInternas"].Clear(); var Relaciones = wsCrudPerfil.GetDataRelaciones(PuestoId, "1,2"); for (int i = 0; i < Relaciones.Count; i++) { DataRow row = dsPerfil.Tables["DtRelacionesInternas"].NewRow(); row["TipoRelacion"] = Relaciones[i].TipoRelacion; row["Puesto"] = Relaciones[i].Puesto; row["Proposito"] = Relaciones[i].Proposito; row["Frecuencia"] = Relaciones[i].Frecuencia; dsPerfil.Tables["DtRelacionesInternas"].Rows.Add(row); } dsPerfil.Tables["DtManejoData"].Clear(); var ManejoData = wsCrudPerfil.GetDataManejoInformacion(PuestoId); for (int i = 0; i < ManejoData.Count; i++) { DataRow row = dsPerfil.Tables["DtManejoData"].NewRow(); row["Documento"] = ManejoData[i].Documento; row["AccionDocumento"] = ManejoData[i].AccionDocumento; row["TipoInformacion"] = ManejoData[i].TipoInformacion; row["Jefe"] = ManejoData[i].Jefe; row["AuditoriaInt"] = ManejoData[i].AuditoriaInt; row["AuditoriaExterna"] = ManejoData[i].AuditoriaExterna; dsPerfil.Tables["DtManejoData"].Rows.Add(row); } dsPerfil.Tables["DtCursosTecnicos"].Clear(); var Cursos = wsCrudPerfil.GetDataCursosTecnicos(PuestoId); for (int i = 0; i < Cursos.Count; i++) { DataRow row = dsPerfil.Tables["DtCursosTecnicos"].NewRow(); row["Curso"] = Cursos[i].Curso; row["Duracion"] = Cursos[i].Duracion; dsPerfil.Tables["DtCursosTecnicos"].Rows.Add(row); } dsPerfil.Tables["DtIdioma"].Clear(); var Idiomas = wsCrudPerfil.GetDataIdiomas(PuestoId); for (int i = 0; i < Idiomas.Count; i++) { DataRow row = dsPerfil.Tables["DtIdioma"].NewRow(); row["Idioma"] = Idiomas[i].Idioma; row["Dominio"] = Idiomas[i].DominioIdioma; dsPerfil.Tables["DtIdioma"].Rows.Add(row); } dsPerfil.Tables["DtExperiencia"].Clear(); var Experiencia = wsCrudPerfil.GetDataExperiencia(PuestoId); for (int i = 0; i < Experiencia.Count; i++) { DataRow row = dsPerfil.Tables["DtExperiencia"].NewRow(); row["TipoTrabajo"] = Experiencia[i].TipoTrabajo; row["Tiempo"] = Experiencia[i].Tiempo; dsPerfil.Tables["DtExperiencia"].Rows.Add(row); } Reporte.PrintOptions.PaperOrientation = PaperOrientation.Portrait; Reporte.SetDataSource(dsPerfil); Reporte.Subreports[0].SetDataSource(dsPerfil); Reporte.Subreports[1].SetDataSource(dsPerfil); Reporte.Subreports[2].SetDataSource(dsPerfil); Reporte.Subreports[3].SetDataSource(dsPerfil); Reporte.Subreports[4].SetDataSource(dsPerfil); Reporte.Subreports[5].SetDataSource(dsPerfil); Reporte.Subreports[6].SetDataSource(dsPerfil); Reporte.SetParameterValue("Titulo", Titulo); string NomReporte = NomPuesto + ".pdf"; string url = Server.MapPath(".") + @"\" + DirRep + NomReporte; DiskFileDestinationOptions options2 = new DiskFileDestinationOptions { DiskFileName = url }; ExportOptions exportOptions = Reporte.ExportOptions; exportOptions.ExportDestinationType = ExportDestinationType.DiskFile; exportOptions.ExportFormatType = ExportFormatType.PortableDocFormat; exportOptions.ExportDestinationOptions = options2; Reporte.Export(); url = DirApp + DirRepLong + NomReporte; base.Response.Redirect(url); }
public List <ZipFileDown> SavePerfil(int Opcion, int UsuarioId, string Titulo, string Areas, string Puestos) { try { //1. Todos 2. Areas 3.Seleccionados wsConfReportes = new Ws_ConfReportes(); wsPuestos = new Ws_Puestos(); wsCrudPerfil = new Ws_CrudPerfil(); var Logo = wsConfReportes.GetLogoaByte(); Ds_PerfilEfectividad dsPerfil = new Ds_PerfilEfectividad(); dsPerfil.Tables["DtDatosPuesto"].Clear(); DataSet dsPuesto = new DataSet(); cn.Open(); SqlCommand Comando = new SqlCommand("Sp_GetPuestosPrint", cn); Comando.CommandType = CommandType.StoredProcedure; Comando.Parameters.Add("@Opcion", SqlDbType.Int).Value = Opcion; Comando.Parameters.Add("@Areas", SqlDbType.VarChar, 8000).Value = Areas; Comando.Parameters.Add("@Puestos", SqlDbType.VarChar, 8000).Value = Puestos; SqlDataAdapter adp = new SqlDataAdapter(Comando); adp.Fill(dsPuesto, "DATOS"); cn.Close(); string Carpeta = Guid.NewGuid().ToString(); DirectoryInfo di = Directory.CreateDirectory(Server.MapPath(".") + @"\" + DirRep + @"\" + Carpeta); for (int Pue = 0; Pue < dsPuesto.Tables["DATOS"].Rows.Count; Pue++) { var ResInfoPuesto = wsPuestos.GetDataPuestoPerfil(Convert.ToInt32(dsPuesto.Tables["DATOS"].Rows[Pue]["PuestoId"]), UsuarioId); var NomPuesto = ""; for (int i = 0; i < ResInfoPuesto.Count; i++) { DataRow row = dsPerfil.Tables["DtDatosPuesto"].NewRow(); row["NombrePuesto"] = ResInfoPuesto[i].Puesto; NomPuesto = ResInfoPuesto[i].Puesto; row["Logo"] = Logo; row["Area"] = ResInfoPuesto[i].Area; row["SubArea"] = ResInfoPuesto[i].SubArea; row["PuestoJefeInmediato"] = ResInfoPuesto[i].PuestoSuperior; row["CodigoPuesto"] = ResInfoPuesto[i].CodigoPuesto; row["FuncionPrincipal"] = ResInfoPuesto[i].FuncionPrincipal; row["PrincipalesFunciones"] = ResInfoPuesto[i].Principales; row["FuncionesDiarias"] = ResInfoPuesto[i].FuncionDiaria; row["FuncionesSemanales"] = ResInfoPuesto[i].FuncionSemanalQuincenal; row["FuncionesMensuales"] = ResInfoPuesto[i].FuncionMensual; row["FuncionesTrimestrales"] = ResInfoPuesto[i].FuncionTrimestralSemestral; row["FuncionesAnuales"] = ResInfoPuesto[i].FuncionAnual; row["FuncionesEventuales"] = ResInfoPuesto[i].FuncionEventual; row["FactorTomaDescion"] = ResInfoPuesto[i].TomaDescion; row["FactorEsfuerzoMental"] = ResInfoPuesto[i].EsfuerzoMetal; row["FactorManejoBienes"] = ResInfoPuesto[i].ManejoBien; row["FactorSupervisiones"] = ResInfoPuesto[i].Supervisiones; row["FactorRelacionInterna"] = ResInfoPuesto[i].RelacionInterna; row["FactorRelacionExterna"] = ResInfoPuesto[i].RelacionExterna; row["FactorManejoInfo"] = ResInfoPuesto[i].ManejoInfo; row["RiesgoOcupacional"] = ResInfoPuesto[i].RiesgoOcupacional.ToString().Trim(); row["FactorRiesgoOcupacional"] = ResInfoPuesto[i].Riesgo; row["EsfuerzoFisico"] = ResInfoPuesto[i].EsfuerzoFisico.ToString().Trim(); row["FactorEsfuerzoFisico"] = ResInfoPuesto[i].Esfuerzo; row["AmbienteTrabajo"] = ResInfoPuesto[i].AmbienteTrabajo.ToString().Trim(); row["FactorAmbienteTrabajo"] = ResInfoPuesto[i].Ambiente; row["FactorEducacionFormal"] = ResInfoPuesto[i].EducacionFormal; row["NivelEducacional"] = ResInfoPuesto[i].NivEduc; row["Carreras"] = ResInfoPuesto[i].Carreras; row["FactorImpactoError"] = ResInfoPuesto[i].ImpactoError; row["OtrosEstudios"] = ResInfoPuesto[i].OtrosEstudios; row["FactorExperiencia"] = ResInfoPuesto[i].Experiencia; row["CntSupervisiones"] = ResInfoPuesto[i].CntSupervisiones; row["CntRelacionesA"] = ResInfoPuesto[i].CntRelaciones; row["CntManejoInfoA"] = ResInfoPuesto[i].CntManejoInfo; row["NivEducId"] = ResInfoPuesto[i].NivEducId; row["Cntcursos"] = ResInfoPuesto[i].Cntcursos; row["CntIdiomas"] = ResInfoPuesto[i].CntIdiomas; row["CntExperiencia"] = ResInfoPuesto[i].CntExperiencia; row["Categoria"] = wsPuestos.GetCategoriaPuesto(Convert.ToInt32(dsPuesto.Tables["DATOS"].Rows[Pue]["PuestoId"])); dsPerfil.Tables["DtDatosPuesto"].Rows.Add(row); } dsPerfil.Tables["DtConfig"].Clear(); var Config = wsConfReportes.GetConfReportes(); for (int i = 0; i < Config.Count; i++) { DataRow row = dsPerfil.Tables["DtConfig"].NewRow(); row["InfoGeneral"] = Config[i].InfoGeneral; row["Tareas"] = Config[i].Tareas; row["TomaDesiciones"] = Config[i].TomaDesiciones; row["EsfuerzoMental"] = Config[i].EsfuerzoMental; row["ManejoBienes"] = Config[i].ManejoBienes; row["Supervision"] = Config[i].Supervision; row["RelacionesTrabajo"] = Config[i].RelacionesTrabajo; row["ManejoInfo"] = Config[i].ManejoInfo; row["AmbienteTrabajo"] = Config[i].AmbienteTrabajo; row["RiesgoOcupacional"] = Config[i].RiesgoOcupacional; row["EsfuerzoFisico"] = Config[i].EsfuerzoFisico; row["EducacionFormal"] = Config[i].EducacionFormal; row["ImpactoError"] = Config[i].ImpactoError; row["CursosTecnicos"] = Config[i].CursosTecnicos; row["OtrasEstudios"] = Config[i].OtrasEstudios; row["Idiomas"] = Config[i].Idiomas; row["Experiencia"] = Config[i].Experiencia; dsPerfil.Tables["DtConfig"].Rows.Add(row); } dsPerfil.Tables["DtManejoInfo"].Clear(); var ManejoBienes = wsCrudPerfil.GetDataManejoBienes(Convert.ToInt32(dsPuesto.Tables["DATOS"].Rows[Pue]["PuestoId"])); for (int i = 0; i < ManejoBienes.Count; i++) { DataRow row = dsPerfil.Tables["DtManejoInfo"].NewRow(); row["Concepto"] = ManejoBienes[i].Concepto; row["Monto"] = ManejoBienes[i].Monto; row["Indirecta"] = ManejoBienes[i].Indirecta; row["Directa"] = ManejoBienes[i].Directa; row["Compartida"] = ManejoBienes[i].Compartida; dsPerfil.Tables["DtManejoInfo"].Rows.Add(row); } dsPerfil.Tables["DtSupervisiones"].Clear(); var Supervisiones = wsCrudPerfil.GetDataSupervisiones(Convert.ToInt32(dsPuesto.Tables["DATOS"].Rows[Pue]["PuestoId"])); for (int i = 0; i < Supervisiones.Count; i++) { DataRow row = dsPerfil.Tables["DtSupervisiones"].NewRow(); row["Puesto"] = Supervisiones[i].NombrePuesto; row["Cantidad"] = Supervisiones[i].Cantidad; dsPerfil.Tables["DtSupervisiones"].Rows.Add(row); } dsPerfil.Tables["DtRelacionesInternas"].Clear(); var Relaciones = wsCrudPerfil.GetDataRelaciones(Convert.ToInt32(dsPuesto.Tables["DATOS"].Rows[Pue]["PuestoId"]), "1,2"); for (int i = 0; i < Relaciones.Count; i++) { DataRow row = dsPerfil.Tables["DtRelacionesInternas"].NewRow(); row["TipoRelacion"] = Relaciones[i].TipoRelacion; row["Puesto"] = Relaciones[i].Puesto; row["Proposito"] = Relaciones[i].Proposito; row["Frecuencia"] = Relaciones[i].Frecuencia; dsPerfil.Tables["DtRelacionesInternas"].Rows.Add(row); } dsPerfil.Tables["DtManejoData"].Clear(); var ManejoData = wsCrudPerfil.GetDataManejoInformacion(Convert.ToInt32(dsPuesto.Tables["DATOS"].Rows[Pue]["PuestoId"])); for (int i = 0; i < ManejoData.Count; i++) { DataRow row = dsPerfil.Tables["DtManejoData"].NewRow(); row["Documento"] = ManejoData[i].Documento; row["AccionDocumento"] = ManejoData[i].AccionDocumento; row["TipoInformacion"] = ManejoData[i].TipoInformacion; row["Jefe"] = ManejoData[i].Jefe; row["AuditoriaInt"] = ManejoData[i].AuditoriaInt; row["AuditoriaExterna"] = ManejoData[i].AuditoriaExterna; dsPerfil.Tables["DtManejoData"].Rows.Add(row); } dsPerfil.Tables["DtCursosTecnicos"].Clear(); var Cursos = wsCrudPerfil.GetDataCursosTecnicos(Convert.ToInt32(dsPuesto.Tables["DATOS"].Rows[Pue]["PuestoId"])); for (int i = 0; i < Cursos.Count; i++) { DataRow row = dsPerfil.Tables["DtCursosTecnicos"].NewRow(); row["Curso"] = Cursos[i].Curso; row["Duracion"] = Cursos[i].Duracion; dsPerfil.Tables["DtCursosTecnicos"].Rows.Add(row); } dsPerfil.Tables["DtIdioma"].Clear(); var Idiomas = wsCrudPerfil.GetDataIdiomas(Convert.ToInt32(dsPuesto.Tables["DATOS"].Rows[Pue]["PuestoId"])); for (int i = 0; i < Idiomas.Count; i++) { DataRow row = dsPerfil.Tables["DtIdioma"].NewRow(); row["Idioma"] = Idiomas[i].Idioma; row["Dominio"] = Idiomas[i].DominioIdioma; dsPerfil.Tables["DtIdioma"].Rows.Add(row); } dsPerfil.Tables["DtExperiencia"].Clear(); var Experiencia = wsCrudPerfil.GetDataExperiencia(Convert.ToInt32(dsPuesto.Tables["DATOS"].Rows[Pue]["PuestoId"])); for (int i = 0; i < Experiencia.Count; i++) { DataRow row = dsPerfil.Tables["DtExperiencia"].NewRow(); row["TipoTrabajo"] = Experiencia[i].TipoTrabajo; row["Tiempo"] = Experiencia[i].Tiempo; dsPerfil.Tables["DtExperiencia"].Rows.Add(row); } Reporte.PrintOptions.PaperOrientation = PaperOrientation.Portrait; Reporte.SetDataSource(dsPerfil); Reporte.Subreports[0].SetDataSource(dsPerfil); Reporte.Subreports[1].SetDataSource(dsPerfil); Reporte.Subreports[2].SetDataSource(dsPerfil); Reporte.Subreports[3].SetDataSource(dsPerfil); Reporte.Subreports[4].SetDataSource(dsPerfil); Reporte.Subreports[5].SetDataSource(dsPerfil); Reporte.Subreports[6].SetDataSource(dsPerfil); Reporte.SetParameterValue("Titulo", Titulo); string NomReporte = NomPuesto + ".pdf"; string url = Server.MapPath(".") + @"\" + DirRep + @"\" + Carpeta + @"\" + NomReporte; DiskFileDestinationOptions options2 = new DiskFileDestinationOptions { DiskFileName = url }; ExportOptions exportOptions = Reporte.ExportOptions; exportOptions.ExportDestinationType = ExportDestinationType.DiskFile; exportOptions.ExportFormatType = ExportFormatType.PortableDocFormat; exportOptions.ExportDestinationOptions = options2; Reporte.Export(); dsPerfil.Tables["DtDatosPuesto"].Clear(); } List <ZipFileDown> Datos = new List <ZipFileDown>(); using (ZipFile zip = new ZipFile()) { zip.AlternateEncodingUsage = ZipOption.AsNecessary; zip.AddDirectoryByName("Files"); string[] filePaths = Directory.GetFiles(Server.MapPath(".") + @"\" + DirRep + @"\" + Carpeta); foreach (string filePath in filePaths) { string file = filePath; zip.AddFile(file, "Files"); } byte[] wrkBytes; MemoryStream ms = new MemoryStream(); zip.Save(ms); wrkBytes = ms.ToArray(); ZipFileDown Registro = new ZipFileDown(); Registro.Archivo = wrkBytes; Registro.NombreArchivo = "Perfiles de Efectividad"; Registro.ContentType = "application/zip"; Datos.Add(Registro); System.IO.DirectoryInfo diDel = new DirectoryInfo(Server.MapPath(".") + @"\" + DirRep + @"\" + Carpeta); foreach (FileInfo file in diDel.GetFiles()) { file.Delete(); } Directory.Delete(Server.MapPath(".") + @"\" + DirRep + @"\" + Carpeta, true); } return(Datos); } catch (Exception ex) { List <ZipFileDown> Datos = new List <ZipFileDown>(); return(Datos); //return 0; } }