private void cargaQuery() { DataSet data = null; int idAlmacen = Convert.ToInt32(Request.QueryString["p"]); data = datos.llenaOrdenCompra(idAlmacen); ordenCompraList = new List <OrdenCompraDetalle>(); foreach (DataRow dr in data.Tables[0].Rows) { OrdenCompraDetalle ordenD = new OrdenCompraDetalle(); ordenD.Cantidad = Convert.ToDecimal(dr[7].ToString()); ordenD.IdArticulo = dr[1].ToString(); ordenD.Producto = dr[3].ToString(); ordenD.Descripcion_categoria = dr[2].ToString(); ordenCompraList.Add(ordenD); } GridOrdenCompra.DataSource = ordenCompraList; GridOrdenCompra.DataBind(); Session["listaOrden"] = ordenCompraList; Session["listaOriginal"] = ordenCompraList; if (ordenCompraList.Count > 0) { lnkGenerarOrden.Visible = true; } else { lnkGenerarOrden.Visible = false; } }
protected void GridOrdenCompra_RowEditing(object sender, GridViewEditEventArgs e) { ordenCompraList = (List <OrdenCompraDetalle>)Session["listaOrden"]; GridOrdenCompra.EditIndex = e.NewEditIndex; Session["listaOrden"] = ordenCompraList; Session["listaOriginal"] = ordenCompraList; GridOrdenCompra.DataSource = ordenCompraList; GridOrdenCompra.DataBind(); }
protected void ddlCategoria_SelectedIndexChanged(object sender, EventArgs e) { lblError.Text = ""; try { if (ddlCategoria.SelectedValue != "-1") { if (Session["listaOrden"] != null) { ordenCompraList = (List <OrdenCompraDetalle>)Session["listaOrden"]; List <OrdenCompraDetalle> ordenRange = new List <OrdenCompraDetalle>(); foreach (OrdenCompraDetalle lista in ordenCompraList) { if (lista.Descripcion_categoria.ToUpper().Trim() == ddlCategoria.SelectedItem.Text.ToUpper().Trim()) { ordenRange.Add(lista); } } GridOrdenCompra.DataSource = ordenRange; GridOrdenCompra.DataBind(); } RadAutoCompleteBox.Enabled = true; RadAutoCompleteBox.Entries.Clear(); txtCantidad.Enabled = true; txtCantidad.Text = ""; lnkAgregarProd.Visible = true; } else { if (Session["listaOrden"] != null) { ordenCompraList = (List <OrdenCompraDetalle>)Session["listaOrden"]; GridOrdenCompra.DataSource = ordenCompraList; GridOrdenCompra.DataBind(); } RadAutoCompleteBox.Enabled = false; txtCantidad.Enabled = false; lnkAgregarProd.Visible = false; RadAutoCompleteBox.Entries.Clear(); txtCantidad.Text = ""; } if (GridOrdenCompra.Rows.Count > 0) { lnkGenerarOrden.Visible = true; } else { lnkGenerarOrden.Visible = false; } } catch (Exception ex) { lblError.Text = "Error al cargar la información: " + ex.Message; } }
protected void GridOrdenCompra_RowDeleting(object sender, GridViewDeleteEventArgs e) { string id = GridOrdenCompra.DataKeys[e.RowIndex].Value.ToString(); ordenCompraList = (List <OrdenCompraDetalle>)Session["listaOrden"]; foreach (OrdenCompraDetalle item in ordenCompraList) { if (item.IdArticulo.Equals(id)) { ordenCompraList.Remove(item); break; } } Session["listaOrden"] = ordenCompraList; Session["listaOriginal"] = ordenCompraList; GridOrdenCompra.DataSource = ordenCompraList; GridOrdenCompra.DataBind(); }
protected void GridOrdenCompra_RowUpdating(object sender, GridViewUpdateEventArgs e) { RadNumericTextBox txtCantidadEdit = (RadNumericTextBox)GridOrdenCompra.Rows[GridOrdenCompra.EditIndex].FindControl("txtCantidadEdit"); Label lblIdArticuloEdit = (Label)GridOrdenCompra.Rows[GridOrdenCompra.EditIndex].FindControl("lblIdArticuloEdit"); ordenCompraList = (List <OrdenCompraDetalle>)Session["listaOrden"]; string id = lblIdArticuloEdit.Text; decimal cant = 0; try { cant = Convert.ToDecimal(txtCantidadEdit.Text); if (cant > 0) { foreach (OrdenCompraDetalle item in ordenCompraList) { if (item.IdArticulo.Equals(id)) { item.Cantidad = cant; break; } } GridOrdenCompra.EditIndex = -1; Session["listaOrden"] = ordenCompraList; Session["listaOriginal"] = ordenCompraList; GridOrdenCompra.DataSource = ordenCompraList; GridOrdenCompra.DataBind(); lblError.Text = ""; } else { lblError.Text = "La cantidad no debe quedar en 0."; Session["listaOrden"] = ordenCompraList; Session["listaOriginal"] = ordenCompraList; GridOrdenCompra.DataSource = ordenCompraList; GridOrdenCompra.DataBind(); } } catch (Exception) { } }
protected void lnkAgregarProd_Click(object sender, EventArgs e) { lblError.Text = ""; try { if (lblProducto.Text != "") { if (Session["listaOrden"] != null) { ordenCompraList = (List <OrdenCompraDetalle>)Session["listaOrden"]; } else { cargaQuery(); lblError.Text = "Su sesión expiro, la orden de compra se reinicio a la lista de articulos sugeridos."; } if (txtCantidad.Text != "") { bool existe = false; string idArticulo = lblIdArticulo.Text; string descArticulo = lblProducto.Text; string categoria = lblCategoria.Text; foreach (OrdenCompraDetalle lista in ordenCompraList) { if (lista.IdArticulo == lblIdArticulo.Text) { existe = true; break; } } if (existe) { lblError.Text = "El producto indicado ya esta registrado en esta solicitud de compra"; } else { decimal cantidad = Convert.ToDecimal(txtCantidad.Text); if (cantidad > 0) { OrdenCompraDetalle ordenD = new OrdenCompraDetalle(); ordenD.Cantidad = cantidad; ordenD.IdArticulo = idArticulo; ordenD.Producto = descArticulo; ordenD.Descripcion_categoria = categoria; ordenCompraList.Add(ordenD); GridOrdenCompra.DataSource = ordenCompraList; GridOrdenCompra.DataBind(); Session["listaOrden"] = ordenCompraList; Session["listaOriginal"] = ordenCompraList; lnkGenerarOrden.Visible = true; limpiaNuevo(); } else { lblError.Text = "La cantidad no debe ser menor a 1."; } } } else { lblError.Text = "La cantidad no debe estar vacia."; } } else { lblError.Text = "Necesita colocar un articulo para agregarlo a la orden de compra."; } } catch (Exception) { txtCantidad.Text = ""; RadAutoCompleteBox.Entries.Clear(); lblError.Text = "Hubo un error al agregar el articulo a la orden de compra, verifique que los datos insertados sean correctos."; } }