Para editar un producto voy a subir y creerme el método.
Aquí en mi productos Provider lo voy a poner justo abajo del de crear producto aquí.
Bueno la verdad la verdad es que es casi casi casi casi casi igual que el producto de hecho podríamos
hacer ciertas pequeñas modificaciones solo para diferenciarlos.
Voy a copiarme todo el producto y lo voy a pegar aquí abajo.
Lo voy a crear recuerden y repito esto lo digo varias veces en varios cursos cuando ustedes copian y
pegan algo de un código o un bloque de código quiere decir que se podría optimizar en alguna manera.
Aquí se va a llamar editar producto necesito recibir el producto pero el RHEL es un poquito diferente
porque recuerden que si yo hago un post a este voy a crear un nuevo elemento.
Entonces si quiero actualizar este registro necesito apuntar a Leydi también de ese registro infalibles.
Así funciona el API del recipiente Fabris.
Entonces a quién vendrían las y recuerden que para los productos que para entrar a esta pantalla más
Déjenme mostrarles el emulador recuerden que nosotros tenemos el Heydi ya lo tenemos precargado entonces
cuando lleguemos a esta pantalla el Airy nos va a decir si estoy creando un nuevo ítem o si lo estoy
editando o sea si ya tiene un aire lo voy a actualizar.
Si no tiene un aquí lo voy a crear entonces en el producto voy a poner aquí si no es dólar abro y ya
es porque tengo que construir un poquito de recuperar la información de producto producto punto allí
perfecto.
Ese es el lugar que yo necesito apuntar.
O sea este huele bien.
Ahora no hacer un post aquí es un punto put.
Si ustedes no ponen en lo que va a hacer es que en este nodo va a crear un nuevo elemento con su Heydi
y con sus otros objetos.
El pub lo va a reemplazar.
Entonces sigamos.
Vamos a ver el R.L apuntó Bodhi producto modelo Pototo Jayson.
Aquí va a pasar algo interesante que es que el objeto cuando yo lo actualice también me haga actualizar
el Heydi pero déjenme mostrarles el error y luego lo resolvemos manualmente nosotros.
Ok pero si me va a grabar todo el objeto incluyendo el aire y yo no lo quiero.
Pero ya llegaremos a verlo.
Luego viene el licor Idaira ya es un público todo lo demás está igual.
Todo lo demás es exactamente igual.
Ok voy a grabar los cambios y ahora necesito en el Home Page en el método de Navigator punto Rusney.
Cuando estoy tocando la opción estoy tocando este elemento.
Recuerda que si ustedes lo borraron todos basta con crear algo nuevo acá y listo.
Pero si yo toco un elemento necesito pasar ese objeto a la siguiente pantalla.
Cómo hacemos eso.
Busquemos nuestro Navigator apuntó Rusney.
Aquí vamos a colocar una coma y recuerden que tenemos arguments como argumento.
Voy a mandar el producto completamente de esa manera y ahí está todo a los cambios en el pelaje.
Ahora lo que yo necesito hacer es en otra página recibir este producto y en base a ese producto ver
qué hago.
Ok entonces voy a grabar los cambios en el patch lo cierro y abramos nuestro producto de nuestro producto
Peach suban al inicio del archivo bajamos un poco y aquí tenemos la creación del producto.
Yo de alguna manera necesito poder determinar si ese producto es nuevo o bien si viene con un argumento.
Para eso voy a entrar en el método PIL y qué voy a hacer la siguiente decisión.
Voy a llamar final producto modelo porque es un producto modelo que estoy recibiendo por el argumento
voy a poner data.
Va a ser igual a provocar.
Como ustedes quieran ponerle va a ser igual a modal Routh punto off context punto settings punto arguments
punto y coma.
Esta es una de las maneras de hacerlo.
Hay varias formas recuérdense en las primeras secciones que les enseñé que también se podría mandar
directamente en el constructor de productos Patch pero al hacerlo así entonces yo tendría que especificarlo
en cada una de las páginas en las cuales yo necesite trabajar con ese argumento.
Y eso podría ser un poco tedioso.
De esta manera yo voy a tomar el argumento si viene pero si estoy creando uno nuevo ese argumento o
este data va a venir Null.
Hagamos la validación de una vez y si el producto o el producto data es diferente de Null.
Entonces voy a reiniciar y usar este producto y voy a decir que el producto va a ser igual al data.
De esa manera voy a grabar los cambios.
Si esto funciona al tocar cualquier opción voy a hacer click y noten que ya viene precargada la información
o.
Como que se cargó todo.
Acuérdense que cada uno de la información que yo tengo en mi servicio.
Bueno perdón en este widget por ejemplo quién el producto apuntó título.
Aquí lo estoy asignando como su inicial Balio.
Lo mismo sucede con el de El valor aquí está siendo asignado ir Estevill se ejecuta antes de que se
creen esos campos.
Entonces tendríamos la data precargada antes de que se disparen esas acciones.
Lo único que tenemos que determinar es la diferencia del botón Guardar.
Vamos a buscar ese código buscamos el de guardar el Summit Kristal Summit.
Aquí tengo que hacer la siguiente validación también voy a decir que si el producto producto producto
bio bio produce todo punto ahí.
Si esto es diferente de Null o lo puede poner si es igual a NULL cualquiera de las dos pero si es igual
a NULL entonces voy a crear el producto porque no existe pero si ya existió.
Lo que voy a hacer es llamar este mismo método este mismo código pero en vez de crear producto hacer
actualizar no editar producto perfecto.
Voy a grabar los cambios y eso debería ser todo.
Vamos a probar.
Voy a poner en de celular no voy a ponerle que es una moto y el precio lo vamos a actualizar por unos
25000.
No sé en qué monedas será apuntó 99 y esta va a estar deshabilitada grabo no tengo ningún feedback eso
es algo que tenemos que arreglar pronto.
Y si miramos nuestra base de datos vamos a regresar acá o que voy a abrir este aquí tengo.
Falso la moto y su precio.
El otro es el celular.
Voy a regresar a la página anterior y aquí se actualiza también automáticamente y por qué se actualiza
automáticamente porque recuerden que es un Stainless Willett se vuelve a redibujar y por consecuencia
hace nuevamente la petición a nuestro a base de datos de Fibes quien regresa.
La nueva modificación en ese registro.
Eso es básicamente lo que yo necesitaba hacer.
Ahora me gustaría poder tener un feedback.
Cuando yo actualizo algo aquí actualicé celular noté que todo quedó igual.
Voy a volver tocar guardar.
No hay ningún cambio Kito acá está disponible ok.
Y por cierto antes de terminar la clase recuerden que están viendo que estoy grabando el oiría y también
cuando se edita el Heydi existen el objeto y por eso se coloca acá y yo no quiero eso porque estaría
duplicando la información.
Ya tengo este día aquí y tengo el mismo día aquí.
Ustedes podrían dejarlo así si les parece útil pero yo no lo voy a hacer para evitar que se grabe ese
campo que entonces tendríamos que irnos a nuestro modelo vamos a abrirlo y en la instrucción punto tú
Jayson porque acuérdense que tú Jayson es la forma como yo lo construyó el mapa que se construyó esa
construcción del mapa es usada acá para regresar Milstein.
Yo lo que tengo que hacer es evitar mandar ese EITI grabo los cambios y eso es absolutamente todo.
Voy a borrar este registro.
Vamos a ver si es cierto.
Borremos el Haití y borremos este otro Haití también.
Si todo estuviera correcto si todo estuviera correcto entonces al tocar guardar no debería aparecer
el Haití nuevamente.
Y ahí estamos estamos bien en la próxima clase implementaremos el Nachbar que me diga se actualizó el
producto y también deberíamos desbloquear este botón porque si yo toco varias veces se van a hacer esa
X cantidad de peticiones para guardar la información.
Entonces debería estar bloqueado este botón hasta que tengamos la respuesta.
Pero eso en el próximo video.