Пример #1
0
        public int NuevoVenta(VentaCE ventaCE)
        {
            //instanciar conexion
            ConexionCD con = new ConexionCD();
            //crear el objeto SQL CONNEction
            SqlConnection cn = con.ConectarSQL();

            //Abrir la conexion
            cn.Open();

            //Declaro nuevo ID
            int nuevoId = 0;

            //Inicia el control de transacciones
            using (SqlTransaction tr = cn.BeginTransaction(IsolationLevel.ReadCommitted))
            {
                //Crear un comando
                SqlCommand cmd = cn.CreateCommand();
                //Tipo de comando
                cmd.CommandType = CommandType.Text;
                cmd.CommandText = "insert into venta(fecventa,idCliente) values (@fecventa,@idCliente)";
                //Vincular el controolde transacciones con el comando
                cmd.Transaction = tr;
                //Asignar valores a lso sagrados
                cmd.Parameters.AddWithValue("@fecventa", ventaCE.fecventa);
                cmd.Parameters.AddWithValue("@idCliente", ventaCE.idCliente);
                try
                {
                    cmd.ExecuteNonQuery();
                    //Al confirmar la transaccion
                    tr.Commit();
                }
                catch
                {
                    //Al existit error en la transaccion
                    tr.Rollback();
                }
                //Determinar el nuevoId
                //asignar nuevo instrucion SQL
                cmd.CommandText = "Select max(id) as nuevoId from venta " +
                                  "where idCliente=@idCliente";
                //Asignar valor al parametro que ya existe
                cmd.Parameters["@idCliente"].Value = ventaCE.idCliente;
                //Ejecutar el comando
                SqlDataReader dr = cmd.ExecuteReader();
                //Ejecuto el moviemiento del puntero de registros
                if (dr.Read())
                {
                    nuevoId = Convert.ToInt32(dr["nuevoId"]);
                }
                else
                {
                    nuevoId = 0;
                }
            }

            //Retornar nuevo
            return(nuevoId);
        }
        private void btnGuardarVenta_Click(object sender, EventArgs e)
        {
            VentaCE ventaCE = new VentaCE();

            ventaCE.fecventa  = Convert.ToDateTime(txtFechaVenta.Text);
            ventaCE.idCliente = Convert.ToInt32(txtIdCliente.Text);

            VentaCN ventaCN   = new VentaCN();
            int     miIdVenta = ventaCN.Nuevo(ventaCE);
            //Registrando Detalle
            DetallleCE detalleCE = new DetallleCE();
            DetalleCN  detalleCN = new DetalleCN();

            foreach (DataGridViewRow row in dgvDetalle.Rows)
            {
                detalleCE.idVenta    = miIdVenta;
                detalleCE.idProducto = Convert.ToInt32(row.Cells["idProducto"].Value);
                detalleCE.cantidad   = Convert.ToInt32(row.Cells["cantidadProducto"].Value);
                detalleCN.Nuevo(detalleCE);
            }

            MessageBox.Show("La venta y su detalle ha sido almacenado");
        }
Пример #3
0
 public int Nuevo(VentaCE ventaCE)
 {
     return(ventaCD.NuevoVenta(ventaCE));
 }