/// <summary> /// Carga los datos de una hoja de cálculo y aplica los valores encontrados al documento de instancia /// </summary> /// <param name="hojaImportar">Hoja de cálculo a importar</param> /// <param name="hojaPlantilla">Hoja de cálculo de la plantilla</param> /// <param name="instancia">Documento de instancia destino</param> /// <param name="informeErrores">Lista de de informe de errores</param> /// <param name="plantillaDocumento"></param> private void ImportarHojaDeCalculo(ISheet hojaImportar, ISheet hojaPlantilla, DocumentoInstanciaXbrlDto instancia, ResumenProcesoImportacionExcelDto resumenImportacion, IDefinicionPlantillaXbrl plantillaDocumento) { var rolUri = plantillaDocumento.ObtenerRolDeAlias(hojaPlantilla.SheetName); if (rolUri != null) { try { //Si el rol tiene implementación específica utilizarla, si no, utilizar el importador genérico de plantilla var idSpringImportador = plantillaDocumento.ObtenerIdSpringDefinicionElementosPlantillaDeRol(rolUri); if (ObtenerApplicationContext().ContainsObject("importador_" + idSpringImportador)) { var importadorRol = (IImportadorExportadorRolDocumento)ObtenerApplicationContext().GetObject("importador_" + idSpringImportador); importadorRol.ImportarDatosDeHojaExcel(hojaImportar, hojaPlantilla, instancia, rolUri, resumenImportacion, plantillaDocumento); } else { ImportadorRolPlantillaGenerico.ImportarDatosDeHojaExcel(hojaImportar, hojaPlantilla, instancia, rolUri, resumenImportacion, plantillaDocumento); } } catch (Exception ex) { LogUtil.Error(ex); resumenImportacion.InformeErrores.Add(new InformeErrorImportacion() { IdRol = rolUri, Mensaje = "Ocurrió un error al importar el rol : " + rolUri + " : " + ex.Message }); } } }
/// <summary> /// Invoca al exportador definido para el rol a exportar, si no hay un exportador específico, se utiliza un exportador genérico /// para plantilla /// </summary> /// <param name="hojaExportar">Hoja del documento donde se colocan los datos</param> /// <param name="hojaPlantilla">Hoja del documento con la plantilla de captura</param> /// <param name="instancia">Documento de instancia</param> /// <param name="plantillaDocumento">Plantilla de captura del documento</param> /// <param name="informeErrores">Informe de errores</param> private void ExportarHojaDeCalculo(ISheet hojaExportar, ISheet hojaPlantilla, DocumentoInstanciaXbrlDto instancia, IDefinicionPlantillaXbrl plantillaDocumento, List <InformeErrorImportacion> informeErrores, String idioma) { var rolUri = plantillaDocumento.ObtenerRolDeAlias(hojaPlantilla.SheetName); if (rolUri != null) { try { //Si el rol tiene implementación específica utilizarla, si no, utilizar el importador genérico de plantilla var idSpringImportador = plantillaDocumento.ObtenerIdSpringDefinicionElementosPlantillaDeRol(rolUri); if (ObtenerApplicationContext().ContainsObject("importador_" + idSpringImportador)) { var importadorRol = (IImportadorExportadorRolDocumento)ObtenerApplicationContext().GetObject("importador_" + idSpringImportador); importadorRol.ExportarDatosDeHojaExcel(hojaExportar, hojaPlantilla, instancia, rolUri, plantillaDocumento, idioma); } else { ImportadorRolPlantillaGenerico.ExportarDatosDeHojaExcel(hojaExportar, hojaPlantilla, instancia, rolUri, plantillaDocumento, idioma); } } catch (Exception ex) { LogUtil.Error(ex); informeErrores.Add(new InformeErrorImportacion() { IdRol = rolUri, Mensaje = "Ocurrió un error al exportar el rol : " + rolUri + " : " + ex.Message }); } } ReemplazarEtiquetasEnHojaExcel(hojaExportar, hojaPlantilla, instancia.Taxonomia, idioma); QuitarPlaceHolderHechoEnHojaExcel(hojaExportar); }
/// <summary> /// Invoca la exportación a documento de WORD del rol actual en el exportador correspondiente /// </summary> /// <param name="documentoExportar">Documento de word que se está llenando</param> /// <param name="instancia">Documento de instancia con datos de origen</param> /// <param name="plantillaDocumento">Plantilla actual del documento de instancia</param> /// <param name="rol">Rol exportado</param> private void ExportarRolADocumentoWord(Document documentoExportar, DocumentoInstanciaXbrlDto instancia, IDefinicionPlantillaXbrl plantillaDocumento, string rol, string claveIdioma) { if (rol != null) { try { var iSeccion = plantillaDocumento.ObtenerIndiceSeccionWordPorRol(rol); Section seccionExportar = null; if (iSeccion != null) { seccionExportar = documentoExportar.Sections[Int32.Parse(iSeccion)]; } if (seccionExportar != null) { //Si el rol tiene implementación específica utilizarla, si no, utilizar el importador genérico de plantilla var idSpringImportador = plantillaDocumento.ObtenerIdSpringDefinicionElementosPlantillaDeRol(rol); if (ObtenerApplicationContext().ContainsObject("importador_" + idSpringImportador)) { var importadorRol = (IImportadorExportadorRolDocumento)ObtenerApplicationContext().GetObject("importador_" + idSpringImportador); importadorRol.ExportarRolADocumentoWord(documentoExportar, seccionExportar, instancia, rol, plantillaDocumento, claveIdioma); } else { ImportadorRolPlantillaGenerico.ExportarRolADocumentoWord(documentoExportar, seccionExportar, instancia, rol, plantillaDocumento, claveIdioma); } } } catch (Exception ex) { LogUtil.Error(ex); } } }