コード例 #1
0
        void List(string search = null)
        {
            Device.BeginInvokeOnMainThread(async() =>
            {
                try
                {
                    IsRefreshing = true;

                    IList <Promocao> promocoes = new List <Promocao>();
                    if (search == null)
                    {
                        //Recuperar as promocoes
                        promocoes          = await _logic.ListAsync();
                        _promocoesFiltered = promocoes;
                    }
                    else
                    {
                        //Filtrar as promocoes
                        promocoes = _promocoesFiltered
                                    .Where(x =>
                                           x.Titulo.Trim().ToLower().Contains(search.Trim().ToLower()) ||
                                           x.Descricao.Trim().ToLower().Contains(search.Trim().ToLower())
                                           )
                                    .ToList();
                    }

                    Model = new ObservableCollection <Promocao>(promocoes);

                    ErrorMessage = promocoes.Count == 0 ? "Nenhuma promoção disponível." : null;

                    IsRefreshing = false;
                }
                catch (Exception)
                {
                    Model        = null;
                    IsRefreshing = false;
                    ErrorMessage = "Não foi possível conectar-se ao servidor, tente novamente em breve.";
                }
            });
        }
コード例 #2
0
 public async Task <IEnumerable <Promocao> > Get() => await _logic.ListAsync();