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; }
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; }