protected void dgdPoliticas_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { hfIndex.Value = e.Item.ItemIndex.ToString(); dgdPoliticas.EditItemIndex = e.Item.ItemIndex; ArrayList arrPoliticas = WFPolitica.ObtenerPoliticasPorWorkflowId(WorkflowId); dgdPoliticas.DataSource = arrPoliticas; dgdPoliticas.DataBind(); DropDownList ddlTipoDeDato = (DropDownList)dgdPoliticas.Items[e.Item.ItemIndex].FindControl("ddlTipoDeDatoItem"); ddlTipoDeDato.DataSource = WFTipoDeDato.ObtenerTiposDeDato(); ddlTipoDeDato.DataValueField = "intCodTipoDeDato"; ddlTipoDeDato.DataTextField = "strNbrTipoDeDato"; ddlTipoDeDato.DataBind(); ddlTipoDeDato.Items.FindByValue(((WFPolitica)arrPoliticas[e.Item.ItemIndex]).objTipoDeDato.intCodTipoDeDato.ToString()).Selected = true; DropDownList ddlCondicion = (DropDownList)dgdPoliticas.Items[e.Item.ItemIndex].FindControl("ddlCondicionItem"); ddlCondicion.DataSource = WFCondicion.ObtenerCondiciones(); ddlCondicion.DataValueField = "intCodCondicion"; ddlCondicion.DataTextField = "strNbrCondicion"; ddlCondicion.DataBind(); ddlCondicion.Items.FindByValue(((WFPolitica)arrPoliticas[e.Item.ItemIndex]).objCondicion.intCodCondicion.ToString()).Selected = true; //ImageButton ib = (ImageButton)FindMyControl(this, "ibtnActualizar"); //ib.Attributes.Add("onclick", "javascritp:jsUpdate(" + e.Item.ItemIndex + ");"); // DeshabilitarValidadores(); }
public void BindCombos() { ddlCondicion.DataSource = WFCondicion.ObtenerCondiciones(); ddlCondicion.DataValueField = "intCodCondicion"; ddlCondicion.DataTextField = "strNbrCondicion"; ddlCondicion.DataBind(); ddlTipo.DataSource = WFTipoDeDato.ObtenerTiposDeDato(); ddlTipo.DataValueField = "intCodTipoDeDato"; ddlTipo.DataTextField = "strNbrTipoDeDato"; ddlTipo.DataBind(); }
public ArrayList Evaluate(string politicas, int staffOrigen) { // Ejemplo de "politicas" = "Bs.;500000" // Ejemplo de "staffOrigen" = 10108 ArrayList retVal = null; string ruta = ""; string [] parser = politicas.Split(';'); WFCondicion Cond = WFCondicion.ObtenerCondicionPorID(ConditionID); WFTipoDeDato Tdt = WFTipoDeDato.ObtenerTiposDeDatoPorID(DatatypeID); bool blnCumplioLaPolitica = false; switch (Tdt.strNbrTipoDeDato.Trim()) { case "Monto": { double dblValor = Convert.ToDouble(parser[0]); blnCumplioLaPolitica = Comparar(Cond, Convert.ToDouble(_value), dblValor); } break; case "Cantidad": { int intValor = Convert.ToInt32(parser[0]); blnCumplioLaPolitica = Comparar(Cond, Convert.ToInt32(_value), intValor); } break; case "Fecha": { DateTime dttValor = Convert.ToDateTime(parser[0]); blnCumplioLaPolitica = Comparar(Cond, Convert.ToDateTime(parser[0]), dttValor); } break; case "Moneda": { string strValor = parser[0].Trim(); blnCumplioLaPolitica = Comparar(Cond, _value.Trim(), strValor); } break; case "Nombre": { string strValor = parser[0].Trim(); blnCumplioLaPolitica = Comparar(Cond, _value.Trim(), strValor); } break; } if (blnCumplioLaPolitica) { if (Sino == 1) { SqlServerTreeProvider treeProvider = new SqlServerTreeProvider(); Children = treeProvider.GetChildren(UniqueID, WorkflowID); bool tieneNodosHijos = false; foreach (TreeNode tn in Children) { tieneNodosHijos = true; retVal = tn.Evaluate(politicas, staffOrigen); if (retVal != null) { break; } } if (!tieneNodosHijos) { SqlDataReader dr = SqlHelper.ExecuteReader(ESSeguridad.FormarStringConexion(), Queries.WF_ObtenerCaminos, staffOrigen, WorkflowID, UniqueID); if (dr.Read()) { retVal = new ArrayList(); do { ruta = dr.GetString(0); retVal.Add(ruta); }while(dr.Read()); } else { return(null); // throw new Exception("No se pudo establecer la ruta a través de las políticas y el código de staff #3"); } } } else { if (parser.Length > 1) { string politicasHijas = ""; for (int j = 1; j < parser.Length; j++) { politicasHijas += j + 1 < parser.Length ? parser[j] + ";" : parser[j]; } SqlServerTreeProvider treeProvider = new SqlServerTreeProvider(); Children = treeProvider.GetChildren(UniqueID, WorkflowID); bool tieneNodosHijos = false; foreach (TreeNode tn in Children) { tieneNodosHijos = true; retVal = tn.Evaluate(politicasHijas, staffOrigen); if (retVal != null) { break; } } if (!tieneNodosHijos) { SqlDataReader dr = SqlHelper.ExecuteReader(ESSeguridad.FormarStringConexion(), Queries.WF_ObtenerCaminos, staffOrigen, WorkflowID, UniqueID); if (dr.Read()) { retVal = new ArrayList(); do { ruta = dr.GetString(0); retVal.Add(ruta); }while(dr.Read()); } else { return(null); // throw new Exception("No se pudo establecer la ruta a través de las políticas y el código de staff #1"); } } } else { SqlDataReader dr = SqlHelper.ExecuteReader(ESSeguridad.FormarStringConexion(), Queries.WF_ObtenerCaminos, staffOrigen, WorkflowID, UniqueID); if (dr.Read()) { retVal = new ArrayList(); do { ruta = dr.GetString(0); retVal.Add(ruta); }while(dr.Read()); } else { return(null); // throw new Exception("No se pudo establecer la ruta a través de las políticas y el código de staff #2"); } } } } return(retVal); }
protected void ibtnAgregar_Click(object sender, System.Web.UI.ImageClickEventArgs e) { int Condicion = Int32.Parse(ddlCondicion.SelectedItem.Value); int Tipo = Int32.Parse(ddlTipo.SelectedItem.Value); string Valor = txtPolitica.Text; Label lblError = (Label)Global.FindMyControl(Page, "lblError"); if (Condicion == 0 || Tipo == 0 || Valor == "") { lblError.Visible = true; lblError.Text = ESMensajes.ObtenerMensaje(551); return; } else { lblError.Visible = false; } WFCondicion objCondicion = WFCondicion.ObtenerCondicionPorID(Condicion); WFTipoDeDato objTipo = WFTipoDeDato.ObtenerTiposDeDatoPorID(Tipo); //Microsoft.Web.UI.WebControls.TreeView tvw = (Microsoft.Web.UI.WebControls.TreeView)Page.FindControl("tvWorkflow"); System.Web.UI.WebControls.TreeView tvw = (System.Web.UI.WebControls.TreeView)Web.Global.FindMyControl(Page, "wfTreeView"); System.Web.UI.WebControls.TreeNode tn = Global.GetNodeFromPath(tvw.Nodes, NodeIndex); if (tn == null || tn.ChildNodes.Count > 0) { return; //MOSTRAR ALGUN MENSAJE DE ALARMA: no se puede indexar más de una política dentro de otra } int ID = Convert.ToInt32(tn.Value); WFPolitica newPolitica = new WFPolitica(WorkflowId, 0, ID, objCondicion, Valor, objTipo); if (newPolitica.Save()) { ddlCondicion.SelectedIndex = 0; ddlTipo.SelectedIndex = 0; txtPolitica.Text = ""; BindPoliticas(); tvw.DataSource = WFPolitica.ObtenerRepresentacionXmlDataSource(WorkflowId); tvw.DataBind(); HiddenField nodeIndex = (HiddenField)Global.FindMyControl(Page, "NodeIndex"); nodeIndex.Value = "0"; lblError.Visible = false; } else { lblError.Visible = true; lblError.Text = ESMensajes.ObtenerMensaje(302); } //Microsoft.Web.UI.WebControls.TreeNode tn = tvw.GetNodeFromIndex(NodeIndex); //int ID = 0; //if(tn.NodeData != "") ID = Convert.ToInt32(tn.NodeData); //WFPolitica newPolitica = new WFPolitica(WorkflowId, 0, ID, objCondicion, Valor, objTipo); //if (newPolitica.Save()) //{ // ddlCondicion.SelectedIndex = 0; // ddlTipo.SelectedIndex = 0; // txtPolitica.Text = ""; // BindPoliticas(); // tvw.TreeNodeSrc = WFPolitica.ObtenerRepresentacionXml(WorkflowId); // tvw.DataBind(); // lblError.Visible = false; //} //else //{ // lblError.Visible = true; // lblError.Text = ESMensajes.ObtenerMensaje(302); //} }