예제 #1
0
 public Int32 transaccionVentasTickets(List <clases.ventas.detalles_productos_venta_ticket> dp, clases.ventas.tickets tic)
 {
     return(Ejecutartransaccion_Ventas_tickets(dp, tic));
 }
예제 #2
0
        private Int32 Ejecutartransaccion_Ventas_tickets(List <clases.ventas.detalles_productos_venta_ticket> dp, clases.ventas.tickets tic)
        {
            Int32            numeroFilas = 1;
            MySqlTransaction trans       = null;
            long             res         = 0;

            if (base.conectar())
            {
                try
                {
                    trans = base.Conec.BeginTransaction();
                    MySqlCommand comando = new MySqlCommand();
                    comando.Connection  = base.Conec;
                    comando.Transaction = trans;

                    comando.CommandText = tic.sentenciaIngresar();
                    comando.ExecuteNonQuery();
                    res = comando.LastInsertedId;
                    Console.WriteLine(res.ToString());

                    foreach (clases.ventas.detalles_productos_venta_ticket p in dp)
                    {
                        p.Idventa_ticket    = res.ToString();
                        comando.CommandText = p.ingresarProducto();
                        Console.WriteLine(p.ingresarProducto());
                        comando.ExecuteNonQuery();
                    }

                    tic.IdDocu          = res.ToString();
                    comando.CommandText = tic.insertarVenta();
                    comando.ExecuteNonQuery();

                    trans.Commit();
                    numeroFilas = Convert.ToInt32(res);
                }
                catch (MySqlException e)
                {
                    Console.WriteLine(e.Message);
                    trans.Rollback();
                    numeroFilas = -1;
                }
            }

            return(numeroFilas);
        }