protected void btnBorrar_Click(object sender, EventArgs e) { CheckBox checkBorrado; IProductos bdd = new BusinessLogic(); List<PRODUCTO> products = Session["products"] as List<PRODUCTO>; PRODUCTO selectedProduct = null; GridProducts.Rows.ToList().ForEach(row => { checkBorrado = row.FindControl("chkBorrar") as CheckBox; if (checkBorrado.Checked) { selectedProduct = products.FirstOrDefault(product => product.NOMBREPRODUCTO == row.Cells[4].Text); selectedProduct.ESBORRADOPRODUCTO = true; bdd.SaveProducto(selectedProduct); } }); }
protected void Page_Load(object sender, EventArgs e) { try { if (!this.IsPostBack) { if (Session["selectedProduct"] != null) { producto = Session["selectedProduct"] as PRODUCTO; txtNombreProducto.Text = producto.NOMBREPRODUCTO; } } } catch (Exception ex) { ShowError(ex.Message); } }
protected void btnSave_Click(object sender, EventArgs e) { try { if (string.IsNullOrEmpty(txtNombreProducto.Text)) throw new Exception("Escriba el nombre"); IProductos bdd = new BusinessLogic(); if (Session["selectedProduct"] == null) { producto = new PRODUCTO(); producto.IDPRODUCTO = Guid.NewGuid(); } else producto = Session["selectedProduct"] as PRODUCTO; producto.NOMBREPRODUCTO = txtNombreProducto.Text; bdd.SaveProducto(producto); Session.Remove("selectedProduct"); Response.Redirect("~/ui/MantenimientoProducto.aspx"); } catch (Exception ex) { ShowError(ex.Message); } }
/// <summary> /// Ejecuta los botones sobre la grilla de productos /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void GridProduct_RowCommand(object sender, GridViewCommandEventArgs e) { GridViewRow selectedRow = null; int index = 0; IProductos dataBase = null; List<SubProductos> subProductos = null; List<PRODUCTO> producs = producs = Session["products"] as List<PRODUCTO>; switch (e.CommandName) { case Constants.COMMAND_SUBPRODUCTOS: index = int.Parse(e.CommandArgument.ToString()); selectedRow = GridProducts.Rows[index]; dataBase = new BusinessLogic(); selectedProduct = producs.FirstOrDefault(x => x.NOMBREPRODUCTO == selectedRow.Cells[4].Text); Session.Add("selectedProduct", selectedProduct); subProductos = dataBase.GetSubProductsByProduct(selectedProduct.IDPRODUCTO); if (subProductos.Count > 0) { Session.Add("subProductos", subProductos); GridSubProductos.DataSource = subProductos; GridSubProductos.DataBind(); trSubProd.Visible = true; } else trSubProd.Visible = false; break; case Constants.COMMAND_EDITAR: index = int.Parse(e.CommandArgument.ToString()); selectedRow = GridProducts.Rows[index]; selectedProduct = producs.FirstOrDefault(x => x.NOMBREPRODUCTO == selectedRow.Cells[4].Text); Session.Add("selectedProduct", selectedProduct); Response.Redirect("~/ui/EditarProducto.aspx"); break; case Constants.COMMAND_AGREGAR: index = int.Parse(e.CommandArgument.ToString()); selectedRow = GridProducts.Rows[index]; selectedProduct = producs.FirstOrDefault(x => x.NOMBREPRODUCTO == selectedRow.Cells[4].Text); Session.Add("selectedProduct", selectedProduct); trSubProd.Visible = true; break; } }
private void FixupPRODUCTO(PRODUCTO previousValue) { if (IsDeserializing) { return; } if (previousValue != null && previousValue.SUBPRODUCTO.Contains(this)) { previousValue.SUBPRODUCTO.Remove(this); } if (PRODUCTO != null) { if (!PRODUCTO.SUBPRODUCTO.Contains(this)) { PRODUCTO.SUBPRODUCTO.Add(this); } IDPRODUCTO = PRODUCTO.IDPRODUCTO; } if (ChangeTracker.ChangeTrackingEnabled) { if (ChangeTracker.OriginalValues.ContainsKey("PRODUCTO") && (ChangeTracker.OriginalValues["PRODUCTO"] == PRODUCTO)) { ChangeTracker.OriginalValues.Remove("PRODUCTO"); } else { ChangeTracker.RecordOriginalValue("PRODUCTO", previousValue); } if (PRODUCTO != null && !PRODUCTO.ChangeTracker.ChangeTrackingEnabled) { PRODUCTO.StartTracking(); } } }