Ejemplo n.º 1
0
        //----------------------------------------------------------------------------------------------------x
        /// <summary>Creates this document</summary>
        private void FontTest()
        {
            FontProp fp_Title = new FontPropMM(fontDef, 12);

            fp_Title.bBold = true;

            fp        = new FontPropMM(fontDef, 6);
            fp_Small  = new FontPropMM(fontDef, 1.4);
            fp_XSmall = new FontPropMM(fontDef, 0.8);
            bp        = new BrushProp(this, Color.FromArgb(200, 200, 200));

            page_Cur = new Page(this);
            page_Cur.AddCB_MM(30, new RepString(fp_Title, "Font Test"));

            rX = 300;
            rY = 40;
            for (Int32 i = 32; i < 127; i++)
            {
                PrintCharacter(i);
            }
            for (Int32 i = 161; i < 256; i++)
            {
                PrintCharacter(i);
            }
            PrintCharacter('€');
        }
Ejemplo n.º 2
0
        private void AddDataColumn(TlmBase tlm, int index, string value, FontProp fontProp, double width)
        {
            double initialWidth    = fontProp.rGetTextWidthMM(value);
            string remainingString = value.Trim();

            while (initialWidth > width)
            {
                string[] tokens     = remainingString.Split(' ');
                string   splitValue = tokens.First();

                foreach (string token in tokens.Skip(1))
                {
                    if (fontProp.rGetTextWidthMM(splitValue + token) < width)
                    {
                        splitValue = splitValue + ' ' + token;
                    }
                    else
                    {
                        break;
                    }
                }

                remainingString = remainingString.Replace(splitValue, "");
                tlm.Add(index, new RepString(fontProp, splitValue));
                tlm.NewLine(index);
                initialWidth = fontProp.rGetTextWidthMM(remainingString);
            }
            tlm.Add(index, new RepString(fontProp, remainingString));
        }
Ejemplo n.º 3
0
        // Inserts the page footer onto the given page, which includes the time of report generation as well as the page number.
        private double InsertFooter(Page page)
        {
            FontProp font = new FontProp(FontDefinition, 0.0D);

            font.rSizePoint = 12.0D;
            page.AddMM(PageWidthMillimeters - PageMarginMillimeters - font.rGetTextWidthMM(page.iPageNo.ToString()), PageHeightMillimeters - 15, new RepString(font, page.iPageNo.ToString()));
            return(font.rSizeMM);
        }
Ejemplo n.º 4
0
        // Inserts the report date onto the given page.
        private double InsertReportDate(FontDef fontDefinition, Page page, double verticalMillimeters)
        {
            FontProp font = new FontProp(fontDefinition, 0.0D);

            font.rSizePoint = 14.0D;
            page.AddCB_MM(verticalMillimeters + font.rSizeMM, new RepString(font, m_reportDate.ToLongDateString()));
            return(font.rSizeMM);
        }
Ejemplo n.º 5
0
        // Inserts the given text as a section header (16-pt, bold).
        private double InsertSectionHeader(FontDef fontDefinition, Page page, double verticalMillimeters, string text)
        {
            FontProp font = new FontProp(fontDefinition, 0.0D);

            font.rSizePoint = 16.0D;
            font.bBold      = true;
            page.AddCB_MM(verticalMillimeters + font.rSizeMM, new RepString(font, text));
            return(2.0D * font.rSizeMM);
        }
Ejemplo n.º 6
0
        // Inserts the page footer onto the given page, which includes the time of report generation as well as the page number.
        private double InsertFooter(FontDef fontDefinition, Page page, DateTime now, int pageNumber)
        {
            FontProp font = new FontProp(fontDefinition, 0.0D);

            font.rSizePoint = 12.0D;
            page.AddMM(PageMarginMillimeters, PageHeightMillimeters - PageMarginMillimeters, new RepString(font, now.ToShortDateString() + " " + now.ToShortTimeString()));
            page.AddMM(PageWidthMillimeters - PageMarginMillimeters - font.rGetTextWidthMM(pageNumber.ToString()), PageHeightMillimeters - PageMarginMillimeters, new RepString(font, pageNumber.ToString()));
            return(font.rSizeMM);
        }
Ejemplo n.º 7
0
        // Inserts the given text as a section header (16-pt, bold).
        private double InsertItalicText(double verticalMillimeters, string text)
        {
            FontProp font = new FontProp(FontDefinition, 0.0D);

            font.rSizePoint = 14.0D;
            font.bBold      = false;
            font.bItalic    = true;
            page_Cur.AddMM(PageMarginMillimeters, verticalMillimeters, new RepString(font, text));
            return(font.rSizeMM + 5);
        }
Ejemplo n.º 8
0
        public Test()
        {
            fontDef              = FontDef.fontDef_FromName(this, FontDef.StandardFont.Helvetica);
            fontProp_Title       = new FontPropMM(fontDef, 6);
            fontProp_Title.bBold = true;
            fontProp_Label       = new FontPropMM(fontDef, 4);

            penProp_Symbol       = new PenProp(this, 1);
            penProp_Symbol.color = Color.Red;
            penProp_Line         = new PenProp(this, 1);
        }
Ejemplo n.º 9
0
 /// <summary>
 /// Конструктор класса Application
 /// </summary>
 public Application(LanguageProp lang, DomainProp domain, FontProp font, TelephoneCodeProp telCode,
                    DecimalSeparatorProp separator, CurrencyProp currency, CapitalTimeZoneProp tz,
                    FirstDayOfTheWeekProp firstDay, MainIconProp mainIcon, IconCountryProp iconCountry)
 {
     this.lang        = lang;
     this.domain      = domain;
     this.font        = font;
     this.telCode     = telCode;
     this.separator   = separator;
     this.currency    = currency;
     this.tz          = tz;
     this.firstDay    = firstDay;
     this.mainIcon    = mainIcon;
     this.iconCountry = iconCountry;
 }
Ejemplo n.º 10
0
        public bool GravarPDFContrato(long contrato)
        {
            string vArq = @"C:\temp\" + contrato + ".pdf";


            Report vPdf = new Report(new PdfFormatter());
            //FontDef vDef = new FontDef(vPdf, FontDef.StandardFont.TimesRoman);
            Page     vPage = new Page(vPdf);
            FontDef  vDef  = new FontDef(vPdf, FontDef.StandardFont.TimesRoman);
            FontProp vDrop = new FontProp(vDef, 10);



            vPage.AddCB_MM(5, new RepString(vDrop, "Teste de criação pdf")); // Centraliza
            vPdf.Save(vArq);

            return(true);
        }
Ejemplo n.º 11
0
        // Inserts the title and company text on the given page.
        private double InsertTitle(FontDef fontDefinition, Page page, double verticalMillimeters)
        {
            FontProp titleFont   = new FontProp(fontDefinition, 0.0D);
            FontProp companyFont = new FontProp(fontDefinition, 0.0D);

            titleFont.rSizePoint   = 20.0D;
            companyFont.rSizePoint = 14.0D;
            titleFont.bBold        = true;
            companyFont.bBold      = true;

            // Title
            page.AddCB_MM(verticalMillimeters + titleFont.rSizeMM, new RepString(titleFont, m_titleText));
            verticalMillimeters += 1.5D * titleFont.rSizeMM;

            // Company
            page.AddCB_MM(verticalMillimeters + companyFont.rSizeMM, new RepString(companyFont, m_companyText));

            return((1.5D * titleFont.rSizeMM) + companyFont.rSizeMM);
        }
Ejemplo n.º 12
0
        private double CreateInfoTable(double verticalMillimeters)
        {
            if (InfoDataTable.Rows.Count == 0)
            {
                verticalMillimeters += InsertItalicText(verticalMillimeters, $"   No Breaker Information available.");
                return(verticalMillimeters);
            }

            FontProp headerProp = new FontProp(FontDefinition, 0);

            headerProp.rSizePoint = 10.0D;
            using (TableLayoutManager tlm = new TableLayoutManager(headerProp))
            {
                FontProp textProp = new FontProp(FontDefinition, 0);
                textProp.rSizePoint                       = 8.0D;
                tlm.tlmCellDef_Header.rAlignV             = RepObj.rAlignCenter;                      // set vertical alignment of all header cells
                tlm.tlmCellDef_Default.penProp_LineBottom = new PenProp(this, 0.05, Color.LightGray); // set bottom line for all cells
                tlm.tlmHeightMode  = TlmHeightMode.AdjustLast;
                tlm.eNewContainer += (oSender, ea) =>
                {
                    verticalMillimeters += tlm.rCurY_MM;
                    verticalMillimeters  = NextTablePage(verticalMillimeters, ea);
                };

                new TlmColumnMM(tlm, "Breaker Info", (PageWidthMillimeters - 2 * PageMarginMillimeters) * .5);
                new TlmColumnMM(tlm, "Value", (PageWidthMillimeters - 2 * PageMarginMillimeters) * .5);

                DataRow dataRow = InfoDataTable.Select().First();
                foreach (DataColumn column in InfoDataTable.Columns)
                {
                    tlm.NewRow();
                    tlm.Add(0, new RepString(textProp, column.ColumnName));
                    tlm.Add(1, new RepString(textProp, dataRow[column.ColumnName].ToString()));
                }

                tlm.Commit();

                verticalMillimeters += tlm.rCurY_MM + 10;
            }

            return(verticalMillimeters);
        }
Ejemplo n.º 13
0
        // Inserts the page footer onto the given page, which includes the time of report generation as well as the page number.
        private double InsertHeader()
        {
            string ReportIdentifier = "Individual Breaker Report - " + StartTime.ToString("MM/dd/yyyy") + " - " + EndTime.ToString("MM/dd/yyyy") + "";

            FontProp font = new FontProp(FontDefinition, 0.0D);

            font.rSizePoint = 12.0D;

            FontProp meterNameFont = new FontProp(FontDefinition, 0.0D);

            meterNameFont.rSizePoint = 12.0D;

            int height = 6;

            double reportIdentifierHorizontalPosition = PageWidthMillimeters / 2 - font.rGetTextWidthMM(ReportIdentifier) / 2;

            page_Cur.AddMM(reportIdentifierHorizontalPosition, height, new RepString(font, ReportIdentifier));
            page_Cur.AddMM(0, 10, new RepRectMM(new BrushProp(this, Color.Black), PageWidthMillimeters, 0.1D));

            return(20);
        }
Ejemplo n.º 14
0
        /// <summary>
        /// Inserta un subtitulo en la pagina pasada como parámetro en la posicion del cursor
        /// </summary>
        /// <param name="p_Subtitulo">Subtitulo a insertar</param>
        /// <param name="p_Font">FontProp de el reporte</param>
        /// <param name="p_Pagina">Pagina sobre la que se desea escribir el subtitulo</param>
        /// <param name="p_Reporte">Documento actual</param>
        /// <returns>Pagina actual</returns>
        private Page InsertarSubtitulo(String p_Subtitulo, FontProp p_Font, Page p_Pagina, Report p_Reporte)
        {
            if (_dRy >= _dMaxRy)
            {
                p_Pagina = new Page(p_Reporte);
                _dRy = 60;
            }

            // Color: #4671D5.FromArgb(70, 113, 213);
            p_Font.color = Color.FromArgb(_iRedSub, _iGreenSub, _iBlueSub);
            p_Font.bUnderline = true;
            p_Font.bItalic = true;
            p_Font.bBold = true;
            p_Font.rSizePoint += 5;
            p_Pagina.Add(_dRx, _dRy, new RepString(p_Font, p_Subtitulo));
            _dRy += p_Font.rLineFeed;

            // Restores to Default
            p_Font.rSizePoint -= 5;
            p_Font.color = Color.Black;
            p_Font.bUnderline = false;
            p_Font.bItalic = false;
            p_Font.bBold = false;

            return p_Pagina;
        }
Ejemplo n.º 15
0
        /// <summary>
        /// Inserta una linea divisora en la posicion del cursor
        /// </summary>
        /// <param name="p_Font">FontProp de el reporte</param>
        /// <param name="p_Pagina">Pagina sobre la que se desea escribir el subtitulo</param>
        /// <param name="p_Reporte">Documento actual</param>
        /// <returns>Pagina actual</returns>
        private Page InsertarDivisor(FontProp p_Font, Page p_Pagina, Report p_Reporte)
        {
            String sLinea = " ";

            for (int iContador = 0; iContador < 160; iContador++)
                sLinea += " ";

            if (_dRy >= _dMaxRy)
            {
                p_Pagina = new Page(p_Reporte);
                _dRy = 60;
            }

            p_Font.bUnderline = true;
            p_Pagina.Add(_dRx, _dRy, new RepString(p_Font, sLinea));
            _dRy += p_Font.rLineFeedMM;
            p_Font.bUnderline = false;

            return p_Pagina;
        }
Ejemplo n.º 16
0
        private double CreateTimingTable(double verticalMillimeters)
        {
            List <dynamic> columns = new List <dynamic>()
            {
                new { Name = "Time", Column = "Time", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .1 },
                new { Name = "Line", Column = "LineName", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .2 },
                new { Name = "Phase", Column = "Phase", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .1 },
                new { Name = "Timing (br)", Column = "BreakerTiming", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .1 },
                new { Name = "Timing (wf)", Column = "WaveformTiming", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .1 },
                new { Name = "Timing (sp)", Column = "StatusTiming", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .1 },
                new { Name = "Classification", Column = "OperationTiming", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .1 },
                new { Name = "Prefault Current", Column = "PrefaultCurrent", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .1 },
                new { Name = "Max Current", Column = "MaxCurrent", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .1 },
            };

            if (TimingDataTable.Rows.Count == 0)
            {
                verticalMillimeters += InsertItalicText(verticalMillimeters, $"   No Breaker Operations during {StartTime.ToString("MM/dd/yyyy")} - {EndTime.ToString("MM/dd/yyyy")}");
                return(verticalMillimeters);
            }

            FontProp headerProp = new FontProp(FontDefinition, 0);

            headerProp.rSizePoint = 10.0D;
            using (TableLayoutManager tlm = new TableLayoutManager(headerProp))
            {
                FontProp textProp = new FontProp(FontDefinition, 0);
                textProp.rSizePoint                       = 8.0D;
                tlm.tlmCellDef_Header.rAlignV             = RepObj.rAlignCenter;                      // set vertical alignment of all header cells
                tlm.tlmCellDef_Default.penProp_LineBottom = new PenProp(this, 0.05, Color.LightGray); // set bottom line for all cells
                tlm.tlmHeightMode  = TlmHeightMode.AdjustLast;
                tlm.eNewContainer += (oSender, ea) =>
                {
                    verticalMillimeters += tlm.rCurY_MM;
                    verticalMillimeters  = NextTablePage(verticalMillimeters, ea);
                };


                // define columns
                foreach (var column in columns)
                {
                    new TlmColumnMM(tlm, column.Name, column.Width);
                }


                foreach (DataRow row in TimingDataTable.Rows)
                {
                    tlm.NewRow();
                    int index = 0;
                    foreach (var column in columns)
                    {
                        if (column.Column == "Time")
                        {
                            string date = DateTime.Parse(row[column.Column].ToString()).ToString("MM/dd/yyyy");
                            string time = DateTime.Parse(row[column.Column].ToString()).ToString("HH:mm:ss");
                            tlm.Add(index, new RepString(textProp, date));
                            tlm.NewLine(index);
                            tlm.Add(index++, new RepString(textProp, time));
                        }
                        else if (column.Column == "LineName")
                        {
                            AddDataColumn(tlm, index++, row[column.Column].ToString(), textProp, column.Width);
                        }
                        else
                        {
                            tlm.Add(index++, new RepString(textProp, row[column.Column].ToString()));
                        }
                    }
                }

                tlm.Commit();

                verticalMillimeters += tlm.rCurY_MM + 10;
            }

            return(verticalMillimeters);
        }
        public void GerarPdf()
        {
            // Variavel do Nome e caminho do arquivo
            string vArq = "";
            // Abre janela para usuário escolher a pasta onde o arquivo será gerado

            FolderBrowserDialog vSalvar = new FolderBrowserDialog();

            // Verifica se o usuário clicou em ok ou cancelar na janela de seleção da pasta

            if (vSalvar.ShowDialog() == DialogResult.Cancel)
            {
                return; // Cancela todo processo
            }
            // Insere na variavel o caminho selecionado pelo usuário e concatena com o nome do arquivo
            vArq = vSalvar.SelectedPath + "\\" + txtNome.Text.Trim() + ".pdf";
            try
            {
                // Cria um objeto PDF
                Report vPdf = new Report(new PdfFormatter());

                // Define a fonte que sera usada no relatório PDF
                FontDef vDef = new FontDef(vPdf, FontDef.StandardFont.TimesRoman);



                // Define o tamanho a fonte que sera usada no relatório PDF
                FontProp vDrop = new FontProp(vDef, 10); //tamanho da fonte
                FontProp vProp = new FontProp(vDef, 5);  // tamanho da fonte
                FontProp vTrop = new FontProp(vDef, 8);  // tamanho da fonte
                FontProp vGrop = new FontProp(vDef, 7);  // tamanho da fonte


                // Cria uma Nova Pagina
                Page vPage = new Page(vPdf);

                // Escreve no Arquivo
                vPage.AddCB_MM(10, new RepString(vDrop, "FICHA DE ATENDIMENTO AMBULATORIAL - FAA"));                                        // Centraliza
                vPage.AddCB_MM(20, new RepString(vDrop, "UBS RITA ASSIS"));                                                                 // Centraliza
                vPage.AddCB_MM(25, new RepString(vProp, "RUA: AVENIDA SEM NOME"));                                                          // Centraliza
                vPage.AddCB_MM(30, new RepString(vProp, "CONTATO: (00) 0000-0000"));                                                        // CentralizA
                vPage.AddCB_MM(40, new RepString(vDrop, "IDENTIFICAÇÃO DO PACIENTE"));                                                      // Centraliza
                vPage.AddCB_MM(32, new RepString(vDrop, "_____________________________________________________________________________"));  // define lado + altura

                vPage.AddCB_MM(20, 50, new RepString(vTrop, "ATENDIMENTO: "));                                                              // define lado + altura
                vPage.AddCB_MM(45, 50, new RepString(vGrop, txtDataAtend.Text));                                                            // define lado + altura pega o texto do box

                vPage.AddCB_MM(15, 60, new RepString(vDrop, "NOME: "));                                                                     // define lado + altura
                vPage.AddCB_MM(45, 60, new RepString(vGrop, txtNome.Text));                                                                 // define lado + altura pega o texto do box

                vPage.AddCB_MM(160, 60, new RepString(vTrop, "PRONTUARIO: "));                                                              // define lado + altura
                vPage.AddCB_MM(180, 60, new RepString(vGrop, txtProntuario.Text));                                                          // define lado + altura pega o texto do box

                vPage.AddCB_MM(20, 70, new RepString(vTrop, "DATA NASC.: "));                                                               // define lado + altura
                vPage.AddCB_MM(40, 70, new RepString(vGrop, txtDataNasc.Text));                                                             // define lado + altura pega o texto do box

                vPage.AddCB_MM(85, new RepString(vDrop, "DADOS DO ATENDIMENTO"));                                                           // Centraliza
                vPage.AddCB_MM(88, new RepString(vDrop, "_____________________________________________________________________________"));  // define lado + altura

                vPage.AddCB_MM(20, 95, new RepString(vTrop, "MÉDICO: "));                                                                   // define lado + altura
                vPage.AddCB_MM(40, 95, new RepString(vGrop, txtmedico.Text));                                                               // define lado + altura pega o texto do box

                vPage.AddCB_MM(130, 95, new RepString(vTrop, "ESPECIALIDADE: "));                                                           // define lado + altura
                vPage.AddCB_MM(165, 95, new RepString(vGrop, txtEspecialidade.Text));                                                       // define lado + altura pega o texto do box

                vPage.AddCB_MM(15, 110, new RepString(vTrop, "PESO: "));                                                                    // define lado + altura
                vPage.AddCB_MM(30, 110, new RepString(vGrop, txtPesoKg.Text));                                                              // define lado + altura pega o texto do box

                vPage.AddCB_MM(100, 110, new RepString(vTrop, "PRESSÃO ARTERIAL: "));                                                       // define lado + altura
                vPage.AddCB_MM(130, 110, new RepString(vGrop, txtPressaoArterial.Text));                                                    // define lado + altura pega o texto do box

                vPage.AddCB_MM(160, 110, new RepString(vTrop, "GLISSEMIA: "));                                                              // define lado + altura
                vPage.AddCB_MM(180, 110, new RepString(vGrop, txtGlicose.Text));                                                            // define lado + altura pega o texto do box

                vPage.AddCB_MM(25, 120, new RepString(vTrop, "TEMPERATURA: "));                                                             // define lado + altura
                vPage.AddCB_MM(48, 120, new RepString(vGrop, txtTemperatura.Text));                                                         // define lado + altura pega o texto do box

                vPage.AddCB_MM(100, 120, new RepString(vTrop, "SATURAÇÃO: "));                                                              // define lado + altura
                vPage.AddCB_MM(120, 120, new RepString(vGrop, txtSaturacao.Text));                                                          // define lado + altura pega o texto do box

                vPage.AddCB_MM(124, new RepString(vDrop, "_____________________________________________________________________________")); // define lado + altura
                vPage.AddCB_MM(35, 135, new RepString(vTrop, "RELATO PACIENTE: "));                                                         // define lado + altura
                vPage.AddCB_MM(35, 140, new RepString(vGrop, txtRelatoPaciente.Text));                                                      // define lado + altura pega o texto do box

                vPage.AddCB_MM(173, new RepString(vDrop, "_____________________________________________________________________________")); // define lado + altura
                vPage.AddCB_MM(35, 180, new RepString(vTrop, "RELATORIO MÉDICO: "));                                                        // define lado + altura
                vPage.AddCB_MM(40, 185, new RepString(vGrop, txtRelatoMedico.Text));                                                        // define lado + altura pega o texto do box

                vPage.AddCB_MM(260, new RepString(vDrop, "_____________________________________________________________________________")); // define lado + altura
                vPage.AddCB_MM(35, 275, new RepString(vProp, "________________________________"));                                          // define lado + altura
                vPage.AddCB_MM(35, 280, new RepString(vProp, "ASS. MÉDICO: "));                                                             // define lado + altura
                vPage.AddCB_MM(160, 275, new RepString(vProp, "________________________________"));                                         // define lado + altura
                vPage.AddCB_MM(160, 280, new RepString(vProp, "ASS. RESPONSÁVEL: "));                                                       // define lado + altura


                // vPage.AddCB_MM(15, 350, new RepString(vDrop, txtTextoArquivo2.Text)); // define lado + altura pega o texto do box
                // vPage.AddCB_MM(15, 350, new RepString(vGrop, txtTextoArquivo2.Text)); // define lado + altura pega o texto do box

                // Salvar Arquivo no disco
                vPdf.Save(vArq);
                MessageBox.Show("FAA Gerada com sucesso !", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro ao Gerar arquivo !!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Ejemplo n.º 18
0
        /// <summary>
        /// Crea un reporte
        /// </summary>
        /// <returns></returns>
        public Report Generar()
        {
            // Inicialización de los componentes del documento
            Report rReporte = new Report(new PdfFormatter());
            FontDef fd = new FontDef(rReporte, _sFont);
            FontProp fp = new FontProp(fd, _iSize);
            Page pPagina = new Page(rReporte);
            cUDGDFSOLICITUDNegocios sSolicitudes = new cUDGDFSOLICITUDNegocios(0, "", 0, "");
            DataTable dtSolicitudes;
            String[] sUsuarios;
            int iContadorUsuarios = 1;

            // Obtiene las solicitudes aprobadas dentro del rango de fechas
            dtSolicitudes = sSolicitudes.SeleccionarAprobadas(_sfechainicio, _sfechafin);

            // Imprime el documento
            // Encabezado del documento
            InsertarTitulo("Reporte de reservaciones", fp, pPagina, rReporte);
            InsertarTitulo(_sfechainicio.ToShortDateString() + " - " + _sfechafin.ToShortDateString(), fp, pPagina, rReporte);
            InsertarLinea("", fp, pPagina, rReporte);

            // Resumen del documento
            InsertarSubtitulo("Resumen de reservaciones", fp, pPagina, rReporte);
            foreach (Instalacion insLocal in GenerarResumen(dtSolicitudes))
            {
                InsertarLinea("Reservaciones para " + insLocal.sInstalacion + ": " + insLocal.iContador + ".", fp, pPagina, rReporte);
            }
            InsertarLinea("", fp, pPagina, rReporte);
            InsertarDivisor(fp, pPagina, rReporte);
            InsertarLinea("", fp, pPagina, rReporte);

            // Imprime cada solicitud
            InsertarSubtitulo("Solicitudes aprobadas dentro del rango de fechas", fp, pPagina, rReporte);
            InsertarLinea("", fp, pPagina, rReporte);

            foreach (DataRow drRow in dtSolicitudes.Rows)
            {
                InsertarLinea("Identificacion de solicitud: " + drRow[0].ToString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Fecha inicio: " + DateTime.Parse(drRow[2].ToString()).ToShortDateString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Fecha fin: " + DateTime.Parse(drRow[3].ToString()).ToShortDateString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Fecha de la solicitud: " + DateTime.Parse(drRow[4].ToString()).ToShortDateString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Hora inicio: " + drRow[5].ToString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Hora fin: " + drRow[6].ToString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Nombre de encargado: " + drRow[7].ToString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Nombre de institucion/grupo: " + drRow[8].ToString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Identificacion encargado: " + drRow[9].ToString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Tipo de Solicitante: " + drRow[20].ToString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Observaciones: " + drRow[11].ToString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Razon de uso: " + drRow[12].ToString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Correo solicitante: " + drRow[14].ToString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Usuarios:", fp, pPagina, rReporte);
                sUsuarios = drRow[16].ToString().Split(',');
                foreach (String sLocal in sUsuarios)
                {
                    InsertarLinea(iContadorUsuarios + ". " + sLocal, fp, pPagina, rReporte);
                    iContadorUsuarios++;
                }
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Cantidad de usuarios hombres: " + drRow[17].ToString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Cantidad de usuarios mujeres: " + drRow[18].ToString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarDivisor(fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
            }

            // retorna el documento para poder ser presentado al usuario
            return rReporte;
        }
Ejemplo n.º 19
0
        // Insert the list of definitions on the given page.
        private double InsertDefinitions(FontDef fontDefinition, Page page, double verticalMillimeters)
        {
            const double FontSize = 8.0D;
            const double FooterWidthMillimeters = 6.5D * 25.4D;

            FontProp font = new FontProp(fontDefinition, 0.0D);
            StringBuilder builder;
            int lengthWithoutWord;
            double lineHeightMillimeters;

            string definitionsText = string.Format("Level 4: {0} - Devices which are reporting as expected, with a completeness of at least {1:0.##}% on the report date.", m_level4Alias, m_level4Threshold) + Environment.NewLine +
                string.Format("Level 3: {0} - Devices with a completeness of at least {1:0.##}% on the report date.", m_level3Alias, m_level3Threshold) + Environment.NewLine +
                string.Format("Level 2: Poor - Devices which reported on the report date, but had an completeness below {0:0.##}%.", m_level3Threshold) + Environment.NewLine +
                "Level 1: Offline - Devices which did not report on the report date, but have reported at some time during the 30 days prior to the report date." + Environment.NewLine +
                "Level 0: Failed - Devices which have not reported during the 30 days prior to the report date." + Environment.NewLine +
                "Completeness: Percentage of measurements received over total measurements expected, per device." + Environment.NewLine +
                "Acceptable Quality: Devices which are in Level 4 or Level 3.";

            // Break the definitions text into lines
            string[] lines = definitionsText.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);

            // Set font size and line spacing
            font.rSizePoint = FontSize;
            lineHeightMillimeters = 1.5D * font.rSizeMM;

            foreach (string line in lines)
            {
                // String builder will be used to determine if the line is too wide to fit
                // on the page, and to break the line into multiple lines if necessary
                builder = new StringBuilder();

                // Break the line into words
                foreach (string word in line.Split())
                {
                    // Store the length of the line without an additional word so we can restore
                    // the original line if the additional word makes the line too long to fit
                    lengthWithoutWord = builder.Length;

                    // Add white space if this is not the first word in the line
                    if (builder.Length > 0)
                        builder.Append(' ');

                    // Add the word to the line
                    builder.Append(word);

                    // If the line is too long, put the original line onto the page and
                    // trim the string builder down to only the word we just added
                    if (font.rGetTextWidthMM(builder.ToString()) > FooterWidthMillimeters)
                    {
                        page.AddMM(PageMarginMillimeters, verticalMillimeters + font.rSizeMM, new RepString(font, builder.ToString(0, lengthWithoutWord)));
                        builder.Remove(0, lengthWithoutWord);
                        builder.Insert(0, "             ");
                        verticalMillimeters += lineHeightMillimeters;
                    }
                }

                // Add the remainder of the line to the page.
                page.AddMM(PageMarginMillimeters, verticalMillimeters + font.rSizeMM, new RepString(font, builder.ToString()));
                verticalMillimeters += 1.5D * lineHeightMillimeters;
            }

            return 0.0D;
        }
Ejemplo n.º 20
0
        /// <summary>
        /// Inserta un titulo en la pagina pasada como parámetro en la posicion del cursor
        /// </summary>
        /// <param name="p_Subtitulo">Subtitulo a insertar</param>
        /// <param name="p_Font">FontProp de el reporte</param>
        /// <param name="p_Pagina">Pagina sobre la que se desea escribir el subtitulo</param>
        /// <param name="p_Reporte">Documento actual</param>
        /// <returns>Pagina actual</returns>
        private Page InsertarTitulo(String p_Titulo, FontProp p_Font, Page p_Pagina, Report p_Reporte)
        {
            if (_dRy >= _dMaxRy)
            {
                p_Pagina = new Page(p_Reporte);
                _dRy = 60;
            }

            // Color: #1240AB.FromArgb(18, 64, 171)
            p_Font.color = Color.FromArgb(_iRedTitulo, _iGreenTitulo, _iBlueTitulo);
            p_Font.bItalic = true;
            p_Font.bBold = true;
            p_Font.rSizePoint += 10;
            p_Pagina.AddCB(_dRy, new RepString(p_Font, p_Titulo));
            _dRy += p_Font.rLineFeed;

            // Restores to Default
            p_Font.rSizePoint -= 10;
            p_Font.color = Color.Black;
            p_Font.bItalic = false;
            p_Font.bBold = false;

            return p_Pagina;
        }
Ejemplo n.º 21
0
        // Inserts the title and company text on the given page.
        private double InsertTitle(FontDef fontDefinition, Page page, double verticalMillimeters)
        {
            FontProp titleFont = new FontProp(fontDefinition, 0.0D);
            FontProp companyFont = new FontProp(fontDefinition, 0.0D);

            titleFont.rSizePoint = 20.0D;
            companyFont.rSizePoint = 14.0D;
            titleFont.bBold = true;
            companyFont.bBold = true;

            // Title
            page.AddCB_MM(verticalMillimeters + titleFont.rSizeMM, new RepString(titleFont, m_titleText));
            verticalMillimeters += 1.5D * titleFont.rSizeMM;

            // Company
            page.AddCB_MM(verticalMillimeters + companyFont.rSizeMM, new RepString(companyFont, m_companyText));

            return (1.5D * titleFont.rSizeMM) + companyFont.rSizeMM;
        }
Ejemplo n.º 22
0
 // Inserts the given text as a section header (16-pt, bold).
 private double InsertSectionHeader(FontDef fontDefinition, Page page, double verticalMillimeters, string text)
 {
     FontProp font = new FontProp(fontDefinition, 0.0D);
     font.rSizePoint = 16.0D;
     font.bBold = true;
     page.AddCB_MM(verticalMillimeters + font.rSizeMM, new RepString(font, text));
     return 2.0D * font.rSizeMM;
 }
Ejemplo n.º 23
0
        //----------------------------------------------------------------------------------------------------x
        /// <summary>Creates this report</summary>
        protected override void Create()
        {
            FontDef  fd       = new FontDef(this, FontDef.StandardFont.Helvetica);
            FontProp fp       = new FontPropMM(fd, 3);
            FontProp fp_Title = new FontPropMM(fd, 20);

            fp_Title.bBold = true;
            FontProp  fp_Small = new FontPropMM(fd, 1.3);
            PenProp   pp       = new PenPropMM(this, 0.2, Color.Blue);
            BrushProp bp       = new BrushProp(this, Color.FromArgb(240, 240, 240));

            #region Page 1
            Page page = new Page(this);
            page.AddCB_MM(40, new RepString(fp_Title, "Text Sample"));
            fp_Title.rSizeMM     = 4;
            fp_Title.rLineFeedMM = 8;

            // font sample
            Double rX = 20;
            Double rY = 60;
            page.AddMM(rX, rY, new RepString(fp_Title, "Fonts"));
            rY += fp_Title.rLineFeedMM;
            FontDef[] aFontDef = { new FontDef(this, FontDef.StandardFont.Courier), fd, new FontDef(this, FontDef.StandardFont.TimesRoman) };
            foreach (FontDef fontDef in aFontDef)
            {
                FontProp fp_Test = new FontPropMM(fontDef, 2.8);
                page.AddMM(rX, rY, new RepString(fp_Test, fontDef.sFontName));
                fp_Test.bBold = true;
                page.AddMM(rX + 30, rY, new RepString(fp_Test, fontDef.sFontName + " Bold"));
                fp_Test.bBold   = false;
                fp_Test.bItalic = true;
                page.AddMM(rX + 72, rY, new RepString(fp_Test, fontDef.sFontName + " Italic"));
                fp_Test.bItalic    = false;
                fp_Test.bUnderline = true;
                page.AddMM(rX + 120, rY, new RepString(fp_Test, fontDef.sFontName + " Underline"));
                rY += fp.rLineFeedMM;
            }

            rY      += 3;
            aFontDef = new FontDef[] { new FontDef(this, "Symbol"), new FontDef(this, "ZapfDingbats") };
            foreach (FontDef fontDef in aFontDef)
            {
                FontProp fp_Test = new FontPropMM(fontDef, 3);
                page.AddMM(rX, rY, new RepString(fp, fontDef.sFontName));
                page.AddMM(rX + 30, rY, new RepString(fp_Test, "ABCDEFGHIJKLMNOPQRSTUVWXYZ"));
                rY += fp.rLineFeedMM;
            }
            rY += 10;

            // Int32 sample
            rX = 20;
            Double rYcopy = rY;
            page.AddMM(rX, rY, new RepString(fp_Title, "Int32 Values"));
            rY += fp_Title.rLineFeedMM;
            page.AddMM(rX, rY, new RepString(fp, "no format string"));
            page.AddRightMM(rX + 80, rY, new RepInt32(fp, 12345));
            rY += fp.rLineFeedMM;
            page.AddMM(rX, rY, new RepString(fp, "format \"0000000\""));
            page.AddRightMM(rX + 80, rY, new RepInt32(fp, 12345, "0000000"));
            rY += fp.rLineFeedMM;
            page.AddMM(rX, rY, new RepString(fp, "format \"$#,#\""));
            page.AddRightMM(rX + 80, rY, new RepInt32(fp, 12345, "$#,#"));
            rY += fp.rLineFeedMM;
            page.AddMM(rX, rY, new RepString(fp, "format \"$#;($#);Zero\""));
            page.AddRightMM(rX + 80, rY, new RepInt32(fp, 12345, "$#;($#);Zero"));
            rY += fp.rLineFeedMM;
            page.AddMM(rX, rY, new RepString(fp, "format \"$#;($#);Zero\""));
            page.AddRightMM(rX + 80, rY, new RepInt32(fp, -12345, "$#;($#);Zero"));
            rY += fp.rLineFeedMM;
            page.AddMM(rX, rY, new RepString(fp, "format \"$#;($#);Zero\""));
            page.AddRightMM(rX + 80, rY, new RepInt32(fp, 0, "$#;($#);Zero"));

            // Single / Double sample
            rX = 115;
            rY = rYcopy;
            page.AddMM(rX, rY, new RepString(fp_Title, "Single / Double Values"));
            rY += fp_Title.rLineFeedMM;
            page.AddMM(rX, rY, new RepString(fp, "no format string"));
            page.AddRightMM(rX + 80, rY, new RepReal64(fp, 123.456));
            rY += fp.rLineFeedMM;
            page.AddMM(rX, rY, new RepString(fp, "format \"0.0000\""));
            page.AddRightMM(rX + 80, rY, new RepReal64(fp, 123.456, "0.0000"));
            rY += fp.rLineFeedMM;
            page.AddMM(rX, rY, new RepString(fp, "format \"$#,#0.00\""));
            page.AddRightMM(rX + 80, rY, new RepReal64(fp, 123.456, "$#,#0.00"));
            rY += fp.rLineFeedMM;
            page.AddMM(rX, rY, new RepString(fp, "format \"$#.0;($#.0);Zero\""));
            page.AddRightMM(rX + 80, rY, new RepReal64(fp, 123.456, "$#.0;($#.0);Zero"));
            rY += fp.rLineFeedMM;
            page.AddMM(rX, rY, new RepString(fp, "format \"$#.0;($#.0);Zero\""));
            page.AddRightMM(rX + 80, rY, new RepReal64(fp, -123.456, "$#.0;($#.0);Zero"));
            rY += fp.rLineFeedMM;
            page.AddMM(rX, rY, new RepString(fp, "format \"$#.0;($#.0);Zero\""));
            page.AddRightMM(rX + 80, rY, new RepReal64(fp, 0, "$#.0;($#.0);Zero"));
            rY += fp.rLineFeedMM + 10;

            // DateTime sample
            rX     = 20;
            rYcopy = rY;
            page.AddMM(rX, rY, new RepString(fp_Title, "DateTime Values"));
            rY += fp_Title.rLineFeedMM;
            page.AddMM(rX, rY, new RepString(fp, "no format string"));
            page.AddRightMM(rX + 80, rY, new RepDateTime(fp, DateTime.Now));
            rY += fp.rLineFeedMM;
            page.AddMM(rX, rY, new RepString(fp, "format \"D\""));
            page.AddRightMM(rX + 80, rY, new RepDateTime(fp, DateTime.Now, "D"));
            rY += fp.rLineFeedMM;
            page.AddMM(rX, rY, new RepString(fp, "format \"t\""));
            page.AddRightMM(rX + 80, rY, new RepDateTime(fp, DateTime.Now, "t"));
            rY += fp.rLineFeedMM;
            page.AddMM(rX, rY, new RepString(fp, "format \"dd.MM.yyyy\""));
            page.AddRightMM(rX + 80, rY, new RepDateTime(fp, DateTime.Now, "dd.MM.yyyy"));

            // color sample
            StaticContainer sc = new StaticContainer(RT.rPointFromMM(100), RT.rPointFromMM(100));
            page.AddMM(115, rYcopy + 5, sc);
            sc.RotateTransform(-8);
            sc.AddAlignedMM(-2, RepObj.rAlignLeft, -6, RepObj.rAlignTop, new RepRectMM(bp, 85, 33));
            rY = 0;
            sc.AddMM(0, rY, new RepString(fp_Title, "Colors"));
            rY += fp_Title.rLineFeedMM;
            sc.AddMM(0, rY, new RepString(fp, "Red"));
            fp.color = Color.Red;  fp.bUnderline = true;
            sc.AddRightMM(80, rY, new RepString(fp, "ABCDEFGHIJKLM"));
            fp.color = Color.Black;  fp.bUnderline = false;
            rY      += fp.rLineFeedMM;
            sc.AddMM(0, rY, new RepString(fp, "Green"));
            fp.color = Color.Green;  fp.bUnderline = true;
            sc.AddRightMM(80, rY, new RepString(fp, "ABCDEFGHIJKLM"));
            fp.color = Color.Black;  fp.bUnderline = false;
            rY      += fp.rLineFeedMM;
            sc.AddMM(0, rY, new RepString(fp, "Blue"));
            fp.color = Color.Blue;  fp.bUnderline = true;
            sc.AddRightMM(80, rY, new RepString(fp, "ABCDEFGHIJKLM"));
            fp.color = Color.Black;  fp.bUnderline = false;
            rY      += fp.rLineFeedMM;
            sc.AddMM(0, rY, new RepString(fp, "RGB(255,180,255)"));
            fp.color = Color.FromArgb(200, 200, 255);  fp.bUnderline = true;
            sc.AddRightMM(80, rY, new RepString(fp, "ABCDEFGHIJKLM"));
            fp.color = Color.Black;  fp.bUnderline = false;
            rY      += rYcopy + fp.rLineFeedMM + 10;

            // alignment sample
            rX = 20;
            String s = "Alignment";
            page.AddMM(rX, rY, new RepString(fp_Title, s));
            Double rLengthMM = fp_Title.rGetTextWidthMM(s);
            page.AddMM(rX, rY + 3, new RepLineMM(pp, rLengthMM, 0));
            page.AddMM(rX, rY + 2, new RepLineMM(pp, 0, 2));
            page.AddMM(rX + rLengthMM, rY + 2, new RepLineMM(pp, 0, 2));
            page.AddAlignedMM(rX + rLengthMM / 2, RepObj.rAlignCenter, rY + 4, RepObj.rAlignTop, new RepReal64(fp_Small, rLengthMM, "0.0 mm"));
            rX  = 100;
            rY += fp_Title.rLineFeedMM;
            Double rD = 15;
            bp.color = Color.LightSkyBlue;
            page.AddMM(rX, rY + rD, new RepRectMM(bp, rD, rD));
            page.AddAlignedMM(rX, RepObj.rAlignRight, rY, RepObj.rAlignBottom, new RepString(fp, "right - bottom"));
            page.AddAlignedMM(rX, RepObj.rAlignRight, rY + rD, RepObj.rAlignTop, new RepString(fp, "right - top"));
            page.AddMM(rX + rD, rY, new RepString(fp, "left - bottom")); // default
            page.AddAlignedMM(rX + rD, RepObj.rAlignLeft, rY + rD, RepObj.rAlignTop, new RepString(fp, "left - top"));
            page.AddAlignedMM(rX + rD / 2, RepObj.rAlignCenter, rY + rD / 2, RepObj.rAlignCenter, new RepString(fp, "center"));
            rY += 30;

            // rotated string
            rX = 60;
            page.AddMM(20, rY, new RepString(fp_Title, "Rotated Strings"));
            rY    += fp_Title.rLineFeedMM + 10;
            rYcopy = rY;
            rD     = 10;
            page.AddMM(rX, rY + rD, new RepRectMM(bp, rD, rD));
            fp.rAngle = 45;
            page.AddAlignedMM(rX + rD, RepObj.rAlignLeft, rY + rD, RepObj.rAlignTop, new RepString(fp, "[45°]"));
            fp.rAngle = 135;
            page.AddMM(rX, rY + rD, new RepString(fp, "[135°]"));
            fp.rAngle = 225;
            page.AddAlignedMM(rX, RepObj.rAlignLeft, rY, RepObj.rAlignTop, new RepString(fp, "[225°]"));
            fp.rAngle = 315;
            page.AddMM(rX + rD, rY, new RepString(fp, "[315°]"));
            fp.rAngle = 0;

            rX            = 155;
            rY            = rYcopy;
            fp.bUnderline = true;
            page.AddMM(rX, rY + rD, new RepRectMM(bp, rD, rD));
            fp.rAngle = 45;
            page.AddAlignedMM(rX, RepObj.rAlignRight, rY, RepObj.rAlignBottom, new RepString(fp, "1/4 * PI"));
            fp.rAngle = 135;
            page.AddAlignedMM(rX + rD, RepObj.rAlignRight, rY, RepObj.rAlignTop, new RepString(fp, "3/4 * PI"));
            fp.rAngle = 225;
            page.AddAlignedMM(rX + rD, RepObj.rAlignRight, rY + rD, RepObj.rAlignBottom, new RepString(fp, "5/4 * PI"));
            fp.rAngle = 315;
            page.AddAlignedMM(rX, RepObj.rAlignRight, rY + rD, RepObj.rAlignTop, new RepString(fp, "7/4 * PI"));
            fp.rAngle     = 0.0;
            fp.bUnderline = false;
            rY           += 35;
            #endregion

            #region Page 2
            rX = 20;
            rY = 60;
            String sText = "Once upon a time there was a miller who was poor, but he had a beautiful daughter." + Environment.NewLine +
                           "Now it happened that he was talking with the king one time, and in order to make himself seem important, " +
                           "he said to the king, \"I have a daughter who can spin straw into gold.\"";
            page = new Page(this);
            page.AddMM(rX, rY, new RepString(fp_Title, "Best Fitting Font"));
            rY += fp_Title.rLineFeedMM;

            page.AddLT_MM(rX, rY, new RepRectMM(bp, 80, 40));
            FontProp fp_BestFit = fp_Title.fontProp_GetBestFitMM(sText, 80, 40, 1);
            rY += fp_BestFit.rLineFeedMM;
            Int32 iStart = 0;
            while (iStart <= sText.Length)
            {
                String sLine = fp_BestFit.sGetTextLine(sText, RT.rPointFromMM(80), ref iStart, TextSplitMode.Line);
                page.AddMM(rX, rY, new RepString(fp_BestFit, sLine));
                rY += fp_BestFit.rLineFeedMM;
            }
            rY += 10;

            page.AddLT_MM(rX, rY, new RepRectMM(bp, 40, 40));
            fp_BestFit = fp.fontProp_GetBestFitMM(sText, 40, 40, 1);
            rY        += fp_BestFit.rLineFeedMM;
            iStart     = 0;
            while (iStart <= sText.Length)
            {
                String sLine = fp_BestFit.sGetTextLine(sText, RT.rPointFromMM(40), ref iStart, TextSplitMode.Line);
                page.AddMM(rX, rY, new RepString(fp_BestFit, sLine));
                rY += fp_BestFit.rLineFeedMM;
            }
            rY += 10;

            page.AddLT_MM(rX, rY, new RepRectMM(bp, 30, 30));
            fp_BestFit = fp.fontProp_GetBestFitMM(sText, 30, 30, 1);
            rY        += fp_BestFit.rLineFeedMM;
            iStart     = 0;
            while (iStart <= sText.Length)
            {
                String sLine = fp_BestFit.sGetTextLine(sText, RT.rPointFromMM(30), ref iStart, TextSplitMode.Line);
                page.AddMM(rX, rY, new RepString(fp_BestFit, sLine));
                rY += fp_BestFit.rLineFeedMM;
            }
            #endregion
        }
Ejemplo n.º 24
0
        private double CreateTable(double verticalMillimeters)
        {
            if (DataTable.Rows.Count == 0)
            {
                verticalMillimeters += InsertItalicText(verticalMillimeters, $"   No Breaker Operations during {StartTime.ToString("MM/dd/yyyy")} - {EndTime.ToString("MM/dd/yyyy")}");
                return(verticalMillimeters);
            }

            FontProp headerProp = new FontProp(FontDefinition, 0);

            headerProp.rSizePoint = 7.0D;
            using (TableLayoutManager tlm = new TableLayoutManager(headerProp))
            {
                tlm.tlmCellDef_Header.rAlignV             = RepObj.rAlignCenter;                      // set vertical alignment of all header cells
                tlm.tlmCellDef_Default.penProp_LineBottom = new PenProp(this, 0.05, Color.LightGray); // set bottom line for all cells
                tlm.tlmHeightMode  = TlmHeightMode.AdjustLast;
                tlm.eNewContainer += (oSender, ea) =>
                {
                    verticalMillimeters += tlm.rCurY_MM;
                    verticalMillimeters  = NextTablePage(verticalMillimeters, ea);
                };

                List <dynamic> columns = new List <dynamic>()
                {
                    new { Name = "Last Op", Column = "LastOperationDate", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .05 },
                    new { Name = "Breaker", Column = "BreakerNumber", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .04 },
                    new { Name = "# of Ops", Column = "Total", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .04 },
                    new { Name = "Asset", Column = "AssetNum", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .05 },
                    new { Name = "Line", Column = "LineName", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .10 },
                    new { Name = "Phase", Column = "LastPhase", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .04 },
                    new { Name = "Timing (wf)", Column = "LastWaveformTiming", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .05 },
                    new { Name = "Timing (sb)", Column = "LastStatusTiming", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .05 },
                    new { Name = "MFR Speed", Column = "MfrSpeed", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .04 },
                    new { Name = "Operation Timing", Column = "OperationTiming", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .06 },
                    new { Name = "Method", Column = "LastMethod", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .05 },
                    new { Name = "# Late", Column = "TotalLateOperation", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .03 },
                    new { Name = "Last Late", Column = "LastLateOperation", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .05 },
                    new { Name = "MFR", Column = "Manufacturer", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .07 },
                    new { Name = "Serial #", Column = "SerialNum", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .08 },
                    new { Name = "MFR Year", Column = "MfrYear", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .04 },
                    new { Name = "Model #", Column = "ModelNum", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .07 },
                    new { Name = "ICR (A)", Column = "InterruptCurrentRating", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .05 },
                    new { Name = "CAR (A)", Column = "ContinuousAmpRating", Width = (PageWidthMillimeters - 2 * PageMarginMillimeters) * .05 }
                };

                foreach (var column in columns)
                {
                    new TlmColumnMM(tlm, column.Name, column.Width);
                }

                List <string> centeredCols = new List <string>()
                {
                    "Total", "BreakerNumber", "AssetNum", "LastPhase"
                };
                foreach (DataRow row in DataTable.Rows)
                {
                    tlm.NewRow();
                    int index = 0;
                    foreach (var column in columns)
                    {
                        if (column.Column == "LastOperationDate" || (column.Column == "LastLateOperation" && row[column.Column].ToString() != string.Empty))
                        {
                            FontProp textProp = new FontProp(FontDefinition, 0);
                            textProp.rSizePoint = 6.0D;
                            string date = DateTime.Parse(row[column.Column].ToString()).ToString("MM/dd/yyyy");
                            string time = DateTime.Parse(row[column.Column].ToString()).ToString("HH:mm:ss");
                            tlm.Add(index, new RepString(textProp, date));
                            tlm.NewLine(index);
                            tlm.Add(index++, new RepString(textProp, time));
                        }
                        else
                        {
                            FontProp textProp = new FontProp(FontDefinition, 0);
                            textProp.rSizePoint = 6.0D;
                            string value = "";

                            value = row[column.Column].ToString();
                            RepString repObj = new RepString(textProp, value);
                            if (centeredCols.Contains(column.Column))
                            {
                                repObj.rAlignH = RepObj.rAlignCenter;
                            }

                            AddDataColumn(tlm, index, value, textProp, column.Width);
                            index++;
                        }
                    }
                }

                tlm.Commit();

                verticalMillimeters += tlm.rCurY_MM + 10;
            }

            return(verticalMillimeters);
        }
Ejemplo n.º 25
0
 // Inserts the report date onto the given page.
 private double InsertReportDate(FontDef fontDefinition, Page page, double verticalMillimeters)
 {
     FontProp font = new FontProp(fontDefinition, 0.0D);
     font.rSizePoint = 14.0D;
     page.AddCB_MM(verticalMillimeters + font.rSizeMM, new RepString(font, m_reportDate.ToLongDateString()));
     return font.rSizeMM;
 }
Ejemplo n.º 26
0
        // Insert the list of definitions on the given page.
        private double InsertDefinitions(FontDef fontDefinition, Page page, double verticalMillimeters)
        {
            const double FontSize = 8.0D;
            const double FooterWidthMillimeters = 6.5D * 25.4D;

            FontProp      font = new FontProp(fontDefinition, 0.0D);
            StringBuilder builder;
            int           lengthWithoutWord;
            double        lineHeightMillimeters;

            string definitionsText = "Good: Measurements received which are neither latched nor unreasonable." + Environment.NewLine +
                                     "Latched: Measurements received which have maintained the same value for an extended period of time." + Environment.NewLine +
                                     "Unreasonable: Measurements received whose values have fallen outside of the range defined by reasonability constraints." + Environment.NewLine +
                                     "Correctness: Percentage of good measurements over total measurements expected, per device.";

            // Break the definitions text into lines
            string[] lines = definitionsText.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);

            // Set font size and line spacing
            font.rSizePoint       = FontSize;
            lineHeightMillimeters = 1.5D * font.rSizeMM;

            foreach (string line in lines)
            {
                // String builder will be used to determine if the line is too wide to fit
                // on the page, and to break the line into multiple lines if necessary
                builder = new StringBuilder();

                // Break the line into words
                foreach (string word in line.Split())
                {
                    // Store the length of the line without an additional word so we can restore
                    // the original line if the additional word makes the line too long to fit
                    lengthWithoutWord = builder.Length;

                    // Add white space if this is not the first word in the line
                    if (builder.Length > 0)
                    {
                        builder.Append(' ');
                    }

                    // Add the word to the line
                    builder.Append(word);

                    // If the line is too long, put the original line onto the page and
                    // trim the string builder down to only the word we just added
                    if (font.rGetTextWidthMM(builder.ToString()) > FooterWidthMillimeters)
                    {
                        page.AddMM(PageMarginMillimeters, verticalMillimeters + font.rSizeMM, new RepString(font, builder.ToString(0, lengthWithoutWord)));
                        builder.Remove(0, lengthWithoutWord);
                        builder.Insert(0, "             ");
                        verticalMillimeters += lineHeightMillimeters;
                    }
                }

                // Add the remainder of the line to the page.
                page.AddMM(PageMarginMillimeters, verticalMillimeters + font.rSizeMM, new RepString(font, builder.ToString()));
                verticalMillimeters += 1.5D * lineHeightMillimeters;
            }

            return(0.0D);
        }
Ejemplo n.º 27
0
 // Inserts the page footer onto the given page, which includes the time of report generation as well as the page number.
 private double InsertFooter(FontDef fontDefinition, Page page, DateTime now, int pageNumber)
 {
     FontProp font = new FontProp(fontDefinition, 0.0D);
     font.rSizePoint = 12.0D;
     page.AddMM(PageMarginMillimeters, PageHeightMillimeters - PageMarginMillimeters, new RepString(font, now.ToShortDateString() + " " + now.ToShortTimeString()));
     page.AddMM(PageWidthMillimeters - PageMarginMillimeters - font.rGetTextWidthMM(pageNumber.ToString()), PageHeightMillimeters - PageMarginMillimeters, new RepString(font, pageNumber.ToString()));
     return font.rSizeMM;
 }
Ejemplo n.º 28
0
        private void btnEmitir_Click(object sender, EventArgs e)
        {
            if (((cmbTipPlan.Enabled == true && (cmbTipPlan.FindStringExact(cmbTipPlan.Text) < 0 || cmbPlan.FindStringExact(cmbPlan.Text) < 0 || cmbDias.FindStringExact(cmbDias.Text) < 0))))
            {
                MessageBox.Show("Dados selecionados inválidos , selecione somente os itens da lista");
                return;
            }


            if (checkBoxX1.Checked == false)
            {
                MessageBox.Show("Confirme que seus dados pessoais estão atualizados, caso contrário atualize");
                return;
            }


            else if (cmbTipPlan.Text == "")
            {
                MessageBox.Show("Complete o campo de Tipo de Plano");
                return;
            }
            else if (cmbPlan.Text == "")
            {
                MessageBox.Show("Complete o campo de Planos");
                return;
            }
            else if (cmbDias.Text == "")
            {
                MessageBox.Show("Complete o campo de Dias");
                return;
            }
            else if (integerInput1.Text == "0" || integerInput1.Text.Trim() == "")
            {
                MessageBox.Show("Complete o campo de Quantidade");
                return;
            }
            else if (dateTimeInput1.Text.Trim() == "")
            {
                MessageBox.Show("Complete a data de inicio");
                return;
            }

            //  MessageBox.Show(cmbTipPlan.Text);
            //   MessageBox.Show((completarplan.selecionar_planos_voucher(cmbPlan.Text, cmbTipPlan.Text).Rows[0]["PlanCod"].ToString()));

            ///  voucher.inserir_voucher_cli(int.Parse(cliente.selecionar_cliente(Variaveis.login).Rows[0]["CliCod"].ToString()), int.Parse(completarplan.selecionar_planos(cmbPlan.Text, cmbTipPlan.Text).Rows[0]["PlanCod"].ToString()), cmbDias.Text, integerInput1.Value, dateTimeInput1.Value.ToString("yyyy-MM-dd"), checkBoxX1.Checked, ((int.Parse(integerInput1.Text) * valor) * decimal.Parse(Variaveis.dolar.Replace(".", ","))), (int.Parse(integerInput1.Text) * valor));

            string vArq = "";

            valor = Convert.ToDecimal(cmbDias.SelectedValue);
            //FolderBrowserDialog vSalvar = new FolderBrowserDialog();
            SaveFileDialog savedialog = new SaveFileDialog();

            //if (vSalvar.ShowDialog() == DialogResult.Cancel)
            //    return;
            savedialog.FileName = "";
            savedialog.Filter   = "Pdf Files|*.pdf";
            if (savedialog.ShowDialog() == DialogResult.Cancel)
            {
                return;
            }
            vArq = savedialog.FileName;
            //+ "\\" + "Emissão de seguro" +

            if (Variaveis.modacesso == "Cliente")
            {
                try
                {
                    DataRow dados;
                    dados = cliente.selecionar_cliente(Variaveis.login).Rows[0];
                    Report   vPdf  = new Report(new PdfFormatter());
                    FontDef  vDef  = new FontDef(vPdf, FontDef.StandardFont.TimesRoman);
                    FontProp vDrop = new FontProp(vDef, 10);
                    Page     vPage = new Page(vPdf);
                    vPage.AddCB_MM(15, new RepString(vDrop, "COMPROVANTE DE EMIÇÃO DE VOUCHER"));
                    vPage.Add(0, 60, new RepString(vDrop, "------------------------------------------------------------------------------------------------------------------------"));
                    vPage.Add(5, 70, new RepString(vDrop, "Informações Pessoais"));
                    vPage.Add(0, 80, new RepString(vDrop, "------------------------------------------------------------------------------------------------------------------------"));
                    vPage.Add(40, 100, new RepString(vDrop, "Nome: " + dados["CliNome"].ToString()));
                    vPage.Add(40, 120, new RepString(vDrop, "CPF: " + dados["CliCpf"].ToString()));
                    vPage.Add(40, 140, new RepString(vDrop, "RG: " + dados["CliRg"].ToString()));
                    vPage.Add(40, 160, new RepString(vDrop, "CEP: " + dados["CliCep"].ToString().PadLeft(8, '0')));
                    vPage.Add(40, 180, new RepString(vDrop, "Endereço: " + dados["CliEnd"].ToString()));
                    vPage.Add(40, 200, new RepString(vDrop, "Número do endereço:" + dados["CliEndNro"].ToString()));
                    vPage.Add(40, 220, new RepString(vDrop, "Bairro:" + dados["CliBairro"].ToString()));
                    vPage.Add(40, 240, new RepString(vDrop, "Cidade: " + dados["CliCid"].ToString()));
                    vPage.Add(40, 260, new RepString(vDrop, "Estado: " + dados["CliEst"].ToString()));
                    vPage.Add(40, 280, new RepString(vDrop, "Telefone: " + dados["CliTel"].ToString()));
                    vPage.Add(40, 300, new RepString(vDrop, "Email: " + dados["CliEmail"].ToString()));
                    vPage.Add(0, 310, new RepString(vDrop, "------------------------------------------------------------------------------------------------------------------------"));
                    vPage.Add(5, 320, new RepString(vDrop, "Informações Bancárias"));
                    vPage.Add(0, 330, new RepString(vDrop, "------------------------------------------------------------------------------------------------------------------------"));
                    vPage.Add(40, 340, new RepString(vDrop, "Banco: " + dados["CliBan"].ToString()));
                    vPage.Add(40, 360, new RepString(vDrop, "Favorecido: " + dados["CliFavo"].ToString()));
                    vPage.Add(40, 380, new RepString(vDrop, "Agência: " + dados["CliAgen"].ToString()));
                    vPage.Add(40, 400, new RepString(vDrop, "Conta Corrente: " + dados["CliCorren"].ToString()));
                    vPage.Add(0, 410, new RepString(vDrop, "------------------------------------------------------------------------------------------------------------------------"));
                    vPage.Add(0, 420, new RepString(vDrop, "Informações do plano"));
                    vPage.Add(0, 430, new RepString(vDrop, "------------------------------------------------------------------------------------------------------------------------"));
                    vPage.Add(40, 440, new RepString(vDrop, "Tipo Plano: " + cmbTipPlan.Text));
                    vPage.Add(40, 460, new RepString(vDrop, "Plano: " + cmbPlan.Text));
                    vPage.Add(40, 480, new RepString(vDrop, "Periodo: " + cmbDias.Text));
                    vPage.Add(40, 500, new RepString(vDrop, "Data Inicial: " + dateTimeInput1.Text));
                    vPage.Add(40, 520, new RepString(vDrop, "Quantidade de Pessoas: " + integerInput1.Text));
                    if (Planos_Detalhes.valor == 0)
                    {
                        vPage.Add(40, 540, new RepString(vDrop, "Valor: US$" + ((int.Parse(integerInput1.Text) * valor).ToString())));
                        vPage.Add(40, 560, new RepString(vDrop, "Valor: " + (((int.Parse(integerInput1.Text) * valor) * decimal.Parse(Variaveis.dolar.Replace(".", ","))).ToString("C3"))));
                        voucher.inserir_voucher_cli(int.Parse(cliente.selecionar_cliente(Variaveis.login).Rows[0]["CliCod"].ToString()), int.Parse(completarplan.selecionar_planos_voucher(cmbPlan.Text, cmbTipPlan.Text).Rows[0]["PlanCod"].ToString()), cmbDias.Text, integerInput1.Value, dateTimeInput1.Value.ToString("yyyy-MM-dd"), checkBoxX1.Checked, ((int.Parse(integerInput1.Text) * valor) * decimal.Parse(Variaveis.dolar.Replace(".", ","))), (int.Parse(integerInput1.Text) * valor));
                        //  MessageBox.Show(((int.Parse(integerInput1.Text) * valor) * decimal.Parse(Variaveis.dolar.Replace(".", ","))).ToString());
                    }
                    else
                    {
                        vPage.Add(40, 540, new RepString(vDrop, "Valor: US$" + Planos_Detalhes.valor.ToString()));
                        vPage.Add(40, 560, new RepString(vDrop, "Valor: " + ((Planos_Detalhes.valor) * decimal.Parse(Variaveis.dolar.Replace(".", ","))).ToString("C3")));
                        voucher.inserir_voucher_cli(int.Parse(cliente.selecionar_cliente(Variaveis.login).Rows[0]["CliCod"].ToString()), int.Parse(completarplan.selecionar_planos_voucher(cmbPlan.Text, cmbTipPlan.Text).Rows[0]["PlanCod"].ToString()), cmbDias.Text, integerInput1.Value, dateTimeInput1.Value.ToString("yyyy-MM-dd"), checkBoxX1.Checked, ((Planos_Detalhes.valor) * decimal.Parse(Variaveis.dolar.Replace(".", ","))), Planos_Detalhes.valor);
                        //  MessageBox.Show((completarplan.selecionar_planos_voucher(cmbPlan.Text, cmbTipPlan.Text).Rows[0]["PlanCod"].ToString()));
                        //  MessageBox.Show(((int.Parse(integerInput1.Text) * valor) * decimal.Parse(Variaveis.dolar.Replace(".", ","))).ToString());
                    }
                    vPage.Add(0, 570, new RepString(vDrop, "------------------------------------------------------------------------------------------------------------------------"));
                    vPage.Add(450, 580, new RepString(vDrop, "Data:" + DateTime.Now.ToShortDateString()));
                    vPdf.Save(vArq);

                    MessageBox.Show("Arquivo Gerado com sucesso !", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    Process.Start(vArq);
                    this.Close();
                }
                catch (Exception)
                {
                    MessageBox.Show("Erro ao Gerar arquivo !!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }

            else if (Variaveis.modacesso == "Agência")
            {
                try
                {
                    DataRow    dados;
                    AgenciaBLL agencia = new AgenciaBLL();
                    dados = agencia.selecionar_agencia(Variaveis.login, Variaveis.senha).Rows[0];
                    Report   vPdf  = new Report(new PdfFormatter());
                    FontDef  vDef  = new FontDef(vPdf, FontDef.StandardFont.TimesRoman);
                    FontProp vDrop = new FontProp(vDef, 10);
                    Page     vPage = new Page(vPdf);
                    vPage.AddCB_MM(15, new RepString(vDrop, "COMPROVANTE DE EMIÇÃO DE VOUCHER"));
                    vPage.Add(0, 60, new RepString(vDrop, "------------------------------------------------------------------------------------------------------------------------"));
                    vPage.Add(5, 70, new RepString(vDrop, "Informações da Empresa"));
                    vPage.Add(0, 80, new RepString(vDrop, "------------------------------------------------------------------------------------------------------------------------"));
                    vPage.Add(40, 100, new RepString(vDrop, "Razão Social: " + dados["AgenRazSoc"].ToString()));
                    vPage.Add(40, 120, new RepString(vDrop, "Nome Fantasia: " + dados["AgenNomFant"].ToString()));
                    vPage.Add(40, 140, new RepString(vDrop, "CNPJ: " + dados["AgenCnpj"].ToString()));
                    vPage.Add(40, 160, new RepString(vDrop, "CEP: " + dados["AgenEnd"].ToString()));
                    vPage.Add(40, 180, new RepString(vDrop, "Endereço: " + dados["AgenEnd"].ToString().PadLeft(8, '0')));
                    vPage.Add(40, 200, new RepString(vDrop, "Número: " + dados["AgenEndNum"].ToString()));
                    vPage.Add(40, 220, new RepString(vDrop, "Bairro: " + dados["AgenBairro"].ToString()));
                    vPage.Add(40, 240, new RepString(vDrop, "Cidade:" + dados["AgenCid"].ToString()));
                    vPage.Add(40, 260, new RepString(vDrop, "Estado: " + dados["AgenEst"].ToString()));
                    vPage.Add(40, 280, new RepString(vDrop, "Telefone:" + dados["AgenTel"].ToString()));
                    vPage.Add(40, 300, new RepString(vDrop, "Email: " + dados["AgenEmail"].ToString()));
                    vPage.Add(40, 320, new RepString(vDrop, "Responsável pelo cadastro: " + dados["AgenRespCad"].ToString()));
                    vPage.Add(40, 340, new RepString(vDrop, "RG do Responsável pelo cadastro: " + dados["AgenRgResp"].ToString()));
                    vPage.Add(40, 360, new RepString(vDrop, "Suplente: " + dados["AgenNomSuple"].ToString()));
                    vPage.Add(40, 380, new RepString(vDrop, "RG do suplente: " + dados["AgenRgSuple"].ToString()));
                    vPage.Add(0, 390, new RepString(vDrop, "------------------------------------------------------------------------------------------------------------------------"));
                    vPage.Add(5, 400, new RepString(vDrop, "Informações Bancárias"));
                    vPage.Add(0, 410, new RepString(vDrop, "------------------------------------------------------------------------------------------------------------------------"));
                    vPage.Add(40, 420, new RepString(vDrop, "Banco: " + dados["AgenBan"].ToString()));
                    vPage.Add(40, 440, new RepString(vDrop, "Favorecido: " + dados["AgenFavo"].ToString()));
                    vPage.Add(40, 460, new RepString(vDrop, "Agência: " + dados["AgenNro"].ToString()));
                    vPage.Add(40, 480, new RepString(vDrop, "Conta Corrente: " + dados["AgenContCor"].ToString()));
                    vPage.Add(0, 490, new RepString(vDrop, "------------------------------------------------------------------------------------------------------------------------"));
                    vPage.Add(0, 500, new RepString(vDrop, "Informações do plano"));
                    vPage.Add(0, 510, new RepString(vDrop, "------------------------------------------------------------------------------------------------------------------------"));
                    vPage.Add(40, 520, new RepString(vDrop, "Tipo Plano: " + cmbTipPlan.Text));
                    vPage.Add(40, 540, new RepString(vDrop, "Plano: " + cmbPlan.Text));
                    vPage.Add(40, 560, new RepString(vDrop, "Periodo: " + cmbDias.Text));
                    vPage.Add(40, 580, new RepString(vDrop, "Data Inicial: " + dateTimeInput1.Text));
                    vPage.Add(40, 600, new RepString(vDrop, "Quantidade de Pessoas: " + integerInput1.Text));
                    if (Planos_Detalhes.valor == 0)
                    {
                        vPage.Add(40, 620, new RepString(vDrop, "Valor: US$" + ((int.Parse(integerInput1.Text) * valor).ToString())));
                        vPage.Add(40, 640, new RepString(vDrop, "Valor: " + (((int.Parse(integerInput1.Text) * valor) * decimal.Parse(Variaveis.dolar.Replace(".", ","))).ToString("C3"))));
                        //MessageBox.Show(((int.Parse(integerInput1.Text) * valor) * decimal.Parse(Variaveis.dolar.Replace(".", ","))).ToString());
                        voucher.inserir_voucher_agen(int.Parse(agencia.selecionar_agencia(Variaveis.login, Variaveis.senha).Rows[0]["AgenCod"].ToString()), int.Parse(completarplan.selecionar_planos_voucher(cmbPlan.Text, cmbTipPlan.Text).Rows[0]["PlanCod"].ToString()), cmbDias.Text, integerInput1.Value, dateTimeInput1.Value.ToString("yyyy-MM-dd"), checkBoxX1.Checked, (((int.Parse(integerInput1.Text) * valor) * decimal.Parse(Variaveis.dolar.Replace(".", ",")))), ((int.Parse(integerInput1.Text) * valor)));
                    }
                    else
                    {
                        vPage.Add(40, 620, new RepString(vDrop, "Valor: US$" + Planos_Detalhes.valor.ToString()));
                        vPage.Add(40, 640, new RepString(vDrop, "Valor: " + ((Planos_Detalhes.valor) * decimal.Parse(Variaveis.dolar.Replace(".", ","))).ToString("C3")));
                        voucher.inserir_voucher_agen(int.Parse(agencia.selecionar_agencia(Variaveis.login, Variaveis.senha).Rows[0]["AgenCod"].ToString()), int.Parse(completarplan.selecionar_planos_voucher(cmbPlan.Text, cmbTipPlan.Text).Rows[0]["PlanCod"].ToString()), cmbDias.Text, integerInput1.Value, dateTimeInput1.Value.ToString("yyyy-MM-dd"), checkBoxX1.Checked, ((Planos_Detalhes.valor) * decimal.Parse(Variaveis.dolar.Replace(".", ","))), Planos_Detalhes.valor);
                        //voucher.inserir_voucher_agen(int.Parse(agencia.selecionar_agencia(Variaveis.login,Variaveis.senha).Rows[0]["AgenCod"].ToString()), cmbTipPlan.Text, cmbPlan.Text, cmbDias.Text, integerInput1.Value, dateTimeInput1.Value.ToString("yyyy-MM-dd"), checkBoxX1.Checked);
                        //MessageBox.Show(((int.Parse(integerInput1.Text) * valor) * decimal.Parse(Variaveis.dolar.Replace(".", ","))).ToString());
                    }
                    vPage.Add(0, 650, new RepString(vDrop, "------------------------------------------------------------------------------------------------------------------------"));
                    vPage.Add(450, 660, new RepString(vDrop, "Data:" + DateTime.Now.ToShortDateString()));
                    vPdf.Save(vArq);
                    //voucher.inserir_voucher_agen(int.Parse(agencia.selecionar_agencia(Variaveis.login, Variaveis.senha).Rows[0]["AgenCod"].ToString()), int.Parse(completarplan.selecionar_planos(cmbPlan.Text, cmbTipPlan.Text).Rows[0]["PlanCod"].ToString()), cmbTipPlan.Text, cmbPlan.Text, cmbDias.Text, integerInput1.Value, dateTimeInput1.Value.ToString("yyyy-MM-dd"), checkBoxX1.Checked, (((int.Parse(integerInput1.Text) * valor) * decimal.Parse(Variaveis.dolar.Replace(".", ",")))), ((int.Parse(integerInput1.Text) * valor)));
                    MessageBox.Show("Arquivo Gerado com sucesso !", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    Process.Start(vArq);
                    this.Close();
                }
                catch (Exception)
                {
                    MessageBox.Show("Erro ao Gerar arquivo !!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }
Ejemplo n.º 29
0
        // Insert the list of definitions on the given page.
        private double InsertDefinitions(FontDef fontDefinition, Page page, double verticalMillimeters)
        {
            const double FontSize = 8.0D;
            const double FooterWidthMillimeters = 6.5D * 25.4D;

            FontProp font = new FontProp(fontDefinition, 0.0D);
            StringBuilder builder;
            int lengthWithoutWord;
            double lineHeightMillimeters;

            string definitionsText = "Good: Measurements received which are neither latched nor unreasonable." + Environment.NewLine +
                                     "Latched: Measurements received which have maintained the same value for an extended period of time." + Environment.NewLine +
                                     "Unreasonable: Measurements received whose values have fallen outside of the range defined by reasonability constraints." + Environment.NewLine +
                                     "Correctness: Percentage of good measurements over total measurements expected, per device.";

            // Break the definitions text into lines
            string[] lines = definitionsText.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);

            // Set font size and line spacing
            font.rSizePoint = FontSize;
            lineHeightMillimeters = 1.5D * font.rSizeMM;

            foreach (string line in lines)
            {
                // String builder will be used to determine if the line is too wide to fit
                // on the page, and to break the line into multiple lines if necessary
                builder = new StringBuilder();

                // Break the line into words
                foreach (string word in line.Split())
                {
                    // Store the length of the line without an additional word so we can restore
                    // the original line if the additional word makes the line too long to fit
                    lengthWithoutWord = builder.Length;

                    // Add white space if this is not the first word in the line
                    if (builder.Length > 0)
                        builder.Append(' ');

                    // Add the word to the line
                    builder.Append(word);

                    // If the line is too long, put the original line onto the page and
                    // trim the string builder down to only the word we just added
                    if (font.rGetTextWidthMM(builder.ToString()) > FooterWidthMillimeters)
                    {
                        page.AddMM(PageMarginMillimeters, verticalMillimeters + font.rSizeMM, new RepString(font, builder.ToString(0, lengthWithoutWord)));
                        builder.Remove(0, lengthWithoutWord);
                        builder.Insert(0, "             ");
                        verticalMillimeters += lineHeightMillimeters;
                    }
                }
                
                // Add the remainder of the line to the page.
                page.AddMM(PageMarginMillimeters, verticalMillimeters + font.rSizeMM, new RepString(font, builder.ToString()));
                verticalMillimeters += 1.5D * lineHeightMillimeters;
            }

            return 0.0D;
        }
Ejemplo n.º 30
0
        /// <summary>
        /// Añade una nueva linea en la posicion donde se encuentra posicionado el cursor
        /// </summary>
        /// <param name="p_Texto">Linea a escribir</param>
        /// <param name="p_Font">Fuente del texto</param>
        /// <param name="p_Pagina">Pagina en la que se desea escribir</param>
        /// <param name="p_Reporte">Archivo sobre el que se esta escribiendo</param>
        /// <returns>Pagina actual</returns>
        private Page InsertarLinea(String p_Texto, FontProp p_Font, Page p_Pagina, Report p_Reporte)
        {
            if (_dRy >= _dMaxRy)
            {
                p_Pagina = new Page(p_Reporte);
                _dRy = 60;
            }

            if (p_Texto.Length <= 80)
            {
                p_Pagina.Add(_dRx, _dRy, new RepString(p_Font, p_Texto));
                _dRy += p_Font.rLineFeedMM;
            }
            else
            {
                p_Pagina.Add(_dRx, _dRy, new RepString(p_Font, p_Texto.Substring(0, 80)));
                _dRy += p_Font.rLineFeedMM;
                InsertarLinea(p_Texto.Substring(80, p_Texto.Length - 80), p_Font, p_Pagina, p_Reporte);
            }
            return p_Pagina;
        }