public static void CamposTransaccionxEtapa(ref CamposTransaccion campos) { SqlConnection connection = null; DataTable CamposComplemento = new DataTable(); List <Entidades.CampCabecera> ListaCamposComplementoCab = new List <Entidades.CampCabecera>(); List <Entidades.CampDetalle> ListaCamposComplementoDet = new List <Entidades.CampDetalle>(); SqlDataReader consulta; try { DataTable dt = new DataTable(); dt.Columns.Add("idCampo"); dt.Columns.Add("idnivel"); dt.Columns.Add("nombreCampo"); dt.Columns.Add("descripcionCampo"); dt.Columns.Add("tipoDato"); dt.Columns.Add("visualisacion"); dt.Columns.Add("tipoOperacion"); dt.Columns.Add("activo"); dt.Columns.Add("longitudCampo"); dt.Columns.Add("visible"); dt.Columns.Add("editable"); dt.Columns.Add("obligatorio"); dt.Columns.Add("CadenaComplementos"); dt.Columns.Add("formula"); dt.Columns.Add("TipoTransaccion").DataType = typeof(string); dt.Columns.Add("IdReferencia"); dt.Columns.Add("NombreReferencia"); // dt.Columns["TipoTransaccion"].DataType = typeof(Int64); using (connection = Conexion.ObtieneConexion("ConexionBD")) { connection.Open(); consulta = Ejecuta.ConsultaConRetorno(connection, "SELECT DISTINCT CDT.idCampo," + " CDT.idNivel," + " nombreCampo," + " CDT.descripcion AS descripcionCampo," + " TDC.descripcion as tipoDato," + " TIP.descripcion as tipoOperacion" + " , CDT.[activo]" + " ,[longitudCampo]" + " ,[visible]" + " ,[editable]" + " , (select CASE" + " WHEN([obligatorio]) = 1 THEN 'required'" + " WHEN([obligatorio]) = 0 THEN ''" + " END ) as obligatorio" + " , F.cadenaGenerada as formula" + " , VTT.componente AS visualisacion, " + " RNCT.idTipoTransaccionReferencia as TipoTransaccion," + " RNCT.cadenaJsonHijos as CadenaComplementos," + " RNCT.idReferencia as IdReferencia," + " RNCT.nombreReferencia as NombreReferencia" + " FROM" + " Configuracion.TiposTransacciones TT" + " INNER JOIN Configuracion.CamposDinamicosTransacciones CDT" + " ON CDT.idTipoTransaccion = TT.idTipoTransaccion" + " INNER JOIN Configuracion.NivelTransacciones NT ON" + " NT.idNivel = CDT.idNivel" + " INNER JOIN Configuracion.TiposDatoCampos TDC" + " ON TDC.idTipoDatoCampo = CDT.idTipoDatoCampo" + " INNER JOIN Configuracion.CategoriaTipoTransaccion CT" + " ON CT.idCatTipoTransac = TT.idCatTipoTransac" + " INNER JOIN Configuracion.TiposOperaciones TIP" + " ON TIP.idTipoOperacion = CDT.idTipoOperacion" + " INNER JOIN Configuracion.ReglasNegocioCamposxTipoTransaccion RNCT" + " ON RNCT.idTipoTransaccion = TT.idTipoTransaccion" + " AND RNCT.idTipoTransaccion = CDT.idTipoTransaccion" + " AND RNCT.idCampo = CDT.idCampo" + " INNER JOIN Configuracion.VisualizacionTipoTransacciones VTT" + " ON VTT.idVisualizacion = RNCT.idVisualizacion" + " left join Configuracion.Formulas F" + " on f.idTipoTransaccion = TT.idTipoTransaccion" + " and f.idCampo = CDT.idCampo" + " INNER JOIN Configuracion.EtapasAccionesTipoTransacciones EATT" + " ON EATT.idEtapa = RNCT.idEtapa" + " AND EATT.idTipoTransaccion = RNCT.idTipoTransaccion" + " INNER JOIN Configuracion.EtapasTipoTransaccion ETT" + " ON ETT.idEtapa = RNCT.idEtapa" + " AND ETT.idTipoTransaccion = RNCT.idTipoTransaccion" + " INNER JOIN Configuracion.AccionesTipoTransaccion ATT" + " ON ATT.idAccion = EATT.idAccion" + " AND ATT.idTipoTransaccion = RNCT.idTipoTransaccion" + " INNER JOIN Configuracion.MAETransacciones MAE" + " ON MAE.idTipoTransaccion = TT.idTipoTransaccion" + " WHERE MAE.idTransaccion = '" + campos.idTrasaccion + "'" + " AND RNCT.visible = 1 AND EATT.idEtapa <> (SELECT idEtapa FROM Configuracion.MAETransacciones WHERE idTransaccion = '" + campos.idTrasaccion + "')"); CamposComplemento.Load(consulta); connection.Close(); if (CamposComplemento.Rows.Count > 0) { DataRow newRow = dt.NewRow(); newRow["idCampo"] = "1"; newRow["idnivel"] = "2"; newRow["nombreCampo"] = "Idrows"; newRow["descripcionCampo"] = "Identificador"; newRow["tipoDato"] = "Text"; newRow["visualisacion"] = "combobox"; newRow["tipoOperacion"] = "CampoAbierto"; newRow["activo"] = "True"; newRow["longitudCampo"] = "50"; newRow["visible"] = "True"; newRow["editable"] = "True"; newRow["obligatorio"] = "required"; newRow["CadenaComplementos"] = ""; newRow["formula"] = ""; newRow["TipoTransaccion"] = campos.idTrasaccion; newRow["IdReferencia"] = "idrow"; newRow["NombreReferencia"] = "idrow"; dt.Rows.Add(newRow); foreach (DataRow row in CamposComplemento.Rows) { DataRow rows = dt.NewRow(); rows["idCampo"] = row["idCampo"]; rows["idnivel"] = row["idnivel"]; rows["nombreCampo"] = row["nombreCampo"]; rows["descripcionCampo"] = row["descripcionCampo"]; rows["tipoDato"] = row["tipoDato"]; rows["visualisacion"] = row["visualisacion"]; rows["tipoOperacion"] = row["tipoOperacion"]; rows["activo"] = row["activo"]; rows["longitudCampo"] = row["longitudCampo"]; rows["visible"] = row["visible"]; rows["editable"] = row["editable"]; rows["obligatorio"] = row["obligatorio"]; rows["CadenaComplementos"] = row["CadenaComplementos"]; rows["formula"] = row["formula"]; rows["TipoTransaccion"] = row["TipoTransaccion"]; rows["IdReferencia"] = row["IdReferencia"]; rows["NombreReferencia"] = row["NombreReferencia"]; dt.Rows.Add(rows); } DataSet dtCampos = new DataSet(); dtCampos.Tables.Add(CamposComplemento); //Datos Cabecera if (1 == (int)nivel.cabecera) { foreach (DataRow Campo in dt.Rows) { if ((Convert.ToInt32(Campo["idnivel"].ToString())) == (int)Entidades.nivel.cabecera) { Entidades.CampCabecera CampoCabecera = new Entidades.CampCabecera(); //Transact.Entidades CampoCabecera.idCampo = Convert.ToInt32(Campo["idCampo"].ToString()); CampoCabecera.idnivel = Convert.ToInt32(Campo["idnivel"].ToString()); CampoCabecera.nombreCampo = Campo["nombreCampo"].ToString(); CampoCabecera.descripcionCampo = Campo["descripcionCampo"].ToString(); CampoCabecera.TipoDatoCampo = Campo["tipoDato"].ToString(); CampoCabecera.Visualisacion = Campo["visualisacion"].ToString(); CampoCabecera.TipoOperacion = Campo["tipoOperacion"].ToString(); CampoCabecera.activo = Convert.ToBoolean(Campo["activo"].ToString()); CampoCabecera.logitudCampo = Convert.ToDouble(Campo["longitudCampo"].ToString()); CampoCabecera.visible = Convert.ToBoolean(Campo["visible"].ToString()); CampoCabecera.editable = Convert.ToBoolean(Campo["editable"].ToString()); CampoCabecera.obligatorio = Campo["obligatorio"].ToString(); if (Campo["CadenaComplementos"].ToString() != "") { CampoCabecera.CadenaComplementos = Campo["CadenaComplementos"].ToString(); } if (Campo["formula"].ToString() != "") { CampoCabecera.formula = Campo["formula"].ToString(); } if (Campo["TipoTransaccion"].ToString() != "") { CampoCabecera.TransaccionReferencia = Campo["TipoTransaccion"].ToString(); CampoCabecera.idRef = Campo["IdReferencia"].ToString(); CampoCabecera.nomRef = Campo["NombreReferencia"].ToString(); } ListaCamposComplementoCab.Add(CampoCabecera); } if ((Convert.ToInt32(Campo["idnivel"].ToString())) == (int)Entidades.nivel.detalle) { Entidades.CampDetalle CampoDet = new Entidades.CampDetalle(); CampoDet.idCampo = Convert.ToInt32(Campo["idCampo"].ToString()); CampoDet.idnivel = Convert.ToInt32(Campo["idnivel"].ToString()); CampoDet.nombreCampo = Campo["nombreCampo"].ToString(); CampoDet.descripcionCampo = Campo["descripcionCampo"].ToString(); CampoDet.TipoDatoCampo = Campo["tipoDato"].ToString(); CampoDet.Visualisacion = Campo["visualisacion"].ToString(); CampoDet.TipoOperacion = Campo["tipoOperacion"].ToString(); CampoDet.activo = Convert.ToBoolean(Campo["activo"].ToString()); CampoDet.logitudCampo = Convert.ToDouble(Campo["longitudCampo"].ToString()); CampoDet.visible = Convert.ToBoolean(Campo["visible"].ToString()); CampoDet.editable = Convert.ToBoolean(Campo["editable"].ToString()); CampoDet.obligatorio = Campo["obligatorio"].ToString(); if (Campo["CadenaComplementos"].ToString() != "") { CampoDet.CadenaComplementos = Campo["CadenaComplementos"].ToString(); } if (Campo["formula"].ToString() != "") { CampoDet.formula = Campo["formula"].ToString(); } if (Campo["TipoTransaccion"].ToString() != "") { CampoDet.TransaccionReferencia = Campo["TipoTransaccion"].ToString(); CampoDet.idRef = Campo["IdReferencia"].ToString(); CampoDet.nomRef = Campo["NombreReferencia"].ToString(); } ListaCamposComplementoDet.Add(CampoDet); } } } campos.CamposCabecera = ListaCamposComplementoCab.ToArray(); campos.CamposDetalle = ListaCamposComplementoDet.ToArray(); } else { campos.CamposCabecera = ListaCamposComplementoCab.ToArray(); campos.CamposDetalle = ListaCamposComplementoDet.ToArray(); } } } catch (Exception ex) { Console.WriteLine("" + ex.Message, ex); throw; } }
public static void CamposTransaccion(ref Entidades.CamposTransaccion campos) { SqlConnection connection = null; DataTable CamposComplemento = new DataTable(); Console.WriteLine(CamposComplemento); List <Entidades.CampCabecera> ListaCamposComplementoCab = new List <Entidades.CampCabecera>(); List <Entidades.CampDetalle> ListaCamposComplementoDet = new List <Entidades.CampDetalle>(); try { using (connection = Conexion.ObtieneConexion("ConexionBD")) { var parametros = new[] { ParametroAcceso.CrearParametro("@idTransaccion", SqlDbType.Int, campos.idTipoTrasaccion, ParameterDirection.Input) }; connection.Open(); CamposComplemento = Ejecuta.EjecutarConsulta(connection, parametros, "[dbo].[SpObtener_x_Transacciones]"); connection.Close(); if (CamposComplemento.Rows.Count > 0) { DataSet dtCampos = new DataSet(); dtCampos.Tables.Add(CamposComplemento); //Datos Cabecera if (1 == (int)Entidades.nivel.cabecera) { foreach (DataRow Campo in CamposComplemento.Rows) { if ((Convert.ToInt32(Campo["idnivel"].ToString())) == (int)Entidades.nivel.cabecera) { Entidades.CampCabecera CampoCabecera = new Entidades.CampCabecera(); CampoCabecera.idCampo = Convert.ToInt32(Campo["idCampo"].ToString()); CampoCabecera.idnivel = Convert.ToInt32(Campo["idnivel"].ToString()); CampoCabecera.nombreCampo = Campo["nombreCampo"].ToString(); CampoCabecera.TipoDatoCampo = Campo["idTipoDatoCampo"].ToString(); CampoCabecera.TipoOperacion = Campo["idTipoOperacion"].ToString(); CampoCabecera.activo = Convert.ToBoolean(Campo["activo"].ToString()); ListaCamposComplementoCab.Add(CampoCabecera); } if ((Convert.ToInt32(Campo["idnivel"].ToString())) == (int)Entidades.nivel.detalle) { Entidades.CampDetalle CampoDet = new Entidades.CampDetalle(); CampoDet.idCampo = Convert.ToInt32(Campo["idCampo"].ToString()); CampoDet.idnivel = Convert.ToInt32(Campo["idnivel"].ToString()); CampoDet.nombreCampo = Campo["nombreCampo"].ToString(); CampoDet.TipoDatoCampo = Campo["idTipoDatoCampo"].ToString(); CampoDet.TipoOperacion = Campo["idTipoOperacion"].ToString(); CampoDet.activo = Convert.ToBoolean(Campo["activo"].ToString()); ListaCamposComplementoDet.Add(CampoDet); } } } campos.CamposCabecera = ListaCamposComplementoCab.ToArray(); campos.CamposDetalle = ListaCamposComplementoDet.ToArray(); } else { campos.CamposCabecera = ListaCamposComplementoCab.ToArray(); campos.CamposDetalle = ListaCamposComplementoDet.ToArray(); } } } catch (Exception ex) { Console.WriteLine(ex); throw; } }