Llenar objeto buscando en Arraylist (CType?)
Publicado por Mikel (1 intervención) el 24/05/2014 12:49:11
Hola a todos,necesito ayuda con un problema para un trabajo de gestion de stock.
Tengo un Arraylist que contiene todos los datos que he guardado, con una clase creada para guardar los datos de un almacen en ese mismo arraylist, osea que almacena datos de la clase producto.
En el formulario, he recorrido el arraylist con un for each comparando el campo "Codigo del producto" o "ID" con el campo ID del array, si lo encuentra, vuelco los otros campos a sus respectivos texbox.
BOTON DE BUSCAR CODIGO Y RELLENAR LOS CAMPOS
Dim encuentra As Boolean = False
For Each obj As producto In arrProductos
If CInt(Me.tbxCodigo.Text) = obj.Codigo Then
With obj
Me.tbxNombreProducto.Text = .Nombre
Me.tbxPrecio.Text = CStr(.Precio)
Me.tbxStock.Text = CInt(.Stock)
Me.cbxTipo.Text = .Tipo
If .Perecedero = True Then
Me.tbxFechaCaducidad.Text = CStr(.FechaCaducidad)
Else
Me.tbxFechaCaducidad.Text = ""
End If
End With
encuentra = True
End If
Next
If encuentra = False Then
MsgBox("No existe ningun producto con ese código.")
End If
Si hay mas Stock del producto que cantidad que quiero comprar, entonces acepto la compra y la paso a un listbox que contendra codigo, nombre, precio, cantidad a comprar.
BOTON ACEPTAR LA COMPRA DEL PRODUCTO Y VOLCAR EL PRODUCTO A UN LISTBOX CON LA LISTA DE LA COMPRA TOTAL
If CInt(Me.tbxComprarCantidad.Text) > CInt(Me.tbxStock.Text) Then
MsgBox("No se dispone de tanto Stock.")
Else
Me.lstProductos.Items.Add(Me.tbxCodigo.Text & " - " & Me.tbxNombreProducto.Text & " - " & Me.tbxPrecio.Text & " - " & Me.tbxComprarCantidad.Text)
End If
Necesito ayuda para crear un Split que separe la linea que seleccione del listbox para separar cada vez que encuente " - " en un array tipo string normal, coger la posicion del array que contiene el ID o Codigo de Producto y restarle a ese producto la cantidad al stock que le voy a comprar.
Osea, quiero crear un objeto tipo producto, y asignarle todos los datos de ese producto buscando a traves del ID del producto que he separado en el split en mi arraylist... Creo que es con el CTYPE pero no consigo dar con nada de momento...
Un saludo!
Tengo un Arraylist que contiene todos los datos que he guardado, con una clase creada para guardar los datos de un almacen en ese mismo arraylist, osea que almacena datos de la clase producto.
En el formulario, he recorrido el arraylist con un for each comparando el campo "Codigo del producto" o "ID" con el campo ID del array, si lo encuentra, vuelco los otros campos a sus respectivos texbox.
BOTON DE BUSCAR CODIGO Y RELLENAR LOS CAMPOS
Dim encuentra As Boolean = False
For Each obj As producto In arrProductos
If CInt(Me.tbxCodigo.Text) = obj.Codigo Then
With obj
Me.tbxNombreProducto.Text = .Nombre
Me.tbxPrecio.Text = CStr(.Precio)
Me.tbxStock.Text = CInt(.Stock)
Me.cbxTipo.Text = .Tipo
If .Perecedero = True Then
Me.tbxFechaCaducidad.Text = CStr(.FechaCaducidad)
Else
Me.tbxFechaCaducidad.Text = ""
End If
End With
encuentra = True
End If
Next
If encuentra = False Then
MsgBox("No existe ningun producto con ese código.")
End If
Si hay mas Stock del producto que cantidad que quiero comprar, entonces acepto la compra y la paso a un listbox que contendra codigo, nombre, precio, cantidad a comprar.
BOTON ACEPTAR LA COMPRA DEL PRODUCTO Y VOLCAR EL PRODUCTO A UN LISTBOX CON LA LISTA DE LA COMPRA TOTAL
If CInt(Me.tbxComprarCantidad.Text) > CInt(Me.tbxStock.Text) Then
MsgBox("No se dispone de tanto Stock.")
Else
Me.lstProductos.Items.Add(Me.tbxCodigo.Text & " - " & Me.tbxNombreProducto.Text & " - " & Me.tbxPrecio.Text & " - " & Me.tbxComprarCantidad.Text)
End If
Necesito ayuda para crear un Split que separe la linea que seleccione del listbox para separar cada vez que encuente " - " en un array tipo string normal, coger la posicion del array que contiene el ID o Codigo de Producto y restarle a ese producto la cantidad al stock que le voy a comprar.
Osea, quiero crear un objeto tipo producto, y asignarle todos los datos de ese producto buscando a traves del ID del producto que he separado en el split en mi arraylist... Creo que es con el CTYPE pero no consigo dar con nada de momento...
Un saludo!
Valora esta pregunta


0