コード例 #1
0
        private void LeerReporte()
        {
            try
            {
                //Actaulizacion de reporte
                using (var form = new FrmReporte(false, reporte))
                {
                    if (form.ShowDialog() == DialogResult.OK)
                    {
                        Ambiente.Mensaje("Reporte actualziado.");
                    }
                }


                //Inicializa objetos
                stiReport = new StiReport();
                if (reporte.Parametrizado)
                {
                    parametros = reporteController.DeSerializar(reporte.Sql);
                    foreach (var p in parametros)
                    {
                        using (var form = new FrmSolicitudParam(p.Clave))
                        {
                            if (form.ShowDialog() == DialogResult.OK)
                            {
                                p.Valor = form.Valor.Trim();
                            }
                        }
                    }
                }

                sql = reporteController.Serializar(reporte.Sql, parametros);
                ds  = reporteController.GetDataSet(sql);

                //Add data to datastore
                stiReport.LoadEncryptedReportFromString(reporte.Codigo, reporte.SecuenciaCifrado);
                stiReport.RegData("DS", "DS", ds);
                //Fill dictionary
                stiReport.Dictionary.Synchronize();
                ReportDesigner.Report = stiReport;
            }
            catch (Exception ex)
            {
                Ambiente.Mensaje(ex.ToString());
            }
        }
コード例 #2
0
        private void Guardar()
        {
            if (TxtNomre.Text.Trim().Length == 0)
            {
                Ambiente.Mensaje("Debe informar el nombre");
                return;
            }
            if (TxtDescripcion.Text.Trim().Length == 0)
            {
                Ambiente.Mensaje("Debe informar la descripcion");
                return;
            }
            if (TxtQuery.Text.Trim().Length == 0)
            {
                Ambiente.Mensaje("Debe informar el query");
                return;
            }

            ProbarSql();
            if (reporteController.TestQuery(sql))
            {
                try
                {
                    #region Nuevo Reporte
                    if (modoCreate)
                    {
                        //Inicializa objetos
                        reporte.SecuenciaCifrado = reporteController.GeneraSecuencia();
                        reporte.Sql           = TxtQuery.Text.Trim();
                        reporte.Rtf           = TxtQuery.Rtf;
                        reporte.Nombre        = TxtNomre.Text.Trim();
                        reporte.Descripcion   = TxtDescripcion.Text.Trim();
                        reporte.Parametrizado = parametros.Count > 0 ? true : false;
                        ds = reporteController.GetDataSet(sql);

                        //Add data to datastore
                        stiReport.RegData("DS", "DS", ds);
                        //Fill dictionary
                        stiReport.Dictionary.Synchronize();

                        //Generar el codigo del reporte
                        reporte.Codigo = stiReport.SaveEncryptedReportToString(reporte.SecuenciaCifrado);

                        Reporte      = reporte;
                        StiReport    = stiReport;
                        DialogResult = DialogResult.OK;
                    }
                    else
                    {
                        #region Actualizar Reporte
                        reporte.Sql           = TxtQuery.Text.Trim();
                        reporte.Rtf           = TxtQuery.Rtf;
                        reporte.Nombre        = TxtNomre.Text.Trim();
                        reporte.Descripcion   = TxtDescripcion.Text.Trim();
                        reporte.Parametrizado = parametros.Count > 0 ? true : false;
                        reporte.Codigo        = stiReport.SaveEncryptedReportToString(reporte.SecuenciaCifrado);
                        if (reporteController.Update(reporte))
                        {
                            DialogResult = DialogResult.OK;
                        }
                        #endregion
                    }
                    #endregion
                }
                catch (Exception ex)
                {
                    Ambiente.Mensaje(ex.ToString());
                }
            }
            else
            {
                Ambiente.Mensaje("Proceso abortado, SQL incorrecto");
            }
        }