コード例 #1
0
ファイル: ReporteData.cs プロジェクト: marianoir/ReportesCore
        public static Reporte GetReporte(int id)
        {
            Reporte reporte = new Reporte();
            Cabecera cabecera = new Cabecera();
            List<Parametro> parametros = new List<Parametro>();
            List<Filtro> filtros = new List<Filtro>();
            Origen origen = new Origen();

            string path = "f:\\proyectospuntonet\\reportesfrontend\\ConfiguracionReportes\\Reporte_" + id + ".xml";
            XmlDocument xml = OrigenDatos.GetXml(path);

            XmlNode root = xml.DocumentElement;
            reporte.Cabecera = cabecera;

            reporte.ID_Reporte = id;
            reporte.Cabecera.Descripcion = root.SelectNodes("/Configuracion/Cabecera/Descripcion").Item(0).InnerText;
            reporte.Cabecera.Nombre = root.SelectNodes("/Configuracion/Cabecera/Nombre").Item(0).InnerText;

            foreach (XmlNode nodo in root.SelectNodes("/Configuracion/Cabecera/Parametros"))
            {
                Parametro param = new Parametro();
                param.Nombre = nodo.SelectNodes("Parametro/NombreParametro").Item(0).InnerText;
                param.OrdenEjecucion = Convert.ToInt16(nodo.SelectNodes("Parametro/OrdenEjecucion").Item(0).InnerText);
                param.Tipo = (TipoGetDato) Convert.ToInt16(nodo.SelectNodes("Parametro/TipoParametro").Item(0).InnerText);
                param.Tipodato = Convert.ToInt16(nodo.SelectNodes("Parametro/TipoDato").Item(0).InnerText);
                parametros.Add(param);

            }

            foreach (XmlNode nodo in root.SelectNodes("/Configuracion/Filtros"))
            {
                Filtro filtro = new Filtro();
                filtro.Nombre = nodo.SelectNodes("Filtro/Nombre").Item(0).InnerText;
                filtro.Label = nodo.SelectNodes("Filtro/Label").Item(0).InnerText;
                filtro.TipoOrigen = Convert.ToInt16(nodo.SelectNodes("Filtro/TipoDato").Item(0).InnerText);
                filtro.LongitudMaxima = Convert.ToInt16(nodo.SelectNodes("Filtro/LongitudMaxima").Item(0).InnerText);
                filtro.Obligatorio = true;//Convert.ToInt16(nodo.SelectNodes("Filtro/Obligatorio").Item(0).InnerText);
                filtro.OrigenDatos = nodo.SelectNodes("Filtro/OrigenDatos").Item(0).InnerText;
                filtros.Add(filtro);
            }
            origen.Parametros = parametros;
            origen.OrigenDatos = root.SelectNodes("/Configuracion/Cabecera/OrigenDatos").Item(0).InnerText;
            origen.PaginadoAutomatico = Convert.ToInt16(root.SelectNodes("/Configuracion/Cabecera/PaginadoAutomatico").Item(0).InnerText);
            origen.Tipo = (TipoOrigenDatos) Convert.ToInt16(root.SelectNodes("/Configuracion/Cabecera/TipoOrigen").Item(0).InnerText); ;

            reporte.Filtros = filtros;
            reporte.Origen = origen;

            return reporte;
        }
コード例 #2
0
        public Origen GetOrigen()
        {
            Origen origen = new Origen();
            origen.Tipo = (TipoOrigenDatos)Convert.ToInt16(TipoOrigen.SelectedValue);
            origen.OrigenDatos = OrigenDato.Text;
            List<Parametro> listaParams = new List<Parametro>();

            //No tiene datos, tomos los nuevos.
            if (Parametro.Rows.Count == 0)
            {
                // Toma los datos del empty template.
                TextBox NombreParamNuevo = (TextBox)Parametro.Controls[0].Controls[0].FindControl("NombreParamNuevo");
                DropDownList ComboTipoGetDatoNuevo = (DropDownList)Parametro.Controls[0].Controls[0].FindControl("ComboTipoGetDatoNuevo");
                TextBox LongitudNuevo = (TextBox)Parametro.Controls[0].Controls[0].FindControl("LongitudNuevo");
                Parametro p = new Parametro();
                p.Nombre = NombreParamNuevo.Text;
                p.Tipodato = Convert.ToInt16(ComboTipoGetDatoNuevo.SelectedValue);
                p.OrdenEjecucion = 1;
                p.Tipo = TipoGetDato.POST;
                listaParams.Add(p);
            }

            foreach (GridViewRow r in Parametro.Rows)
            {
                TextBox titulo = (TextBox)r.FindControl("NombreParam");
                TextBox campodb = (TextBox)r.FindControl("ComboTipoGetDato");
                TextBox longitud = (TextBox)r.FindControl("Longitud");
                DropDownList tipocampo = (DropDownList)r.FindControl("TipoCampo");
                Parametro p = new Parametro();
                p.Nombre = titulo.Text;
                p.Tipodato = Convert.ToInt16(tipocampo.SelectedValue);
                p.OrdenEjecucion = 1;
                p.Tipo = TipoGetDato.POST;
                listaParams.Add(p);
            }
            origen.Parametros = listaParams;
            return origen;
        }