protected void DLDetallesCompra_ItemCommand(object source, DataListCommandEventArgs e) { DataList dl = ((DataList)source); if (e.CommandName == "Agrega") { //Agrega control al update panel LinkButton Agrega = e.Item.FindControl("btnAgrega") as LinkButton; if (Agrega != null) { ScriptManager.GetCurrent(Page).RegisterAsyncPostBackControl(Agrega); } Guid uidProduto = new Guid(dl.DataKeys[e.Item.ItemIndex].ToString()); Guid sucursal = new Guid(), seccion = new Guid(); //Busqueda de producto en subcategoria if (MVProducto.ListaDeSubcategorias.Count > 0) { var objeto = MVProducto.ListaDeSubcategorias.Find(producto => producto.UID == uidProduto); sucursal = objeto.UidSucursal; seccion = objeto.UidSeccion; } else //Busqueda de producto en categoria if (MVProducto.ListaDeCategorias.Count > 0) { var objeto = MVProducto.ListaDeCategorias.Find(producto => producto.UID == uidProduto); sucursal = objeto.UidSucursal; seccion = objeto.UidSeccion; } else //Busqueda de producto en giro if (MVProducto.ListaDeGiro.Count > 0) { var objeto = MVProducto.ListaDeGiro.Find(producto => producto.UID == uidProduto); sucursal = objeto.UidSucursal; seccion = objeto.UidSeccion; } MVProducto.AgregaAlCarrito(uidProduto, sucursal, seccion, "1", RegistroProductoEnCarrito: uidProduto); DLCarrito.DataSource = MVProducto.ListaDelInformacionSucursales; DLCarrito.DataBind(); MuestraDetallesDeLaOrdenGeneral(); var product = MVProducto.ListaDelCarrito.Find(p => p.UidRegistroProductoEnCarrito == uidProduto); int fila = -1; foreach (DataListItem item in DLCarrito.Items) { if (new Guid(DLCarrito.DataKeys[item.ItemIndex].ToString()) == product.UidSucursal) { fila = item.ItemIndex; } } DLCarrito.SelectedIndex = fila; var listaDetalle = MVProducto.ListaDelCarrito.Where(p => p.UidSucursal == new Guid(DLCarrito.DataKeys[fila].ToString())).ToList(); dl.DataSource = listaDetalle; dl.DataBind(); } if (e.CommandName == "Quita") { Guid uidProduto = new Guid(dl.DataKeys[e.Item.ItemIndex].ToString()); //Agrega control al update panel LinkButton Quita = e.Item.FindControl("btnQuita") as LinkButton; if (Quita != null) { ScriptManager.GetCurrent(Page).RegisterAsyncPostBackControl(Quita); } var producto = MVProducto.ListaDelCarrito.Find(y => y.UidRegistroProductoEnCarrito == uidProduto); MVProducto.QuitarDelCarrito(uidProduto); DLCarrito.DataSource = MVProducto.ListaDelInformacionSucursales; DLCarrito.DataBind(); if (MVProducto.ListaDelInformacionSucursales.Exists(s => s.UidSucursal == producto.UidSucursal)) { var listaDetalle = MVProducto.ListaDelCarrito.Where(p => p.UidSucursal == producto.UidSucursal).ToList(); dl.DataSource = listaDetalle; dl.DataBind(); } else { PanelCarrito.Visible = true; dl.DataSource = null; dl.DataBind(); } MuestraDetallesDeLaOrdenGeneral(); } if (e.CommandName == "EliminaProducto") { Guid uidProduto = new Guid(dl.DataKeys[e.Item.ItemIndex].ToString()); var producto = MVProducto.ListaDelCarrito.Find(p => p.UidRegistroProductoEnCarrito == uidProduto); ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "none", "<script>$('#ModalEliminarProductoCarrito').modal('show');</script>", false); HiddenField HFUidProductoAEliminar = Master.FindControl("HFUidProductoAEliminar") as HiddenField; HiddenField HFUidSucursalProductoAEliminar = Master.FindControl("HFUidSucursalProductoAEliminar") as HiddenField; Label lblCantidadDeProductosAEliminar = Master.FindControl("lblCantidadDeProductosAEliminar") as Label; int fila = -1; foreach (DataListItem item in DLCarrito.Items) { if (new Guid(DLCarrito.DataKeys[item.ItemIndex].ToString()) == producto.UidSucursal) { fila = item.ItemIndex; } } if (producto.Cantidad == 1) { lblCantidadDeProductosAEliminar.Text = "Desea eliminar " + producto.Cantidad.ToString() + " producto del carrito"; } else { lblCantidadDeProductosAEliminar.Text = "Desea eliminar " + producto.Cantidad.ToString() + " productos del carrito"; } lblCantidadDeProductosAEliminar.DataBind(); HFUidProductoAEliminar.Value = uidProduto.ToString(); HFUidProductoAEliminar.DataBind(); HFUidSucursalProductoAEliminar.Value = DLCarrito.DataKeys[fila].ToString(); HFUidSucursalProductoAEliminar.DataBind(); } }