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()); } }
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"); } }