Esempio n. 1
0
        async Task ExecuteLoadIncidenciasCommand()
        {
            if (_clickRegulator.SetClicked(nameof(ExecuteLoadIncidenciasCommand), true))
            {
                return;
            }
            IsBusy       = true;
            IsRefreshing = true;
            try
            {
                _incidenciasList.Clear();
                var incidencias = await IncidenciaService.ObtenerTodosRegistrosIncidenciaAsync();

                foreach (var item in incidencias)
                {
                    _incidenciasList.Add(item);
                }
            }
            catch (Exception ex)
            {
                await PageService.DisplayAlert("Error Message", ex.Message, "OK");
            }
            finally
            {
                _clickRegulator.ClickDone(nameof(ExecuteLoadIncidenciasCommand));
                IsBusy       = false;
                IsRefreshing = false;
            }
        }
Esempio n. 2
0
        async Task ExecuteAplicarFiltrosCommand()
        {
            if (_clickRegulator.SetClicked(nameof(ExecuteAplicarFiltrosCommand), true))
            {
                return;
            }

            IsBusy = true;
            try
            {
                ParentViewModel.IncidenciasList.Clear();

                var incidenciasFiltradasPorTipo = TipoIncidenciaSelected == null ?
                                                  (await IncidenciaService.ObtenerTodosRegistrosIncidenciaAsync()).ToList() :
                                                  (await IncidenciaService.ObtenerIncidenciasPorTipoAsync(TipoIncidenciaSelected.TipoIncidenciaId)).ToList();
                var incidenciasFiltradasPorEstado = StatusIncidenciaSelected == null ?
                                                    incidenciasFiltradasPorTipo :
                                                    incidenciasFiltradasPorTipo.Where(inc => inc.Status.StatusIncidenciaId == StatusIncidenciaSelected.StatusIncidenciaId).ToList();
                var incidenciasFiltradas = string.IsNullOrWhiteSpace(Search) ?
                                           incidenciasFiltradasPorEstado :
                                           incidenciasFiltradasPorEstado.Where(inc => inc.Titulo.Contains(Search) || inc.Descripcion.Contains(Search));

                foreach (var item in incidenciasFiltradas)
                {
                    ParentViewModel.IncidenciasList.Add(item);
                }

                ParentViewModel.IsFiltered = true;
                await PageService.PopAsync();
            }
            catch (Exception ex)
            {
                await PageService.DisplayAlert("ERROR", ex.Message, "OK");
            }
            finally
            {
                _clickRegulator.ClickDone(nameof(ExecuteAplicarFiltrosCommand));
                IsBusy = false;
            }
        }