예제 #1
0
        public async void UpdateForumsList()
        {
            ActivityIndicator = true;
            Forums            = new ObservableCollection <ForumDetailViewModel>();
            Debug.WriteLine("[FORUMS LIST]: starts looking for forums" + ActivityIndicator);
            try {
                var forumsList = await _forumService.GetForumsAsync();

                foreach (Forum forum in forumsList)
                {
                    Forums.Add(new ForumDetailViewModel(new PageService())
                    {
                        Title         = forum.Title,
                        Place         = forum.Place,
                        Schedules     = forum.Schedules,
                        Date          = forum.Date,
                        Hour          = forum.Hour,
                        Confirmations = forum.Confirmations.ToString(),
                        Registration  = forum.Id,      // local id
                        RemoteId      = forum.RemoteId // remote id, ideally should only use this one
                    });
                    ActivityIndicator = false;
                    Debug.WriteLine("[FORUMS LIST]: finishes looking for forums" + ActivityIndicator);
                }

                if (forumsList.Count == 0)
                {
                    NoForumWarning    = true;
                    ForumVisibility   = false;
                    ActivityIndicator = false;
                }
                else
                {
                    NoForumWarning    = false;
                    ForumVisibility   = true;
                    ActivityIndicator = false;
                }
            } catch (Exception ex) {
                Debug.WriteLine("[Update forums list] " + ex.Message);
                await _pageService.DisplayAlert("Falha ao carregar fóruns",
                                                "Houve um erro ao estabelecer conexão com o servidor. Por favor, tente novamente.",
                                                null, "Ok");

                await _pageService.PopAsync();
            }
        }
        public async Task <Forum> SelectNextForum()
        {
            var listForum = await _forumService.GetForumsAsync();

            return(GetLatestForum(listForum));
        }