public void guardarPedido() { ped.Id = objNeg.GenerarCodPedido(); numPedido = objNeg.GenerarCodPedido(); ped.Cliente = new Cliente { Id = idcliente }; ped.Empleado = new Empleado { Id = idEmpleado }; ped.FechaPedido = DateTime.Now; ped.TotalPuntos = float.Parse(lblTotal.Text); int rpta = objNeg.InsertarPedido(ped); int codDetalle = objNeg_Det.GenerarCodDetallePedido(); for (int i = 0; i < grvPedido.Rows.Count; i++) { DetallePedido detalle = new DetallePedido(); if (((TextBox)this.grvPedido.Rows[i].Cells[3].FindControl("txtCantidad")).Text == "" || Convert.ToInt32(((TextBox)this.grvPedido.Rows[i].Cells[3].FindControl("txtCantidad")).Text) <= 0) { // detalle.Cantidad = 0; } else { int stock; ProductosBL objProd = new ProductosBL(); int codProd = Convert.ToInt32(grvPedido.Rows[i].Cells[0].Text); int CantProd = Convert.ToInt32(((TextBox)this.grvPedido.Rows[i].Cells[3].FindControl("txtCantidad")).Text); stock = objProd.ConsultarStockProducto(codProd); if (stock < CantProd) { } else { detalle.Id = codDetalle; detalle.Pedido = new Pedido { Id = numPedido }; detalle.Producto = new Producto { Id = Convert.ToInt32(grvPedido.Rows[i].Cells[0].Text) }; detalle.Cantidad = System.Convert.ToInt32(((TextBox)this.grvPedido.Rows[i].Cells[3].FindControl("txtCantidad")).Text); detalle.Puntos = Convert.ToInt32(grvPedido.Rows[i].Cells[2].Text); detalle.TotalCanje = detalle.Cantidad * detalle.Puntos; //*****Actualizar Stock int resul; int codigoProducto = detalle.Id; int cantidadProducto = detalle.Cantidad; resul = objProd.ActualizarStock(codigoProducto, cantidadProducto); lstDetalle.Add(detalle); codDetalle++; } } detalle.Cantidad = System.Convert.ToInt32(((TextBox)this.grvPedido.Rows[i].Cells[3].FindControl("txtCantidad")).Text); } objNeg_Det.InsertarDetallePedido(lstDetalle); }
protected void btnCalcular_Click(object sender, EventArgs e) { int i; double total = 0; string cod, des, punt; var items = (DataTable)Session["pedido"]; for (i = 0; i < grvPedido.Rows.Count; i++) { cod = (grvPedido.Rows[i].Cells[0].Text); des = grvPedido.Rows[i].Cells[1].Text; punt = grvPedido.Rows[i].Cells[2].Text; if (((TextBox)this.grvPedido.Rows[i].Cells[3].FindControl("txtCantidad")).Text == "" || Convert.ToInt32(((TextBox)this.grvPedido.Rows[i].Cells[3].FindControl("txtCantidad")).Text) <= 0) { cant = 0; lblLetras.Text = "Existen productos con cantidades negativas o vacios"; } else { cant = System.Convert.ToInt32(((TextBox)this.grvPedido.Rows[i].Cells[3].FindControl("txtCantidad")).Text); int resul; ProductosBL objProd = new ProductosBL(); int codProd = Convert.ToInt32(grvPedido.Rows[i].Cells[0].Text); int CantProd = Convert.ToInt32(detPed.Cantidad); resul = objProd.ConsultarStockProducto(codProd); if (resul < cant) { lblLetras.Text += "\n**Stock Insuficiente en el Producto " + grvPedido.Rows[i].Cells[1].Text; } else { int subtotal = cant * Convert.ToInt32(punt); grvPedido.Rows[i].Cells[4].Text = subtotal.ToString(); foreach (DataRow dr in items.Rows) { if (dr["Codigo"].ToString() == cod.ToString()) { //dr["Cantidad"] = cant; dr["Total"] = subtotal; break; } } total = total + subtotal; } } lblTotal.Text = total.ToString("0"); } //if (lblTotal.Text!= "0.00") // lblLetras.Text = ""; //else // lblLetras.Text = "Ingresar Cantidad"; }