public override ResultadoOperacionDto EjecutarDistribucion(Viewer.Application.Dto.DocumentoInstanciaXbrlDto instancia, IDictionary <string, object> parametros) { var resultadoExportacion = new ResultadoOperacionDto(); resultadoExportacion.Resultado = false; try{ LogUtil.Info("Ejecutando Distribución EXCEL para documento: " + instancia.IdDocumentoInstancia + ", archivo: " + instancia.Titulo); resultadoExportacion = ExportadorDocumentoInstancia.ExportarDocumentoExcel(instancia, "es"); if (resultadoExportacion.Resultado) { if (resultadoExportacion.InformacionExtra != null) { var infoExtra = ((IDictionary <string, object>)resultadoExportacion.InformacionExtra); if (infoExtra.ContainsKey("errores") && ((List <InformeErrorImportacion>)infoExtra["errores"]).Count > 0) { resultadoExportacion.Resultado = false; resultadoExportacion.Mensaje = ""; foreach (var informeError in (List <InformeErrorImportacion>)infoExtra["errores"]) { resultadoExportacion.Mensaje = resultadoExportacion.Mensaje + informeError.Mensaje + " "; } } } ArchivoDocumentoInstancia archivo = new ArchivoDocumentoInstancia(); archivo.Archivo = (byte[])((IDictionary <string, object>)resultadoExportacion.InformacionExtra)["archivo"]; archivo.IdDocumentoInstancia = (long)instancia.IdDocumentoInstancia; archivo.IdTipoArchivo = TipoArchivoConstants.ArchivoXls; ArchivoDocumentoInstanciaRepository.AgregaDistribucion(archivo); resultadoExportacion.Resultado = true; } } catch (Exception ex) { resultadoExportacion.Resultado = false; resultadoExportacion.Mensaje = "Ocurrió un error al escribir el archivo excel:" + ex.Message; resultadoExportacion.Excepcion = ex.StackTrace; LogUtil.Info("Falló Distribución EXCEL para documento: " + instancia.IdDocumentoInstancia + ", archivo: " + instancia.Titulo + ":" + ex.Message); } return(resultadoExportacion); }
public override ResultadoOperacionDto EjecutarDistribucion(DocumentoInstanciaXbrlDto instancia, IDictionary <string, object> parametros) { var resultado = new ResultadoOperacionDto(); LogUtil.Info("Ejecutando Distribución JSON para documento: " + instancia.IdDocumentoInstancia + ", archivo: " + instancia.Titulo); try { string objJson = JsonConvert.SerializeObject(instancia, Formatting.Indented, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }); byte[] zipBytes = ZipUtil.GZip(objJson); //AgregarArchivoAListaJson(instancia); resultado.Resultado = true; ArchivoDocumentoInstancia archivo = new ArchivoDocumentoInstancia(); archivo.Archivo = zipBytes; archivo.IdDocumentoInstancia = (long)instancia.IdDocumentoInstancia; archivo.IdTipoArchivo = TipoArchivoConstants.ArchivoJson; ArchivoDocumentoInstanciaRepository.AgregaDistribucion(archivo); objJson = null; } catch (Exception ex) { var detalleError = new Dictionary <string, object>() { { "Error", "Error ejecutando Distribución JSON para documento: " + instancia.IdDocumentoInstancia + ", archivo: " + instancia.Titulo + ":" + ex.Message }, { "Excepsion", ex } }; LogUtil.Error(detalleError); resultado.Resultado = false; resultado.Mensaje = "Ocurrió un error al ejecutar la Distribución JSON para el archivo:" + instancia.IdDocumentoInstancia + ", archivo" + instancia.Titulo + ": " + ex.Message; resultado.Excepcion = ex.StackTrace; } return(resultado); }
public override ResultadoOperacionDto EjecutarDistribucion(Viewer.Application.Dto.DocumentoInstanciaXbrlDto instancia, IDictionary <string, object> parametros) { var resultadoExportacion = new ResultadoOperacionDto(); resultadoExportacion.Resultado = false; try { LogUtil.Info("Ejecutando Distribución PDF para documento: " + instancia.IdDocumentoInstancia + ", archivo: " + instancia.Titulo); var plantilla = ObtenDefinicionPlantilla(instancia); var builder = ReporteBuilderFactoryService.obtenerReporteBuilder(instancia, plantilla, "es"); var exporter = ExportadorDocumentoInstanciaFactoryService.ObtenerExportadorParaDocumento(instancia); builder.crearReporteXBRLDTO(instancia); var archivoBytes = exporter.exportarDocumentoAPDF(instancia, builder.ReporteXBRLDTO); if (archivoBytes != null) { ArchivoDocumentoInstancia archivo = new ArchivoDocumentoInstancia(); archivo.Archivo = archivoBytes; archivo.IdDocumentoInstancia = (long)instancia.IdDocumentoInstancia; archivo.IdTipoArchivo = TipoArchivoConstants.ArchivoPdf; ArchivoDocumentoInstanciaRepository.AgregaDistribucion(archivo); resultadoExportacion.Resultado = true; //EscribirArchivo(archivoBytes, instancia.Titulo); } } catch (Exception ex) { resultadoExportacion.Resultado = false; resultadoExportacion.Mensaje = "Ocurrió un error al escribir el archivo PDF:" + ex.Message; resultadoExportacion.Excepcion = ex.StackTrace; LogUtil.Info("Falló Distribución PDF para documento: " + instancia.IdDocumentoInstancia + ", archivo: " + instancia.Titulo + ":" + ex.Message); LogUtil.Error(ex); } return(resultadoExportacion); }