Example #1
0
 private void btAceptar_Click(object sender, EventArgs e)
 {
     try
     {
         // Si no se introdujo el código de cliente. solicitarlo
         if (ctCliente.Text.Length == 0)
         {
             btBuscar.PerformClick();
         }
         // Realizar pedido si hay stock
         if (Convert.ToInt32(ctCantidad.Text) <= dsProductos.productos[productosBindingSource.Position].Stock)
         {
             TransactionScope tr = new TransactionScope();
             using (tr)
             {
                 dsProductos.productosRow producto = dsProductos.productos[productosBindingSource.Position];
                 LogicaNegocio.RealizarPedido(ctCliente.Text, producto, Convert.ToInt32(ctCantidad.Text));
                 dsProductos.productos[productosBindingSource.Position].Stock -= Convert.ToInt32(ctCantidad.Text);
                 productosTableAdapter.Update(dsProductos.productos);
                 tr.Complete();
             }
             Close();
         }
         else
         {
             MessageBox.Show("La cantidad supera el stock");
         }
     }
     catch (SystemException ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Example #2
0
        public static void RealizarPedido(string cliente, dsProductos.productosRow producto, int cantidad)
        {
            // Agregar un pedido
            dsPedidosTableAdapters.pedidosTableAdapter adaptador = new dsPedidosTableAdapters.pedidosTableAdapter();
            dsPedidos datos = new dsPedidos();

            adaptador.Fill(datos.pedidos);
            // Añadir el pedido a la tabla pedidos desde "datos"
            int      pedido  = datos.pedidos.Count + 1;
            string   clave   = producto.Clave;
            float    coste   = producto.PVP * cantidad;
            DateTime fecha   = DateTime.Now;
            bool     servido = false;

            datos.pedidos.AddpedidosRow(pedido, cliente, clave, cantidad, coste, fecha, servido);
            // Actualizar la base de datos desde "datos"
            adaptador.Update(datos);
        }