//========================================================================== //========================================================================== //METODO PARA GENERAR UN NUEVO REGISTRO DE TABLERO private async void RegistrarTablero(object sender, EventArgs e) { //VARIABLE QUE RECIBIRA LA RESPUESTA AL METODO DE GUARDADO string respuesta = string.Empty; //SE REALIZA LA PREGUNTA AL USUARIO SOBRE SI DERESEA REGISTRAR EL TABLERO EN LA BASE DE DATOS //SE EVALUA LA RESPUESTA OBTENIDA DIRECTAMENTE EN EL CONDICIONAL if (await DisplayAlert("Alerta", "Esta apunto de realizar un nuevo registro de tablero." + "\n¿Desea continuat?", "Si", "No, volver")) { //------------------------------------------------------------------------------------------------ ActivityIndicator.IsVisible = ActivityIndicator.IsRunning = true; await Task.Delay(750); ActivityIndicator.IsVisible = ActivityIndicator.IsRunning = false; //------------------------------------------------------------------------------------------------ //SE EJECUTA EL METODO REGISTRAR TABLERO, ESTA FUNCION RETORNARA UNA VARIABLE TEXTO DEL TIPO STRING respuesta = DatosPagina.RegistrarTablero(Items); //SE EVALUA SI LA VARIABLE RETORNADA SE ENCUENTRA VACIA O NULA //VACIA O NULA => SE REGISTRO SATISFACTORIAMENTE //NO VACIA O NULA => NO SE PUDO REALIZAR EL REGISTRO if (!string.IsNullOrEmpty(respuesta)) { //SE MUESTRA POR MENSAJE DE CONSOLA Y DE ALERTA LA RESPUESTA OBTENIDA POR EL METODO REGISTRO TABLERO Mensaje(respuesta); await DisplayAlert("Mensaje", respuesta, "Entendido"); //SE ESCONDE LA SECCION (FRAME) QUE CONTENDRA EL CODIGO QR CODIGO.IsVisible = false; //SE HABILITA EL BOTON DE GENERAR CODIGO BotonGenerar.IsVisible = BotonGenerar.IsEnabled = true; //SE DESHABILITA EL BOTON DE GUARDAR EL TABLERO (CODIGOQR) BotonImagen.IsVisible = BotonImagen.IsEnabled = false; //SE DESHABILITA EL BOTON DE REGISTRAR EL TABLERO BotonRegistrar.IsVisible = BotonRegistrar.IsEnabled = false; //SE REMUEVE TODO ELEMENTO QUE SE ENCUENTRE DENTRO DEL STACKLAYOUT DEL FRAME "CODIGO" StackQR.Children.Clear(); } } }
//========================================================================== //========================================================================== //METODO PARA GENERAR UN NUEVO REGISTRO DE TABLERO private async void RegistrarTablero(object sender, EventArgs e) { //VARIABLE QUE RECIBIRA LA RESPUESTA AL METODO DE GUARDADO string respuesta = string.Empty; //SE REALIZA LA PREGUNTA AL USUARIO SOBRE SI DERESEA REGISTRAR EL TABLERO EN LA BASE DE DATOS //SE EVALUA LA RESPUESTA OBTENIDA DIRECTAMENTE EN EL CONDICIONAL if (await DisplayAlert("Alerta", DatosPagina.RegistrarTableroMethodMessage, DatosPagina.AffirmativeText, DatosPagina.NegativeText)) { //SE EVALUA LA CANTIDAD DE ITEMS CONTENIDOS EN LA LISTA "items" if (Items.Count > 0) //EXISTE AL MENOS UN ITEM DENTRO DE LA LISTA DE ITEMS { //SE ACTIVA EL ACTIVITY INDICATOR MIENTRAS SE EJECUTA DE MANERA ASINCRONA LA FUNCION REGISTRARTABLERO ActivityIndicator.IsVisible = true; ActivityIndicator.IsRunning = true; await Task.Run(async() => { respuesta = await DatosPagina.RegistrarTablero(Items); ActivityIndicator.IsRunning = false; }); ActivityIndicator.IsVisible = false; } else //NO EXISTE NINGUN ITEM DENTRO DE LA LISTA DE ITEMS { //SE LE PREGUNTA AL USUARIO SI DESEA CONTINUAR CON EL REGISTRO A PESAR DE NO HABER INGRESADO ITEMS DENTRO DEL TABLERO if (await DisplayAlert("Alerta", DatosPagina.NoItemsText + "\n\n¿Desea continuar el registro?", DatosPagina.AffirmativeText, DatosPagina.NegativeText)) { //SE ACTIVA EL ACTIVITY INDICATOR MIENTRAS SE EJECUTA DE MANERA ASINCRONA LA FUNCION REGISTRARTABLERO ActivityIndicator.IsVisible = true; ActivityIndicator.IsRunning = true; await Task.Run(async() => { respuesta = await DatosPagina.RegistrarTablero(Items); ActivityIndicator.IsRunning = false; }); ActivityIndicator.IsVisible = false; } } } //SE EVALUA SI LA VARIABLE RETORNADA SE ENCUENTRA VACIA O NULA //VACIA O NULA => SE REGISTRO SATISFACTORIAMENTE //NO VACIA O NULA => NO SE PUDO REALIZAR EL REGISTRO if (!string.IsNullOrEmpty(respuesta)) { //SE MUESTRA POR MENSAJE DE CONSOLA Y DE ALERTA LA RESPUESTA OBTENIDA POR EL METODO REGISTRO TABLERO DatosPagina.MensajePantalla(respuesta); //EVALUAMOS SI LA RESPUESTA OBTENIDA ES DE REGISRO EXITOSO if (respuesta.ToLower() == "registro exitoso") { //SE ESCONDE LA SECCION (FRAME) QUE CONTENDRA EL CODIGO QR CODIGO.IsVisible = false; //SE HABILITA EL BOTON DE GENERAR CODIGO BotonGenerar.IsVisible = BotonGenerar.IsEnabled = true; //SE DESHABILITA EL BOTON DE GUARDAR EL TABLERO (CODIGOQR) BotonImagen.IsVisible = BotonImagen.IsEnabled = false; //SE DESHABILITA EL BOTON DE REGISTRAR EL TABLERO BotonRegistrar.IsVisible = BotonRegistrar.IsEnabled = false; //SE ESCONDE LA SECCION DE INFORMACION DEL TABLERO FrameItemsTablero.IsVisible = false; //SE LIMPIA LA INFORMACION DE LOS CAMPOS entryTableroID.Text = entrySAPID.Text = entryArea.Text = entryDescripcion.Text = entryCantidad.Text = string.Empty; //SE INDICA EL NUMERO DE INDICE DEL PICKER AL CUAL DAR SET filialPicker.SelectedIndex = default; //SE LIMPIA LA LISTA DE ITEMS listViewItems.ItemsSource = null; //SE LIMPIA LA VARIABLE Items = new List <ItemTablero>(); //ESCONDEMOS LA LISTA DE ITEMS listaItems.IsVisible = false; //SE REMUEVE TODO ELEMENTO QUE SE ENCUENTRE DENTRO DEL STACKLAYOUT DEL FRAME "CODIGO" StackQR.Children.Clear(); } } }