public List<ENT_ProductoAtributo> ListarAtributoXLab(string ProdLabCod) { List<ENT_ProductoAtributo> oLista = new List<ENT_ProductoAtributo>(); SqlTransaction TransSql = default(SqlTransaction); connect.MyConn = new SqlConnection(connect.strCxn()); connect.MyCmd.CommandType = CommandType.StoredProcedure; connect.MyCmd.CommandText = "SLW_SP_ListarAtributoXLab"; connect.MyCmd.Parameters.Clear(); connect.MyCmd.Parameters.Add("@ProdLabCod", SqlDbType.VarChar, 10).Value = ProdLabCod; try { if (connect.MyConn.State == ConnectionState.Closed) connect.MyConn.Open(); TransSql = connect.MyConn.BeginTransaction(); connect.MyCmd.Transaction = TransSql; connect.MyCmd.Connection = connect.MyConn; SqlDataReader DrSql = default(SqlDataReader); DrSql = connect.MyCmd.ExecuteReader(); while (DrSql.Read()) { ENT_ProductoAtributo oEnt_ProductoAtributo = new ENT_ProductoAtributo(); oEnt_ProductoAtributo.NomAtributo = DrSql.GetString(DrSql.GetOrdinal("NomAtributo")); oLista.Add(oEnt_ProductoAtributo); } DrSql.Close(); TransSql.Commit(); return oLista; } catch (Exception ex) { enterror = new ENT_Error(ex.Message, "ListarProdPara", "Web"); enterror.RegisterLog(); TransSql.Rollback(); return null; } finally { TransSql.Dispose(); connect.MyCmd.Dispose(); if (connect.MyConn.State == ConnectionState.Open) connect.MyConn.Close(); connect.MyConn.Dispose(); } }
protected void lbAgregados_OnSelectedIndexChanged(object sender, System.EventArgs e) { lbOpciones.DataSource = ""; lbOpciones.DataTextField = ""; lbOpciones.DataBind(); ViewState["Opciones"] = null; ViewState["Opciones"] = new List<ENT_ProductoAtributo>(); List<ENT_ProductoAtributo> oListaa = new List<ENT_ProductoAtributo>(); lblParametro.Text = "Atributo: "+ lbAgregados.SelectedItem.Text.Trim(); oListaa = oLN_Atributo.ListarProdAttr(Int32.Parse(lbAgregados.SelectedValue.ToString())); string opciones = string.Empty; foreach (ENT_ProductoAtributo oEnt in oListaa) { opciones=oEnt.Opciones.ToString(); } /* Estructura XML Opciones * <Atributo> * <Opcion>A</Opcion> * <Opcion>B</Opcion> * <Opcion>C</Opcion> * <Opcion>D</Opcion> * </Atributo> */ if (opciones== "") { return; } opciones = opciones.Replace("<Atributo><Opcion>", ""); opciones = opciones.Replace("<Opcion><Atributo>", ""); opciones = opciones.Replace("</Atributo>", ""); opciones = opciones.Replace("</Opcion>", ""); opciones = opciones.Replace("<Opcion>", "{"); string[] datos = opciones.Split('{'); for (int i = 0; i < datos.Count(); i++) { ENT_ProductoAtributo oEntii = new ENT_ProductoAtributo(); oEntii.Opciones = datos[i].ToString().Trim(); oLista_ProdAttr.Add(oEntii); } this.ViewState.Add("Opciones", oLista_ProdAttr); lbOpciones.DataSource = oLista_ProdAttr; lbOpciones.DataTextField = "Opciones"; lbOpciones.DataBind(); }
protected void btnQuitarOpt_Click(object sender, EventArgs e) { oLista_ProdAttr = (List<ENT_ProductoAtributo>)(this.ViewState["Opciones"]); //oEnt_ProdAttr.Opciones = lbOpciones.SelectedValue; var r = oLista_ProdAttr.Where(x => x.Opciones.Equals(lbOpciones.SelectedValue)); oEnt_ProdAttr = r.First(); oLista_ProdAttr.Remove(oEnt_ProdAttr); this.ViewState.Add("Opciones", oLista_ProdAttr); lbOpciones.DataSource = oLista_ProdAttr; lbOpciones.DataTextField = "Opciones"; lbOpciones.DataBind(); }