Modificacion List de una clase
Publicado por ripr87 (1 intervención) el 22/11/2021 18:39:35
tengo una duda, no he podido publicar mi pregunta, por que me acabo de registrar
estoy haciendo un funcion para agrupar los productos de varios traspasos en un solo registro, sumando cantidad, importe y descuento,
para esto hice una lista de la Clase Traspaso, y dentro de la clase Traspaso hay un propiedad que sellama Partidas, es una lista de la clase Partida,
y está clase Partida tiene las propiedades de Sku, Cantidad, Importe y descuento. mi funcion es la siguiente:
el problema es que por alguna razón, se modifica los valores(Cantidad,Importe, descuendo) de mi objeto de la Lista traspasos, cuando deberia solo afectar la el objeto <List> lineas, y no entiendo porqué, hice un debug
para ver en que momento cambia el valor y es al paso de las siguientes lineas
eso se nota cuando paso al segundo traspaso de <List> Traspaso.
el las linea
estoy haciendo un funcion para agrupar los productos de varios traspasos en un solo registro, sumando cantidad, importe y descuento,
para esto hice una lista de la Clase Traspaso, y dentro de la clase Traspaso hay un propiedad que sellama Partidas, es una lista de la clase Partida,
y está clase Partida tiene las propiedades de Sku, Cantidad, Importe y descuento. mi funcion es la siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Function agruparProductos()
Dim lineas = New List(Of Partida)
For Each tras As Traspaso In Traspasos
For Each conc As Partida In tras.Partidas
If conc.Sku = "6133" Then
Console.WriteLine("SKU: " & conc.Descripcion)
End If
If lineas.Exists(Function(x) x.Sku = conc.Sku) Then
For Each producto As Partida In lineas
If producto.Sku = conc.Sku Then
producto.Cantidad += conc.Cantidad
producto.Importe += conc.Importe
producto.Descuento += conc.Descuento
Exit For
End If
Next
Else
lineas.Add(conc)
End If
Next
Next
Return lineas
End Function
el problema es que por alguna razón, se modifica los valores(Cantidad,Importe, descuendo) de mi objeto de la Lista traspasos, cuando deberia solo afectar la el objeto <List> lineas, y no entiendo porqué, hice un debug
para ver en que momento cambia el valor y es al paso de las siguientes lineas
1
2
3
producto.Cantidad += conc.Cantidad
producto.Importe += conc.Importe
producto.Descuento += conc.Descuento
eso se nota cuando paso al segundo traspaso de <List> Traspaso.
el las linea
Valora esta pregunta


0