Exemplo n.º 1
0
        /// <summary>
        /// Escribe un enlace al hecho indicado.
        /// </summary>
        /// <param name="docBuilder">Constructor del documento.</param>
        /// <param name="archivo">Hecho que se quiere referenciar.</param>
        private void EscribeVinculoArchivo(DocumentBuilder docBuilder, ArchivoReporteDTO archivo)
        {
            var tokenLink = "link_hecho[" + archivo.HechoArchivo.Id + "]";

            docBuilder.Write(" ");
            docBuilder.Font.Superscript = true;
            docBuilder.Font.Color       = Color.Blue;
            //docBuilder.StartBookmark(tokenLink);
            var token = archivo.TokenArchivo;

            docBuilder.InsertHyperlink("[Ir]", token, true);
            //docBuilder.EndBookmark(tokenLink);
            docBuilder.Font.Color       = Color.Black;
            docBuilder.Font.Superscript = false;
        }
        /// <summary>
        /// Genera la portada de un archivo adjunto.
        /// </summary>
        /// <param name="titulo">Título del archivo.</param>
        /// <param name="docBuilder">Constructor del documento.</param>
        public void GeneraPortadaArchivoAdjunto(ArchivoReporteDTO archivo, DocumentBuilder docBuilder)
        {
            docBuilder.InsertBreak(BreakType.SectionBreakNewPage);
            docBuilder.Font.Name = "Arial";
            docBuilder.Font.Bold = false;
            docBuilder.Font.Size = 14;
            docBuilder.ParagraphFormat.StyleIdentifier = StyleIdentifier.Normal;
            docBuilder.Font.Color = Color.Black;

            docBuilder.Writeln(); docBuilder.Writeln();
            docBuilder.Writeln(); docBuilder.Writeln();
            docBuilder.Writeln(); docBuilder.Writeln();
            docBuilder.Writeln(); docBuilder.Writeln();
            docBuilder.Writeln(); docBuilder.Writeln();
            docBuilder.Writeln(); docBuilder.Writeln();

            var tabla = docBuilder.StartTable();

            docBuilder.InsertCell();

            tabla.SetBorders(LineStyle.None, 0, Color.Black);
            docBuilder.CellFormat.Borders.Bottom.Color     = Color.Black;
            docBuilder.CellFormat.Borders.Bottom.LineStyle = LineStyle.Single;
            docBuilder.CellFormat.Borders.Bottom.LineWidth = 0.5;
            docBuilder.CellFormat.Borders.Top.Color        = Color.Black;
            docBuilder.CellFormat.Borders.Top.LineStyle    = LineStyle.Single;
            docBuilder.CellFormat.Borders.Top.LineWidth    = 0.5;
            docBuilder.ParagraphFormat.Alignment           = ParagraphAlignment.Center;
            docBuilder.ParagraphFormat.SpaceAfter          = 8;
            docBuilder.Writeln();
            var tokenLink = archivo.TokenArchivo;

            docBuilder.StartBookmark(tokenLink);
            docBuilder.Write(archivo.TituloArchivo);
            docBuilder.EndBookmark(tokenLink);
            docBuilder.Writeln();

            docBuilder.EndRow();
            docBuilder.EndTable();
            docBuilder.Writeln(); docBuilder.Writeln();
            docBuilder.Writeln(); docBuilder.Writeln();
            docBuilder.InsertBreak(BreakType.SectionBreakNewPage);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Determina si debe agregar un enalce a un documento adjunto.
        /// </summary>
        /// <param name="tituloReporte">Título con el que se presenta el reporte.</param>
        /// <param name="docBuilder">Constructor del documento.</param>
        /// <param name="celda">Celda que se presenta.</param>
        /// <param name="tarjeta">Diccionario con la información a presentar.</param>
        /// <param name="estructuraReporte">DTO con la estructura del reporte.</param>
        private void EvaluaPresentarEnlaceArchivo(
            String tituloReporte,
            DocumentBuilder docBuilder,
            CeldasPresentacionHipercuboDto celda,
            IDictionary <string, HechoDto> tarjeta,
            ReporteXBRLDTO estructuraReporte)
        {
            HechoDto hechoReporte;

            if (!String.IsNullOrEmpty(celda.ArchivoAdjunto) && tarjeta.TryGetValue(celda.ArchivoAdjunto, out hechoReporte) && !String.IsNullOrEmpty(hechoReporte.Valor))
            {
                if (estructuraReporte.ArchivosAdjuntos == null)
                {
                    estructuraReporte.ArchivosAdjuntos = new Dictionary <String, ArchivoReporteDTO>();
                }
                var archivoReporte = new ArchivoReporteDTO()
                {
                    TituloArchivo = tituloReporte, HechoArchivo = hechoReporte
                };
                estructuraReporte.ArchivosAdjuntos[hechoReporte.Id] = archivoReporte;
                EscribeVinculoArchivo(docBuilder, archivoReporte);
            }
        }