1
00:00:00,150 --> 00:00:00,960
Bien, continuamos.

2
00:00:01,050 --> 00:00:05,280
Vamos a ejecutar nuestra aplicación paso a paso para ver todos los detalles detrás de escena.

3
00:00:05,370 --> 00:00:09,780
Cómo se van ejecutando los métodos y también poder entrar a estos métodos.

4
00:00:09,810 --> 00:00:11,490
Por ejemplo, generar factura.

5
00:00:11,610 --> 00:00:12,630
Calcular total.

6
00:00:12,720 --> 00:00:13,680
Calcular importe.

7
00:00:13,710 --> 00:00:20,370
En fin, y empezar a ejecutar línea línea dentro de estos métodos con step into bien y así ver cada

8
00:00:20,370 --> 00:00:20,820
detalle.

9
00:00:21,000 --> 00:00:25,830
Pero antes quiero ver algunos cambios, algunas optimizaciones que quedaron pendiente, pero también

10
00:00:25,920 --> 00:00:31,890
algunos campos que son más eficiente para ejecutar a modo de depuración, como por ejemplo el primer

11
00:00:31,890 --> 00:00:32,430
cambio.

12
00:00:32,550 --> 00:00:37,170
Si nos vamos a factura en el método general detalle acá.

13
00:00:38,060 --> 00:00:44,090
Bueno, acá se está agregando el item en el String Builder se fijan, pero el item por detrás de escena

14
00:00:44,180 --> 00:00:50,420
de forma implícita automática, no lo vemos, va a invocar el método String para convertir el objeto

15
00:00:50,450 --> 00:00:51,110
a un string.

16
00:00:51,350 --> 00:00:57,680
Se fijan y si queremos invocar o acceder a este método con Step into, puede entrar este método en la

17
00:00:57,680 --> 00:00:58,280
depuración.

18
00:00:58,400 --> 00:01:00,360
No vamos a poder, ya que es implícito.

19
00:01:00,530 --> 00:01:02,990
Entonces lo tenemos que invocar de forma explícita.

20
00:01:03,170 --> 00:01:11,450
Entonces tu string solamente item punto, tu string y item también por acá invoca al string de producto.

21
00:01:11,690 --> 00:01:17,090
Entonces también, si entramos al string, también vamos a querer entrar al string de producto.

22
00:01:17,210 --> 00:01:20,810
Entonces también acá tu string de forma explícita.

23
00:01:20,990 --> 00:01:26,930
Esos dos cambios son muy importante para depuración, para poder ver el detalle y entrar a estos métodos.

24
00:01:27,150 --> 00:01:32,750
Bien, otro cambio que podríamos realizar en factura, por ejemplo acá el for foreach.

25
00:01:33,020 --> 00:01:37,250
Se fijan el arreglo de dos elementos de capacida 12.

26
00:01:37,400 --> 00:01:42,590
Pero podríamos registrar dos productos o dos item o tres o cinco.

27
00:01:42,770 --> 00:01:43,790
Y hay mucho que son null.

28
00:01:44,540 --> 00:01:51,380
Y se lo va a saltar con continúa entonces en la depuración para no estar con el step over en cada continue.

29
00:01:51,440 --> 00:01:54,140
Cuando el nulo podremos implementar como alternativa.

30
00:01:54,200 --> 00:02:01,130
Bueno, no es obligación, es otra forma y un poco mejor porque así evitamos el continue y iterar todo

31
00:02:01,130 --> 00:02:01,760
el arreglo.

32
00:02:01,970 --> 00:02:07,190
Entonces podríamos implementar un for común y corriente, iterar solamente hasta la cantidad elemento

33
00:02:07,190 --> 00:02:10,210
que tengamos registrado, hasta la cantidad de items factura.

34
00:02:10,440 --> 00:02:13,000
Bueno, y de donde sacamos esta cantidad de items?

35
00:02:13,220 --> 00:02:20,960
Simple, un poco más arriba tenemos el atributo indice item y cada vez que agregamos un nuevo item factura

36
00:02:21,320 --> 00:02:25,070
en el método add item factura, este se incrementa.

37
00:02:25,130 --> 00:02:30,890
Por lo tanto contiene la cantidad de elementos registrados, la cantidad de factura que no son nulos

38
00:02:30,890 --> 00:02:33,530
si no son objetos instancias de una factura.

39
00:02:33,740 --> 00:02:38,420
Entonces, con un for común y corriente podríamos iterar hasta esta cantidad.

40
00:02:38,780 --> 00:02:39,110
Perfecto.

41
00:02:39,110 --> 00:02:44,000
Entonces modificamos el foreach de calcular total y el foreach de generar detalle.

42
00:02:44,090 --> 00:02:44,810
Partamos acá.

43
00:02:44,960 --> 00:02:46,880
Entonces lo primero en calcular total.

44
00:02:46,970 --> 00:02:50,810
Voy a cortar este lo voy a cortar, lo dejamos abajo.

45
00:02:50,990 --> 00:02:57,620
Por ahora igual lo dejamos así y acá int y igual a cero como siempre.

46
00:02:57,740 --> 00:03:05,480
Punto y coma hasta que el contador Eli sea igual o mayor que la cantidad elementos, índice, ítems,

47
00:03:05,870 --> 00:03:09,080
punto y coma y mamÃs incrementamos CT.

48
00:03:09,740 --> 00:03:16,490
Bien, entonces voy a iterar mientras sea menor que la cantidad elementos y acá asignamos el ítem según

49
00:03:16,640 --> 00:03:25,220
la iteración, según el índice o la posición duddits punto items, corchete y listo.

50
00:03:25,340 --> 00:03:28,550
Eso si, diato el cambio se fijan y acá sigue exactamente igual.

51
00:03:29,120 --> 00:03:29,970
En general, detalla.

52
00:03:30,530 --> 00:03:31,730
Entonces vamos a cortar.

53
00:03:33,960 --> 00:03:42,720
Lo pegamos abajo, igual diez puntos, items, corchete y bien.

54
00:03:42,810 --> 00:03:53,040
Y acá, mientras él dice a menor que el índice le cantidad elementos, índice, ítems, incrementamos

55
00:03:53,040 --> 00:03:56,160
el contador, se pegan un for común y corriente y así va a iterar.

56
00:03:56,160 --> 00:04:00,900
Solamente atrae cantidad de ítems o producto que agreguemos, nada más.

57
00:04:01,680 --> 00:04:04,020
Y este if lo quitamos no necesario.

58
00:04:06,450 --> 00:04:12,180
Acá también me faltó quitar el LIF, ya que en realidad no hay ningún elemento nulo, no hay items nulos

59
00:04:12,190 --> 00:04:15,040
solamente de iterar hasta la cantidad de elementos registrados.

60
00:04:15,280 --> 00:04:17,940
Listo, incluso también se podría optimizar un poco más.

61
00:04:18,280 --> 00:04:18,720
Se fijan?

62
00:04:18,820 --> 00:04:23,880
Bueno, ahí está bien, perfecto, pero podríamos cortar esto para que lo vean.

63
00:04:25,080 --> 00:04:26,730
Lo dejamos acá, Geto.

64
00:04:26,780 --> 00:04:27,390
Le quitamos.

65
00:04:29,220 --> 00:04:33,480
Entonces, por cada elemento obtenemos a través de li del contador índice.

66
00:04:33,900 --> 00:04:34,800
Calcular importe.

67
00:04:35,790 --> 00:04:41,100
Llega también lo podríamos cortar, se fijan y lo podríamos dejar acá.

68
00:04:45,240 --> 00:04:45,660
Listo.

69
00:04:46,030 --> 00:04:47,850
Eso sólo cambio, pequeño cambio.

70
00:04:48,090 --> 00:04:49,800
Volvamos ejemplo, factura.

71
00:04:50,280 --> 00:04:51,120
Qué otro cambio?

72
00:04:51,270 --> 00:04:54,420
Bien, acá la descripción la podríamos cortar.

73
00:04:54,690 --> 00:04:59,250
La dejamos acá y así ahorramos una variable.

74
00:05:00,120 --> 00:05:00,390
Listo.

75
00:05:00,420 --> 00:05:02,850
Qué más vamos a iterar en este ejemplo?

76
00:05:02,910 --> 00:05:03,480
Hasta dos.

77
00:05:04,110 --> 00:05:05,010
Para qué sea más corto.

78
00:05:05,130 --> 00:05:06,360
Dos producto y listo.

79
00:05:07,060 --> 00:05:07,860
Y comenzamos.

80
00:05:08,010 --> 00:05:09,720
Vamos a colocar el punto de quiebre acá.

81
00:05:09,810 --> 00:05:11,700
Ingrese una descripción de la factura.

82
00:05:11,820 --> 00:05:12,800
Por acá hacemos un clic.

83
00:05:13,260 --> 00:05:14,130
Punto y quiebre.

84
00:05:14,220 --> 00:05:14,910
Y comenzamos.

85
00:05:14,940 --> 00:05:16,440
Clic derecho de back.

86
00:05:20,430 --> 00:05:24,210
Se posiciona en esta línea de hechos y nos vamos a consola.

87
00:05:24,600 --> 00:05:25,320
No pasa nada.

88
00:05:26,070 --> 00:05:31,000
Y en Debug acá tenemos el cliente o nombre Andrés, el NIF.

89
00:05:31,710 --> 00:05:32,290
Perfecto.

90
00:05:32,700 --> 00:05:36,660
Volvemos a consola y ejecutamos esta línea con Step Over.

91
00:05:37,440 --> 00:05:38,070
Perfecto.

92
00:05:38,370 --> 00:05:42,330
Ahora ingrese una descripción, pero primero tenemos que ejecutar esta línea.

93
00:05:42,540 --> 00:05:47,250
Cuando se crea la instancia, la factura y si queremos entrar al detalle del constructor.

94
00:05:47,280 --> 00:05:55,050
Cuando invocamos el new factura lo podríamos hacer con Step Into acá Step Into para ingresar al detalle.

95
00:05:55,190 --> 00:05:57,840
Entonces hacemos un clic para ingresar al constructor.

96
00:05:58,100 --> 00:06:00,750
Otro clic perfecto y listo.

97
00:06:01,020 --> 00:06:06,480
Acá Next Line nos pide ingresar el nombre o descripción de la factura.

98
00:06:06,690 --> 00:06:08,130
Hacemos un clic por acá.

99
00:06:08,220 --> 00:06:09,060
Lo ingresamos.

100
00:06:12,660 --> 00:06:14,320
Artículos deportivos.

101
00:06:14,610 --> 00:06:16,410
Enter se fijan.

102
00:06:16,500 --> 00:06:20,970
Ahora ingresamos al constructor de factura, descripción y cliente.

103
00:06:21,150 --> 00:06:22,650
Ahí pasamos todos datos.

104
00:06:23,250 --> 00:06:26,650
Entonces ahora este joven para ir paso a paso, línea a línea.

105
00:06:26,940 --> 00:06:29,460
Si se fijan, hacemos un clic en descripción.

106
00:06:29,520 --> 00:06:31,470
Se posiciona, pero todavía no se ejecuta.

107
00:06:32,220 --> 00:06:34,590
Ahora ejecutamos y ya tenemos descripción.

108
00:06:35,130 --> 00:06:42,810
De hecho, podríamos ir a Debugger por acá y tenemos descripción, artículos deportivos, pero el folio,

109
00:06:42,930 --> 00:06:47,880
los items y todo lo demás, incluso el cliente está todo en nulo porque todavía nos asigna.

110
00:06:48,090 --> 00:06:51,600
Ahora, si hago clic en Step Over, se asigna cliente.

111
00:06:52,500 --> 00:06:52,980
Se fijan.

112
00:06:53,070 --> 00:06:57,630
Acá tenemos el cliente en el atributo this nombre y el NIF.

113
00:06:58,660 --> 00:07:00,430
Y estamos dentro de la factura.

114
00:07:00,970 --> 00:07:01,440
Estamos dentro.

115
00:07:01,480 --> 00:07:02,410
Factura bien.

116
00:07:02,500 --> 00:07:06,100
Ahora vamos a ejecutar también step over para items.

117
00:07:06,460 --> 00:07:11,230
Ahora se crea el arreglo con dos elementos con 12 vemos por acá items.

118
00:07:11,350 --> 00:07:15,310
Ahora tiene una referencia, una instancia, pero sin elementos.

119
00:07:15,610 --> 00:07:20,290
Todos los elementos son nulos porque todavía no hemos agregado ningún ítem factura, así que está perfecto.

120
00:07:20,500 --> 00:07:23,980
Continuamos con la fecha step over o F8.

121
00:07:24,340 --> 00:07:24,760
Listo.

122
00:07:24,940 --> 00:07:26,050
Ahí tenemos la fecha.

123
00:07:26,260 --> 00:07:27,160
La vamos a ejecutar.

124
00:07:27,430 --> 00:07:28,230
Todavía está en NULL.

125
00:07:29,470 --> 00:07:31,840
Ahí tenemos la instancia y continuamos.

126
00:07:31,930 --> 00:07:35,590
Ahora volvemos a ejemplo factura perfecto y ejecutamos.

127
00:07:37,010 --> 00:07:38,030
Esté obert.

128
00:07:39,220 --> 00:07:41,870
Nos vamos a prí este obert, nos vamos a Harford.

129
00:07:42,400 --> 00:07:46,340
Comenzamos con el for índice i 0 pertencer.

130
00:07:46,390 --> 00:07:49,540
Creamos la instancia producto, pero en realidad todavía no se crea.

131
00:07:49,630 --> 00:07:51,970
Solamente estamos posicionado en esta línea.

132
00:07:52,120 --> 00:07:53,080
Ahora la vamos a ejecutar.

133
00:07:53,120 --> 00:07:57,970
Pero si quiero entrar al constructor, al igual como lo hicimos en factura, tiene que ser con Step

134
00:07:58,060 --> 00:08:00,340
Into para poder ingresar al detalle.

135
00:08:01,240 --> 00:08:01,840
Hacemos un clic.

136
00:08:01,880 --> 00:08:02,320
Se fijan?

137
00:08:02,410 --> 00:08:04,390
Ahora estamos producto en el constructor.

138
00:08:04,900 --> 00:08:08,020
En esta línea la vamos a ejecutar con Step Over.

139
00:08:09,130 --> 00:08:14,680
Y nos posicionamos para asignar el código o el Aydin, todavía el último código es tan cero.

140
00:08:14,770 --> 00:08:15,790
El código también.

141
00:08:15,970 --> 00:08:22,810
Recuerden que se incrementa el atributo estático último código lo ejecutamos para que se incremente

142
00:08:22,900 --> 00:08:24,610
y asigne el valor 1.

143
00:08:25,530 --> 00:08:28,020
Perfecto 1 porque es un pré incremento.

144
00:08:29,520 --> 00:08:32,760
Nos salimos de producto perfecto, ejecutamos de nuevo.

145
00:08:34,110 --> 00:08:40,410
Ingrese producto todavía no pasa nada, si nos vamos a consola, no pasa nada, pero si lo ejecutamos

146
00:08:40,680 --> 00:08:41,370
una vez más.

147
00:08:42,290 --> 00:08:45,440
Acá se posiciona, pero todavía falta ejecutar esta línea.

148
00:08:45,530 --> 00:08:53,000
Next Line para obtener el nombre, entonces hacemos un clic y acá se deshabilita el menú y nos pide

149
00:08:53,000 --> 00:08:54,590
ingresar el nombre producto.

150
00:08:55,610 --> 00:09:02,720
Por ejemplo, un buzo para hacer deporte, un pantalón de uso entan se posiciona acá ejecutamos.

151
00:09:03,700 --> 00:09:05,980
Ingrese el precio, todavía no pasa nada.

152
00:09:06,310 --> 00:09:14,080
Hacemos otro click en Step Over, ahora se deshabilita, ingresamos el precio, por ejemplo 100 gentes,

153
00:09:14,320 --> 00:09:18,400
lo mismo con la cantidad de step over perfecto.

154
00:09:18,670 --> 00:09:20,680
Y acá para ejecutar esta línea.

155
00:09:20,810 --> 00:09:21,700
Bueno, a cual entramos?

156
00:09:21,700 --> 00:09:25,510
Primero agregar ítem factura o item factura al new.

157
00:09:26,050 --> 00:09:27,460
Porque acá tenemos un constructor.

158
00:09:27,550 --> 00:09:33,790
Podríamos ingresar al detalle el constructor new item factura que ingresa la cantidad y el producto

159
00:09:33,970 --> 00:09:37,210
y después ingresamos al método Agregar factura.

160
00:09:37,330 --> 00:09:41,140
Una vez que hayamos creado esta instancia, entonces por eso hay que ir paso a paso.

161
00:09:41,410 --> 00:09:47,410
Entonces para poder ejecutar esta línea, ingresar al constructor Itan factura tenemos que hacer clic

162
00:09:47,570 --> 00:09:54,220
Step into se fijan esté into acá no pide seleccionar porque podemos entrar acá o acá.

163
00:09:54,610 --> 00:09:56,090
Entonces con el mouse con un clic.

164
00:09:56,500 --> 00:09:58,000
Seleccionamos ítem factura.

165
00:09:58,480 --> 00:10:00,910
Quiero primero ver el detalle de ítem factura.

166
00:10:01,720 --> 00:10:02,380
Perfecto.

167
00:10:02,560 --> 00:10:03,150
Un clic.

168
00:10:03,430 --> 00:10:05,710
Ahora nos pide la cantidad.

169
00:10:06,340 --> 00:10:08,620
Por ejemplo, dos o uno.

170
00:10:08,710 --> 00:10:09,250
Uno solo.

171
00:10:09,520 --> 00:10:10,090
Perfecto.

172
00:10:10,360 --> 00:10:11,770
Se fijan y factura.

173
00:10:11,770 --> 00:10:14,290
Constructor cantidad y producto.

174
00:10:14,440 --> 00:10:15,610
La cantidad uno.

175
00:10:15,760 --> 00:10:20,740
El producto buso que vale 100 y ejecutamos step over.

176
00:10:21,340 --> 00:10:23,980
Ingresamos la cantidad uno perfecto.

177
00:10:24,190 --> 00:10:27,370
Ingresamos el producto buso con precio 100.

178
00:10:27,760 --> 00:10:28,360
Perfecto.

179
00:10:28,420 --> 00:10:28,960
Se fijan.

180
00:10:29,860 --> 00:10:31,270
Ahí tenemos el producto.

181
00:10:31,450 --> 00:10:33,850
Hay Di1 buso precio 100.

182
00:10:34,090 --> 00:10:35,410
La cantidad uno.

183
00:10:36,070 --> 00:10:37,720
Nos salimos y volvemos acá.

184
00:10:38,020 --> 00:10:44,950
Ahora volvemos a ejecutar con Step Into para ingresar al método Add Item factura.

185
00:10:45,340 --> 00:10:46,420
Por qué se ejecutó?

186
00:10:46,510 --> 00:10:48,550
Ya creamos la instancia del item.

187
00:10:48,730 --> 00:10:50,450
Ahora la tenemos que agregar al método.

188
00:10:51,280 --> 00:10:58,810
Entonces Step Into Perfecto ingresamos al método Agregar ítem factura o admite factura.

189
00:10:59,110 --> 00:11:04,390
Pasamos el item pregunta si el índice ítem que todavía 0.

190
00:11:04,510 --> 00:11:07,830
Porque todavía no hemos ingresado ningún producto, ningún ítems.

191
00:11:07,960 --> 00:11:10,890
Entonces como es menor que 12 es true.

192
00:11:11,380 --> 00:11:15,640
Y lo agregamos al arreglo índice ítem por defecto cero.

193
00:11:15,730 --> 00:11:21,850
Por lo tanto, lo guarda en el índice oposición cero del arreglo y luego se incrementa.

194
00:11:21,910 --> 00:11:29,410
Se incrementa en uno para el siguiente producto que queremos agregar o ítems bien ejecutemos step over

195
00:11:29,740 --> 00:11:30,700
step over.

196
00:11:30,910 --> 00:11:31,690
Perfecto.

197
00:11:31,780 --> 00:11:36,640
Ahora, si volvemos a debugger, podríamos empezar a analizar ver factura.

198
00:11:37,090 --> 00:11:39,910
Acá tenemos índice ítem que vale 1.

199
00:11:40,030 --> 00:11:40,960
Antes valía 0.

200
00:11:41,650 --> 00:11:43,750
Y también tenemos 10 ítems.

201
00:11:44,670 --> 00:11:45,300
Un arreglo?

202
00:11:45,570 --> 00:11:46,200
Cero.

203
00:11:46,350 --> 00:11:51,660
Posición cero que contiene un ítem, y este ítem contiene la cantidad uno y un producto.

204
00:11:51,720 --> 00:11:52,380
Qué producto?

205
00:11:52,470 --> 00:11:56,670
Bueno, el buzo con el código uno o el Heidy y el precio 100.

206
00:11:57,580 --> 00:12:02,500
Se fijan, entonces ya empezamos a relacionar los objetos y se empieza a armar todo este cuento por

207
00:12:02,500 --> 00:12:03,220
detrás de escena.

208
00:12:03,340 --> 00:12:07,570
Claro, cuando ejecutamos la aplicación no lo vemos, pero si empezamos a ejecutar paso a paso vamos

209
00:12:07,570 --> 00:12:13,330
viendo los detalles y cómo podemos entrar a cada método, cada constructor y empezar a ejecutar paso

210
00:12:13,420 --> 00:12:13,930
a paso.

211
00:12:14,170 --> 00:12:20,830
Bien, nos salimos de step over el print perfecto step over next line, step over.

212
00:12:21,190 --> 00:12:26,110
Siguiente iteración Vamos a ingresar un segundo producto ahora Heli todavía vale cero.

213
00:12:26,470 --> 00:12:27,220
Hacemos un clic.

214
00:12:27,460 --> 00:12:28,270
Vale uno.

215
00:12:28,840 --> 00:12:29,530
Se incrementa.

216
00:12:29,530 --> 00:12:30,040
Se fija.

217
00:12:30,460 --> 00:12:31,630
Agregamos otro producto.

218
00:12:31,780 --> 00:12:35,350
Vamos a ingresar al constructor step into f7.

219
00:12:36,740 --> 00:12:37,380
Perfecto.

220
00:12:37,580 --> 00:12:40,280
Recuerden que el último código valía uno.

221
00:12:40,520 --> 00:12:45,420
Ahora va a valer 2 y se asigna el 2 en el código de este nuevo producto.

222
00:12:46,470 --> 00:12:52,530
Entonces Step Over lo ejecutamos ahora código vale 2 y último código también.

223
00:12:52,650 --> 00:12:56,610
De hecho, podríamos ver en Debug acá está, dice Código 2.

224
00:12:56,850 --> 00:13:00,690
Es decir, el Heidy del producto y el último código Balaidos también.

225
00:13:01,390 --> 00:13:01,710
Bien.

226
00:13:01,830 --> 00:13:02,760
Continuamos.

227
00:13:03,150 --> 00:13:03,900
Volvemos.

228
00:13:04,230 --> 00:13:06,420
Ingrese un producto o nombre producto.

229
00:13:07,290 --> 00:13:08,250
Lo ejecutamos.

230
00:13:08,430 --> 00:13:10,200
Todavía no pasa nada si nos vamos a consola.

231
00:13:10,290 --> 00:13:11,700
No pregunta todavía.

232
00:13:11,850 --> 00:13:12,450
Ahora si.

233
00:13:12,760 --> 00:13:14,820
Step over pregunta.

234
00:13:15,480 --> 00:13:21,330
Pero sin embargo tenemos que ejecutar esta línea el escáner punto next line para ingresar el nombre.

235
00:13:21,930 --> 00:13:23,460
Entonces Step over.

236
00:13:24,000 --> 00:13:27,180
Ahora si se deshabilita, ingresamos el nuevo nombre.

237
00:13:27,240 --> 00:13:30,500
Por ejemplo boleras enter.

238
00:13:31,020 --> 00:13:32,040
Ingrese el precio.

239
00:13:32,730 --> 00:13:33,110
Ok.

240
00:13:33,630 --> 00:13:34,440
Lo ejecutamos.

241
00:13:34,590 --> 00:13:35,310
Ingrese el precio.

242
00:13:35,400 --> 00:13:41,430
Pero todavía no pasa nada porque tenemos que volver ejecutar para que se invoque este método next float

243
00:13:41,640 --> 00:13:44,730
del escáner y así ingresar el precio.

244
00:13:45,620 --> 00:13:53,330
Entonces ejecutamos, ahora se deshabilita, ingresamos el precio 50 y lo mismo la cantidad la ejecutamos.

245
00:13:54,510 --> 00:13:55,830
Nos posicionamos bien.

246
00:13:55,920 --> 00:14:03,570
Y acá tenemos dos caminos podemos invocar en Factura o Hypnos al detalle del ítem factura del new del

247
00:14:03,570 --> 00:14:06,060
constructor, o bien agregar ítem factura.

248
00:14:06,660 --> 00:14:08,760
Bueno, lo mejor ir en orden.

249
00:14:08,790 --> 00:14:13,800
Primero, crear la instancia, entrar a este detalle y luego entrar a este método.

250
00:14:14,010 --> 00:14:19,320
Y para eso sería igual con Step Into, igual como lo hicimos en delante con el primer producto.

251
00:14:19,650 --> 00:14:25,710
Entonces Step Into seleccionamos acá con un clic importante New Item factura.

252
00:14:25,800 --> 00:14:27,810
Hacemos un clic acá y en factura.

253
00:14:30,000 --> 00:14:37,410
Ingresamos la cantidad, dos entes se fijan, ahora estamos en el constructor de ítem, factura, cantidad

254
00:14:37,500 --> 00:14:38,970
y el producto perfecto.

255
00:14:39,090 --> 00:14:42,450
Ejecutamos este Ober la cantidad, pusimos dos.

256
00:14:42,540 --> 00:14:43,650
Por ahora es cero.

257
00:14:43,860 --> 00:14:45,490
Que sería dicha cantidad?

258
00:14:45,510 --> 00:14:46,050
Vale cero.

259
00:14:46,200 --> 00:14:47,730
Y el parámetro cantidad vale dos.

260
00:14:47,820 --> 00:14:48,870
Ahora se lo asignamos.

261
00:14:49,320 --> 00:14:55,090
Lo ejecutamos este Hoffer cantidad baleados ahora y asignamos producto.

262
00:14:55,290 --> 00:15:02,700
Disputo por ahora en Nul y el producto que estamos pasando por argumento es polera Heidy 2 o código

263
00:15:02,700 --> 00:15:04,110
2 y vale 50.

264
00:15:04,920 --> 00:15:06,330
Lo ejecutamos para asignar.

265
00:15:07,260 --> 00:15:08,670
Perfecto, ya tenemos los dos.

266
00:15:08,880 --> 00:15:10,290
Ya tenemos Elita en factura.

267
00:15:11,240 --> 00:15:19,040
Volvemos a ejecutar, volvemos también y Step Into para ingresar al detalle de it factura de este método

268
00:15:19,220 --> 00:15:20,570
agregar Itan factura.

269
00:15:21,820 --> 00:15:24,730
Esté pinto un clic índice item.

270
00:15:24,880 --> 00:15:26,170
Recuerden que vale 1.

271
00:15:26,260 --> 00:15:27,550
Por qué se había incrementado.

272
00:15:27,640 --> 00:15:28,330
La vez pasada.

273
00:15:28,480 --> 00:15:29,800
Pero sigue siendo menor que 12.

274
00:15:29,830 --> 00:15:31,170
Por supuesto es thru.

275
00:15:31,360 --> 00:15:31,810
Por lo tanto.

276
00:15:31,810 --> 00:15:35,290
Agregamos este nuevo ítem en la posición 1.

277
00:15:35,350 --> 00:15:38,350
Ahora recuerden que primeros asignÃ y después incrementa.

278
00:15:38,590 --> 00:15:43,000
Entonces asignÃ en la posición 1 y luego se incrementa a 2.

279
00:15:43,180 --> 00:15:47,140
Pero este ítem va a estar en el índice 1 del arreglo.

280
00:15:47,230 --> 00:15:48,130
Items bien.

281
00:15:48,190 --> 00:15:50,500
Ejecutamos este over.

282
00:15:50,800 --> 00:15:53,140
Ejecutamos y vamos a debugger.

283
00:15:53,590 --> 00:15:57,630
Por acá ya tenemos 0 y 1 0.

284
00:15:57,640 --> 00:15:59,530
Tenemos el producto, el buzo.

285
00:15:59,710 --> 00:16:04,990
Se fijan código 1 buzo y en la posición 1 tenemos cantidad 2.

286
00:16:05,080 --> 00:16:08,050
Producto polera vale 50.

287
00:16:09,360 --> 00:16:09,950
Ya está.

288
00:16:10,160 --> 00:16:11,390
Ya tenemos todo casi.

289
00:16:12,780 --> 00:16:19,800
Volvemos a ejecutar este over print next line, lo ejecutamos de nuevo step over, volvemos Alford y

290
00:16:19,800 --> 00:16:22,450
acá se incrementa y vale uno, se incrementa dos.

291
00:16:22,630 --> 00:16:24,390
2 es menor que dos, no?

292
00:16:24,420 --> 00:16:26,400
Por lo tanto se sale de vigen.

293
00:16:26,520 --> 00:16:32,670
Ahora imprimimos factura, pero cuando es un system out print line, automáticamente se invoca al toString.

294
00:16:32,850 --> 00:16:37,080
Pero acá sí podemos ingresar al método toString porque se está imprimiendo.

295
00:16:37,320 --> 00:16:44,160
Entonces es importante que acá, en vez de colocar un step over, colocamos un step into muy importante

296
00:16:44,160 --> 00:16:46,430
para entrar al detalle del string.

297
00:16:46,740 --> 00:16:47,490
Hacemos un clic.

298
00:16:47,940 --> 00:16:48,600
Se fijan.

299
00:16:48,840 --> 00:16:49,950
Ingresamos tus string.

300
00:16:50,100 --> 00:16:51,150
Generar detalle.

301
00:16:51,270 --> 00:16:52,380
También lo vamos a invocar.

302
00:16:52,560 --> 00:16:53,420
Hacemos un clic.

303
00:16:54,710 --> 00:17:00,020
Pero Step Into también para ingresar al detalle general, detalla, entramos a este método.

304
00:17:00,140 --> 00:17:04,160
Acá estamos dentro del Stream Builder, está perfecto y acá ejecutamos paso a paso.

305
00:17:04,220 --> 00:17:10,460
Por ejemplo, el step over, agregamos el folio, este hover cliente y vamos concatenado.

306
00:17:10,580 --> 00:17:17,120
Acá tenemos dos Kamino, lo podemos pasar por encima, saltar sin entrar al método get nombre del cliente.

307
00:17:17,210 --> 00:17:18,910
O bien podríamos entrar al método.

308
00:17:19,100 --> 00:17:23,210
Si colocamos TEPT Into va a ingresar el método get nombre.

309
00:17:23,540 --> 00:17:26,900
Veamos Step into se fijan?

310
00:17:26,990 --> 00:17:30,920
Ingresamos a cliente get nombre Andrés.

311
00:17:32,030 --> 00:17:33,290
Perfecto, lo ejecutamos.

312
00:17:33,440 --> 00:17:41,420
Volvemos, ejecutamos de nuevo el NIF, volvemos Step Over y acá también podríamos entrar al detalle

313
00:17:41,540 --> 00:17:45,650
de cliente punto get, nif, step into.

314
00:17:46,490 --> 00:17:47,720
Y acá estamos en el detalle.

315
00:17:47,930 --> 00:17:50,570
Lo ejecutamos step over.

316
00:17:50,630 --> 00:17:51,290
Paso a paso.

317
00:17:51,350 --> 00:17:58,490
Descripción Luego descripción también como son atributos, lo mismo si es este pinto este hover porque

318
00:17:58,490 --> 00:17:59,180
no es un método.

319
00:17:59,360 --> 00:18:02,780
Entonces este hover salto línea, este hover.

320
00:18:02,990 --> 00:18:05,570
Acá también vamos saltando emisión.

321
00:18:06,140 --> 00:18:10,400
Step over este hover y Alford este over.

322
00:18:10,580 --> 00:18:15,380
Comenzamos la iteración y acá es importante porque vamos a ingresar al método string de cada item.

323
00:18:15,590 --> 00:18:21,590
Bien, entonces comenzamos con el I 0 índice 0 con el primer elemento que sería el buso.

324
00:18:21,980 --> 00:18:23,450
Ejecutamos con step over.

325
00:18:24,140 --> 00:18:26,600
Se fijan acá nos posicionamos en esta línea.

326
00:18:26,780 --> 00:18:29,240
Entonces quiero entrar al detalle del string.

327
00:18:29,750 --> 00:18:33,580
Entonces ejecutamos acá el step into llega.

328
00:18:33,620 --> 00:18:36,230
Nos pregunta nos vamos al happen o al toString?

329
00:18:37,100 --> 00:18:37,700
Al happen?

330
00:18:37,790 --> 00:18:41,060
No, porque el string builder no nos interesa.

331
00:18:41,180 --> 00:18:45,200
A mi me interesa ver el string de la clase items factura.

332
00:18:45,470 --> 00:18:47,410
Hacemos un clic acá String.

333
00:18:47,780 --> 00:18:51,290
Perfecto, ingresamos y acá también paso a paso.

334
00:18:51,800 --> 00:18:58,400
Nuevamente este punto para ingresar al string de producto se fijan como se van encadenando la llamada

335
00:18:58,400 --> 00:18:59,000
de métodos.

336
00:18:59,930 --> 00:19:01,220
Acá selecciona tu Streak.

337
00:19:01,880 --> 00:19:06,050
Ahora estamos unproducto en el toString de producto y ejecutamos paso a paso.

338
00:19:06,970 --> 00:19:15,370
Se fijan ahora volvimos al string de items y el tuit string de producto es bueno producto con el Heidy

339
00:19:15,490 --> 00:19:19,180
Buso y el precio y acá le agregamos la cantidad.

340
00:19:19,410 --> 00:19:22,540
Entonces ejecutamos y también le agregamos el importe.

341
00:19:22,930 --> 00:19:29,670
Como es otro método, también podemos entrar al detalle Step Into ingresamos a calcular importe de la

342
00:19:29,680 --> 00:19:30,130
factura.

343
00:19:30,610 --> 00:19:35,230
Entonces acá tenemos 10 cantida atributo propio de clase por precio el producto.

344
00:19:35,380 --> 00:19:39,440
Incluso acá podemos ver el detalle de que el precio del objeto producto.

345
00:19:39,700 --> 00:19:42,700
Entonces este pinto qué precio?

346
00:19:42,910 --> 00:19:46,600
Vale €100 para el producto buso bien ejecutamos.

347
00:19:47,990 --> 00:19:50,030
Ejecutamos nuevamente este over.

348
00:19:51,200 --> 00:20:00,260
Y ejecutamos para salir del toString del Iten factura, se fijan este pocker listo, volvimos ahora

349
00:20:00,320 --> 00:20:01,730
de nuevo este over.

350
00:20:03,470 --> 00:20:10,190
Esté over y de nuevo Alford, la siguiente iteración recuerden que iba cero, ahora se incrementa vale

351
00:20:10,280 --> 00:20:11,770
1, vale 1.

352
00:20:11,780 --> 00:20:16,640
Siguiente producto cual la polera que vale 50 con el código 2.

353
00:20:17,120 --> 00:20:21,440
Bien, ingresamos al detalle con Step Into, igual que en adelante seleccionamos el toString.

354
00:20:22,010 --> 00:20:22,910
Ingresamos.

355
00:20:23,950 --> 00:20:30,730
De nuevo, este pinto seleccionado molto stink, como es una sola línea acá, nos pregunta.

356
00:20:31,060 --> 00:20:32,780
Calcular Importe o toString?

357
00:20:33,130 --> 00:20:34,230
Primero el toString.

358
00:20:35,820 --> 00:20:38,220
Se fijan Código 2 nombre.

359
00:20:39,610 --> 00:20:40,380
La polera.

360
00:20:41,300 --> 00:20:43,070
Y precio 50 se fijan?

361
00:20:43,580 --> 00:20:50,060
Volvemos a ejecutar este over osté pinto para ingresar a calcular importe acá.

362
00:20:50,210 --> 00:20:52,430
Entonces ingresamos nuevamente Stepp Pinto.

363
00:20:53,520 --> 00:21:01,650
Acá estamos, calcula el importe cantidá el precio cantidad 2 en este caso son 2 poleras y el precio

364
00:21:01,650 --> 00:21:08,130
50 nuevamente step into para ingresar al precio del objeto producto.

365
00:21:09,610 --> 00:21:10,300
50.

366
00:21:11,690 --> 00:21:15,620
Ejecutamos, volvemos, volvemos a calcular, importe.

367
00:21:17,210 --> 00:21:19,250
Volvemos y volvemos.

368
00:21:20,290 --> 00:21:21,580
Y Salto Línea.

369
00:21:23,100 --> 00:21:29,370
Nos salimos, vuelve a preguntar evalúa ahora el iba a valer 2 y no se cumple, por lo tanto se sale

370
00:21:29,370 --> 00:21:31,290
de foro, se fijan, se sale.

371
00:21:31,510 --> 00:21:33,360
Ahora vamos a ver el gran total.

372
00:21:33,570 --> 00:21:36,570
Calcular el que era en total este over.

373
00:21:37,610 --> 00:21:38,900
Y acá este pinto.

374
00:21:39,970 --> 00:21:41,560
Calcular total qué comienza?

375
00:21:41,620 --> 00:21:42,950
Paso a paso, línea, línea.

376
00:21:43,090 --> 00:21:44,620
Total, lo ejecutamos.

377
00:21:45,400 --> 00:21:46,300
Parten cero.

378
00:21:46,510 --> 00:21:47,590
Comienza la iteración.

379
00:21:47,680 --> 00:21:49,360
El for y vale cero.

380
00:21:50,620 --> 00:21:51,550
Todavía no pasa nada.

381
00:21:51,640 --> 00:21:57,130
Ahora vamos a ejecutar Step Into porque podríamos ir a calcular importe de items.

382
00:21:58,700 --> 00:22:02,030
Se fijan, ahora se va a este método, podrían ingresar el precio.

383
00:22:02,080 --> 00:22:05,210
Pero bueno, lo vamos a pasar por encima con Step Over.

384
00:22:05,360 --> 00:22:09,110
Sabemos que el precio es 100 para el buzo y la cantidad 1.

385
00:22:09,140 --> 00:22:11,330
Por lo tanto, hacer 100 el total.

386
00:22:11,840 --> 00:22:12,740
Ahora ejecutamos.

387
00:22:13,810 --> 00:22:18,880
Se fijan, total vale 100 para el primer item, para el primer producto, ya que la cantidad es una

388
00:22:18,880 --> 00:22:19,210
sola.

389
00:22:19,540 --> 00:22:27,550
Volvemos a ejecutar acá este over ahora Liva le1 para el siguiente producto el producto polera step

390
00:22:27,640 --> 00:22:32,950
into para ingresar a calcular importe cantidad 2 precio 50.

391
00:22:32,950 --> 00:22:35,410
Por lo tanto, 2pues 50 100.

392
00:22:37,120 --> 00:22:43,780
Lo ejecutamos de Ober, ahora lo ejecutamos y va a ser 100, 100 más 100, 200, porque va a sumar el

393
00:22:43,780 --> 00:22:50,110
100 que tenía más el 100 de ahora, que sería 2 por 50 cantidad por precio.

394
00:22:51,270 --> 00:22:52,040
Step over.

395
00:22:53,370 --> 00:22:58,500
200 vuelve a iterar y pregunta pero Eli vale 2 y tenemos 2.

396
00:22:58,560 --> 00:22:59,940
Por lo tanto sea salir.

397
00:23:01,380 --> 00:23:02,460
Total, doscientos.

398
00:23:04,440 --> 00:23:08,490
Perfecto, ejecutamos tu estric, lo ejecutamos.

399
00:23:09,600 --> 00:23:10,590
Step over.

400
00:23:11,580 --> 00:23:15,210
Y nos salimos de obert y volvemos acá y estamos casi listos.

401
00:23:15,660 --> 00:23:20,160
Podríamos ver el detalle de los objetos en debugger, el cliente, la factura.

402
00:23:20,220 --> 00:23:27,270
Acá tenemos la factura completo con su folio, la descripción, la fecha cliente con el nombre, el

403
00:23:27,270 --> 00:23:38,580
NIF, los items 2 items cantidad 1 producto código 1 Buso Precio 100 el segundo ítem cantidad 2 Producto

404
00:23:38,580 --> 00:23:46,740
Polera Código 2 Precio 50 Índice Ítem 2 porque tenemos 2 items 2 elementos se fijan ahí tenemos todo

405
00:23:46,800 --> 00:23:54,360
detalle y en consola también el detalle completo la factura factura número 1 Cliente 3 Bueno, acá se

406
00:23:54,360 --> 00:23:57,690
imprime todo lo que hemos visto y lo que hemos ejecutado paso a paso.

407
00:23:58,620 --> 00:24:05,460
La emisión de la factura, la tabla con los dos ítems buzo, polera, en fin, precio, cantidad y el

408
00:24:05,460 --> 00:24:07,620
total llega total 200.

409
00:24:07,830 --> 00:24:09,900
Y para finalizar, qué estamos acá?

410
00:24:10,050 --> 00:24:13,050
Hacemos un clic en este poder y finaliza bien.

411
00:24:13,110 --> 00:24:17,610
Quería explicar este tema, creo que importante realizar un debug y ver cómo funciona por detrás de

412
00:24:17,610 --> 00:24:21,840
escena, cómo se van invocando los métodos y vamos ejecutando línea línea.

413
00:24:21,970 --> 00:24:23,730
Bien, por ahora nada más.

414
00:24:23,820 --> 00:24:25,790
Continuamos en la siguiente clase.
