Exemplo n.º 1
0
        /// <summary>
        /// Lee los datos desde el API y luego decide el color en caso que haya aprobado o reprobado
        /// </summary>
        private async void CargarDatos()
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;

            try
            {
                List <notas> result = await APIrest.getAll();

                ObservableCollection <notasColor> notasAll = new ObservableCollection <notasColor>();
                result.ForEach(n =>
                               notasAll.Add(new notasColor()
                {
                    nota  = n,
                    color = n.promedio >= 6 ? Color.LightGreen : Color.LightCoral
                }
                                            )
                               );
                lnotas = notasAll;
            }
            catch (Exception ex)
            {
                Debug.Print(ex.Message);
            }
            finally
            {
                IsBusy = false;
            }
        }
        /// <summary>
        /// Elimina el dato selecionado en caso que entre en un objeto ya existente y que pueda ser eliminable
        /// </summary>
        private async void EliminarMethod()
        {
            if (await App.Current.MainPage.DisplayAlert("Eliminar notas", "¿Está seguro que desea eliminar las notas? No podra recuperarlas", "Eliminar", "Cancelar"))
            {
                IsBusy = true;

                await APIrest.delete(notaSelected.idnota);

                IsBusy = false;
                App.Current.MainPage = new NavigationPage(new MainPage());
            }
        }
        /// <summary>
        /// Manda los datos al servidor para actualizar o hacer post de un nuevo dato segun corresponda
        /// </summary>
        private async void GuardarActualizar()
        {
            IsBusy = true;

            if (await validarDatos())
            {
                if (!isPut)
                {
                    await APIrest.post(notaSelected);
                }
                else
                {
                    await APIrest.put(notaSelected.idnota, notaSelected);
                }
                IsBusy = false;
                App.Current.MainPage = new NavigationPage(new MainPage());
                return;
            }
            IsBusy = false;
        }