Exemplo n.º 1
0
        public override void Start()
        {
            try
            {
                object documento = (object)base.m_ObjectFlow;
                if (!(documento.GetType().GetProperty("TipoDocumento") == null))
                {
                    TipoDocumento tipoDocumento = (TipoDocumento)documento.GetType().GetProperty("TipoDocumento").GetValue(documento, null);
                    EReporte      reporte       = tipoDocumento.Reporte;
                    String        sql           = reporte.SQL;

                    foreach (ParametroReporte parametro in reporte.ParametrosSQL)
                    {
                        sql = sql.Replace(parametro.Nombre, documento.GetType().GetProperty(parametro.Propiedad).GetValue(documento, null).ToString());//.ValueByProperty(parametro.Propiedad).ToString());
                    }

                    ReportDocument reportDocument = new ReportDocument();
                    reportDocument.Load(String.Format("{0}{1}", FrmMain.CarpetaReportes, reporte.Ubicacion));
                    reportDocument.SetDataSource(HelperNHibernate.GetDataSet(sql));

                    foreach (ParametroReporte parametro in reporte.ParametrosCrystal)
                    {
                        reportDocument.SetParameterValue(parametro.Nombre, parametro.Valor);
                    }

                    FrmMain.MostrarReporte(reporte.Nombre, reportDocument);
                }
                else
                {
                    throw new Exception("No se ha seleccionado ningún Documento ...");
                }

                base.m_ResultProcess = EnumResult.SUCESS;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Source);
                MessageBox.Show(ex.InnerException.Message);
            }
            base.Start();
        }
Exemplo n.º 2
0
        public override void Start()
        {
            try
            {
                if (string.IsNullOrEmpty(base.m_Parameter))
                {
                    if (base.m_ObjectFlow is CReporte)
                    {
                        CReporte       Reporte        = (CReporte)base.m_ObjectFlow;
                        String         SQL            = Reporte.SQL;
                        ReportDocument ReportDocument = new ReportDocument();
                        ReportDocument.Load(String.Format("{0}{1}", FrmMain.CarpetaReportes, Reporte.Ubicacion));
                        foreach (ParametroReporte Parametro in Reporte.ParametrosSQL)
                        {
                            SQL = SQL.Replace(Parametro.Nombre, Parametro.Valor);
                        }

                        if (SQL.Trim().Length > 0)
                        {
                            ReportDocument.SetDataSource(HelperNHibernate.GetDataSet(SQL));
                        }

                        foreach (ParametroReporte Parametro in Reporte.ParametrosCrystal)
                        {
                            ReportDocument.SetParameterValue(Parametro.Nombre, Parametro.Valor);
                        }
                        FrmMain.MostrarReporte(Reporte.Nombre, ReportDocument);
                    }
                    else
                    {
                        throw new Exception("No se ha seleccionado ningún Reporte ...");
                    }
                }
                else
                {
                    CReporte reporte = ObtenerReporte();
                    String   sql     = reporte.SQL;

                    foreach (ParametroReporte parametro in reporte.ParametrosSQL)
                    {
                        sql = sql.Replace(parametro.Nombre, base.m_ObjectFlow.GetType().GetProperty(parametro.Propiedad).GetValue(base.m_ObjectFlow, null).ToString());//.ValueByProperty(parametro.Propiedad).ToString());
                    }

                    ReportDocument reportDocument = new ReportDocument();
                    reportDocument.Load(String.Format("{0}{1}", FrmMain.CarpetaReportes, reporte.Ubicacion));
                    reportDocument.SetDataSource(HelperNHibernate.GetDataSet(sql));

                    foreach (ParametroReporte parametro in reporte.ParametrosCrystal)
                    {
                        reportDocument.SetParameterValue(parametro.Nombre, parametro.Valor);
                    }

                    FrmMain.MostrarReporte(reporte.Nombre, reportDocument);
                }
                base.m_ResultProcess = EnumResult.SUCESS;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Source);
                MessageBox.Show(ex.InnerException.Message);
            }
        }