private void CargarInferencia() { TuCuento.Entidades.HistoriaDetalle oDetalle = new TuCuento.Entidades.HistoriaDetalle(); List<TuCuento.Entidades.Condicion> oLstCond = new List<TuCuento.Entidades.Condicion>(); TuCuento.Entidades.Condicion oCondicion; TuCuento.Entidades.CondicionValPosible oValPosible; DropDownList ddlVPosible; foreach (GridViewRow grdRow in gvCondiciones.Rows) { //Obtengo el combo ddlVPosible = (DropDownList)(gvCondiciones.Rows[grdRow.RowIndex].Cells[1].FindControl("ddlValPosible")); if (Convert.ToInt32(ddlVPosible.SelectedValue) > 0) { oCondicion = new TuCuento.Entidades.Condicion(); oValPosible = new TuCuento.Entidades.CondicionValPosible(); oValPosible.nCod_ValPosible = Convert.ToInt32(ddlVPosible.SelectedValue); oValPosible.sOperadorLogico = ddlVPosible.SelectedItem.Text.Substring(0, 2); oValPosible.sValor = ddlVPosible.SelectedItem.Text.Substring(2); //Obtengo el nCod_Condicion oCondicion.nCod_Condicion = Convert.ToInt32(Server.HtmlDecode(grdRow.Cells[0].Text.Trim())); oCondicion.sNombre = Server.HtmlDecode(grdRow.Cells[1].Text.Trim()); oCondicion.lstValPosible = new List<TuCuento.Entidades.CondicionValPosible>(); oCondicion.lstValPosible.Add(oValPosible); oLstCond.Add(oCondicion); } } foreach (ListItem item in lvAccionesInf.Items) { TuCuento.Entidades.Accion oAccion = new TuCuento.Entidades.Accion(); oAccion.nCod_Accion = Convert.ToInt32(item.Value); oDetalle.Inferencia.Accion.Add(oAccion); } //oDetalle.Inferencia.Accion.nCod_Accion = Convert.ToInt32(lvAccionesInf.SelectedValue); oDetalle.Inferencia.Condiciones = oLstCond; oDetalle.nCod_Historia = Convert.ToInt32(HfnCod_Historia.Value); oDetalle.nCod_TipoHistoriaDetalle = Funciones.CodigoTipoHistoriaDetalle(Funciones.TipoHistoriaDetalle.Inferencia.ToString()); if (HfnOrden.Value == "") { oDetalle.nOrden = lstDetalleHistoria.Count + 1; lstDetalleHistoria.Add(oDetalle); } else { oDetalle.nOrden = Convert.ToInt32(HfnOrden.Value)+1; //Porque el valor que tome en el hiden es el valor de la lista que comineza por 0 lstDetalleHistoria[Convert.ToInt32(HfnOrden.Value)] = oDetalle; } }
private void CargarListaDetalle(int nCod_Historia) { DataTable oTabla = TuCuento.Negocio.HistoriaDetalle_NEG.ListarDetalleHistoria(nCod_Historia); foreach (DataRow oFila in oTabla.Rows) { TuCuento.Entidades.HistoriaDetalle oDetalle = new TuCuento.Entidades.HistoriaDetalle(); oDetalle.nCod_Historia = Convert.ToInt32(oFila["nCod_Historia"].ToString()); oDetalle.nCod_TipoHistoriaDetalle = Convert.ToInt32(oFila["nCod_TipoHistoriaDetalle"].ToString()); oDetalle.nOrden = Convert.ToInt32(oFila["nOrden"].ToString()); Funciones.TipoHistoriaDetalle oTipo = (Funciones.TipoHistoriaDetalle)oDetalle.nCod_TipoHistoriaDetalle; if (Funciones.TipoHistoriaDetalle.Texto == oTipo) { DataTable oTexto = TuCuento.Negocio.HistoriaDetalle_NEG.TraerTexto(oDetalle.nCod_Historia, oDetalle.nOrden); oDetalle.Texto.sTexto = oTexto.Rows[0]["sTexto"].ToString(); } else { TuCuento.Entidades.HistoriaDetInf oInferencia = new TuCuento.Entidades.HistoriaDetInf(); //Traigo las condiciones DataTable oTablaInferencia = TuCuento.Negocio.HistoriaDetalle_NEG.TraerCondiciones(nCod_Historia,oDetalle.nOrden); foreach (DataRow oFilaInf in oTablaInferencia.Rows) { TuCuento.Entidades.Condicion oCondicion = new TuCuento.Entidades.Condicion(); TuCuento.Entidades.CondicionValPosible oValPosible = new TuCuento.Entidades.CondicionValPosible(); oCondicion.nCod_Condicion = Convert.ToInt32(oFilaInf["nCod_Condicion"].ToString()); oCondicion.sNombre = oFilaInf["sNombreCondicion"].ToString(); oValPosible.nCod_ValPosible = Convert.ToInt32(oFilaInf["nCod_ValPosible"].ToString()); oValPosible.sOperadorLogico = oFilaInf["sOperadorLogico"].ToString().PadRight(2,Convert.ToChar(" ")); oValPosible.sValor = oFilaInf["sValor"].ToString(); oCondicion.lstValPosible = new List<TuCuento.Entidades.CondicionValPosible>(); oCondicion.lstValPosible.Add(oValPosible); oInferencia.Condiciones.Add(oCondicion); } //Traigo las acciones oTablaInferencia = TuCuento.Negocio.HistoriaDetalle_NEG.TraerAccion(nCod_Historia, oDetalle.nOrden); foreach (DataRow oFilaInf in oTablaInferencia.Rows) { TuCuento.Entidades.Accion oAccion = new TuCuento.Entidades.Accion(); oAccion.nCod_Accion = Convert.ToInt32(oFilaInf["nCod_Accion"].ToString()); //oInferencia.Accion.nCod_Accion = Convert.ToInt32(oFilaInf["nCod_Accion"].ToString()); oInferencia.Accion.Add(oAccion); } oDetalle.Inferencia = oInferencia; } lstDetalleHistoria.Add(oDetalle); } }
protected void btnGrabar_Click(object sender, EventArgs e) { if (ValidarDatos()) { //Cargo los datos en un objeto TuCuento.Entidades.Accion oAccion = new TuCuento.Entidades.Accion(); oAccion.nCod_Dominio = Convert.ToInt32(ddlDominioCond.SelectedValue); if (HfAccion.Value == "EDIT") oAccion.nCod_Accion = Convert.ToInt32(HfnCod_Accion.Value); oAccion.sNombre = txtNombre.Text.Trim(); oAccion.sDescripcion = txtDescripcion.Text.Trim(); oAccion.nHab = (chkHab.Checked ? 1 : 0); if (rdTAHecho.Checked) oAccion.nCod_TipoAccion = Funciones.CodigoTipoAccion(Funciones.TipoAccion.ModHecho.ToString()); else oAccion.nCod_TipoAccion = Funciones.CodigoTipoAccion(Funciones.TipoAccion.EjecutaHistoria.ToString()); if (PanelHecho.Visible) { oAccion.Hecho = new TuCuento.Entidades.AccionHecho(); oAccion.Hecho.nCod_Entidad = Convert.ToInt32(ddlEntidad.SelectedValue); oAccion.Hecho.nCod_Atributo = Convert.ToInt32(ddlAtributo.SelectedValue); oAccion.Hecho.sValor = sValorIngresado; oAccion.Historia = null; } else { oAccion.Historia = new TuCuento.Entidades.AccionHistoria(); oAccion.Hecho = null; oAccion.Historia.nCod_Historia = Convert.ToInt32(ddlHistoria.SelectedValue); } if (TuCuento.Negocio.Accion_NEG.Persistir(oAccion)) { InicializarPagina(); LbMensaje.Text = "Se actualizaron los datos."; } else { Master.MensajeError = "Ocurrio un error al intentar grabar la acción, por favor, vuelva a intentarlo mas tarde. Disculpe las molestias."; } } }
private void CargarListaAcciones() { if (lstAcciones == null) { DataTable oTabla = TuCuento.Negocio.Accion_NEG.ListarAcciones(-1, 1, Convert.ToInt32(ddlDominio.SelectedValue)); if (oTabla.Rows.Count > 0) lstAcciones = new List<TuCuento.Entidades.Accion>(); foreach (DataRow oRow in oTabla.Rows) { TuCuento.Entidades.Accion oAccion = new TuCuento.Entidades.Accion(); oAccion.nCod_Accion = Convert.ToInt32(oRow["nCod_Accion"].ToString()); oAccion.sNombre = oRow["sNombre"].ToString(); lstAcciones.Add(oAccion); } } }
private void CargarListaDetalle(int nCod_Historia) { DataTable oTabla = TuCuento.Negocio.HistoriaDetalle_NEG.ListarDetalleHistoria(nCod_Historia); List<TuCuento.Entidades.EntidadAtributo> lstEntidadNoMostrar = new List<TuCuento.Entidades.EntidadAtributo>(); foreach (DataRow oFila in oTabla.Rows) { TuCuento.Entidades.HistoriaDetalle oDetalle = new TuCuento.Entidades.HistoriaDetalle(); oDetalle.nCod_Historia = Convert.ToInt32(oFila["nCod_Historia"].ToString()); oDetalle.nCod_TipoHistoriaDetalle = Convert.ToInt32(oFila["nCod_TipoHistoriaDetalle"].ToString()); oDetalle.nOrden = Convert.ToInt32(oFila["nOrden"].ToString()); Funciones.TipoHistoriaDetalle oTipo = (Funciones.TipoHistoriaDetalle)oDetalle.nCod_TipoHistoriaDetalle; if (Funciones.TipoHistoriaDetalle.Texto == oTipo) { DataTable oTexto = TuCuento.Negocio.HistoriaDetalle_NEG.TraerTexto(oDetalle.nCod_Historia, oDetalle.nOrden); oDetalle.Texto.sTexto = oTexto.Rows[0]["sTexto"].ToString(); } else { TuCuento.Entidades.HistoriaDetInf oInferencia = new TuCuento.Entidades.HistoriaDetInf(); //Traigo las condiciones DataTable oTablaInferencia = TuCuento.Negocio.HistoriaDetalle_NEG.TraerCondiciones(nCod_Historia, oDetalle.nOrden); foreach (DataRow oFilaInf in oTablaInferencia.Rows) { TuCuento.Entidades.Condicion oCondicion = new TuCuento.Entidades.Condicion(); TuCuento.Entidades.CondicionValPosible oValPosible = new TuCuento.Entidades.CondicionValPosible(); oCondicion.nCod_Condicion = Convert.ToInt32(oFilaInf["nCod_Condicion"].ToString()); oCondicion.nCod_Entidad = Convert.ToInt32(oFilaInf["nCod_Entidad"].ToString()); oCondicion.nCod_Atributo = Convert.ToInt32(oFilaInf["nCod_Atributo"].ToString()); bool bEstaValPosible = false; bool bEstaEntidadAtributo = false; foreach (Inferencia oDato in lstInferencia) { if (oDato.nCod_Entidad == oCondicion.nCod_Entidad && oDato.nCod_Atributo == oCondicion.nCod_Atributo) { bEstaEntidadAtributo = true; foreach (ValPosible oDatoVal in oDato.lstValPosible) { if (oDatoVal.nCod_ValPosible == Convert.ToInt32(oFilaInf["nCod_ValPosible"].ToString())) { bEstaValPosible = true; break; } } if (!bEstaValPosible) { ValPosible oCValPos = new ValPosible(); oCValPos.nCod_ValPosible = Convert.ToInt32(oFilaInf["nCod_ValPosible"].ToString()); oCValPos.sOperadorLogico = oFilaInf["sOperadorLogico"].ToString(); oCValPos.sValor = oFilaInf["sValor"].ToString(); if (oDato.lstValPosible == null) { List<ValPosible> oValPos = new List<ValPosible>(); oValPos.Add(oCValPos); oDato.lstValPosible = oValPos; } else { oDato.lstValPosible.Add(oCValPos); } } } if (bEstaEntidadAtributo) break; } if (!bEstaEntidadAtributo) { Inferencia oInf = new Inferencia(oCondicion.nCod_Entidad, oCondicion.nCod_Atributo, oFilaInf["sAtributo"].ToString()); List<ValPosible> oValPos = new List<ValPosible>(); ValPosible oCValPos = new ValPosible(); oCValPos.nCod_ValPosible = Convert.ToInt32(oFilaInf["nCod_ValPosible"].ToString()); oCValPos.sOperadorLogico = oFilaInf["sOperadorLogico"].ToString(); oCValPos.sValor = oFilaInf["sValor"].ToString(); oValPos.Add(oCValPos); oInf.lstValPosible = oValPos; lstInferencia.Add(oInf); } oValPosible.nCod_ValPosible = Convert.ToInt32(oFilaInf["nCod_ValPosible"].ToString()); oValPosible.sOperadorLogico = oFilaInf["sOperadorLogico"].ToString(); oValPosible.sValor = oFilaInf["sValor"].ToString(); oCondicion.lstValPosible = new List<TuCuento.Entidades.CondicionValPosible>(); oCondicion.lstValPosible.Add(oValPosible); oInferencia.Condiciones.Add(oCondicion); } //Traigo las acciones oTablaInferencia = TuCuento.Negocio.HistoriaDetalle_NEG.TraerAccion(nCod_Historia, oDetalle.nOrden); foreach (DataRow oFilaInf in oTablaInferencia.Rows) { TuCuento.Entidades.Accion oAccion = new TuCuento.Entidades.Accion(); oAccion.nCod_Accion = Convert.ToInt32(oFilaInf["nCod_Accion"].ToString()); oAccion.nCod_TipoAccion = Convert.ToInt32(oFilaInf["nCod_TipoAccion"].ToString()); //Si modifica un hecho busco cual es el hecho y lo agrego a la lista de hechos que no tengo que mostrar if ((Funciones.TipoAccion)oAccion.nCod_TipoAccion == Funciones.TipoAccion.ModHecho) { DataTable oAccionModHecho = TuCuento.Negocio.Accion_NEG.ListarAcciones(oAccion.nCod_Accion, -1, -1); TuCuento.Entidades.EntidadAtributo oEntAtrr = new TuCuento.Entidades.EntidadAtributo(); oEntAtrr.nCod_Entidad = Convert.ToInt32(oAccionModHecho.Rows[0]["nCod_Entidad"].ToString()); oEntAtrr.nCod_Atributo = Convert.ToInt32(oAccionModHecho.Rows[0]["nCod_Atributo"].ToString()); lstEntidadNoMostrar.Add(oEntAtrr); } else { oAccion.Historia = new TuCuento.Entidades.AccionHistoria(); oAccion.Historia.nCod_Historia = Convert.ToInt32(oFilaInf["nCod_HistoriaAccion"].ToString()); } oInferencia.Accion.Add(oAccion); } oDetalle.Inferencia = oInferencia; } lstDetalleHistoria.Add(oDetalle); } //Quito las entidades y atributos que van a ser inferidos foreach (TuCuento.Entidades.EntidadAtributo oEnt in lstEntidadNoMostrar) { foreach (Inferencia oInf in lstInferencia) { if (oEnt.nCod_Entidad == oInf.nCod_Entidad && oEnt.nCod_Atributo == oInf.nCod_Atributo) { lstInferencia.Remove(oInf); break; } } } }