Ejemplo n.º 1
0
 public override async Task Initialize(WeatherSummaryViewModel argument)
 {
     weatherSummary = argument;
     Title          = argument.Name;
     TriggerPropertyChanged();
     await RefreshCommand.ExecuteAsync();
 }
Ejemplo n.º 2
0
        /// <summary>
        ///   Refresh <see cref="Plugins" /> with the latest list of available plugins from the online API repository and NuGet
        ///   repositories. Cached result might be returned if they <paramref name="forceRefresh" /> is set to false.
        /// </summary>
        public Task RefreshPluginsAsync(bool forceRefresh)
        {
            if (RefreshCommand.CanExecute(forceRefresh))
            {
                return(RefreshCommand.ExecuteAsync(forceRefresh));
            }

            return(Task.CompletedTask);
        }
Ejemplo n.º 3
0
        public override async void ViewAppearing()
        {
            base.ViewAppearing();

            _token ??= _messenger.Subscribe <MessageFrom <OperationRootTabbedViewModel> >(async msg => await RefreshCommand.ExecuteAsync());
            _tokenRefreshLink ??= _messenger.Subscribe <LinkDataChangedMessage>(msg => RefreshLinkCommand.Execute(msg.LinkData));
            _tokenRefreshMarker ??= _messenger.Subscribe <MarkerDataChangedMessage>(msg => RefreshMarkerCommand.Execute(msg.MarkerData));

            await RefreshCommand.ExecuteAsync();
        }
Ejemplo n.º 4
0
        public override async void ViewAppearing()
        {
            base.ViewAppearing();

            _token ??= _messenger.Subscribe <SelectedOpChangedMessage>(async msg => await RefreshCommand.ExecuteAsync());
            _tokenFromMap ??= _messenger.Subscribe <MessageFor <AssignmentsListViewModel> >(async msg => await RefreshCommand.ExecuteAsync());
            _tokenRefresh ??= _messenger.Subscribe <MessageFrom <OperationRootTabbedViewModel> >(async msg => await RefreshCommand.ExecuteAsync());

            await RefreshCommand.ExecuteAsync();
        }
Ejemplo n.º 5
0
        public override async Task Initialize()
        {
            RecordPerPage = 20;
            await RefreshCommand.ExecuteAsync();

            await base.Initialize();

            if (_event != null)
            {
                await NavigationService.Navigate <EventDetailsViewModel, Event>(_event);

                _event = null;
            }
        }
        private async Task DoCancellableRefreshTaskAsync(CancellationToken token)
        {
            try
            {
                if (_pendingRefreshTask != null)
                {
                    await _pendingRefreshTask;
                }
            }
            catch (OperationCanceledException)
            {
            }

            token.ThrowIfCancellationRequested();

            if (RefreshCommand != null && RefreshCommand.CanExecute(token, true))
            {
                await RefreshCommand.ExecuteAsync(token);
            }
        }
Ejemplo n.º 7
0
        public async void Launch(bool WasRunning, bool LoadData, string LaunchId)
        {
            var Args = (LaunchId ?? "").Split(new char[] { ':' });

            var IsLaunchedFromTile  = Args.Length >= 2 && Args[0].Equals("Tile");
            var IsLaunchedFromToast = Args.Length >= 2 && Args[0].Equals("Toast");
            var IsLaunchedFromVoice = Args.Length >= 2 && Args[0].Equals("Voice");

            var  NS = Repository.GetObject <INavigationService>();
            var  DS = Repository.GetObject <IDialogService>();
            bool StillNeedToGetTrucks = true;

            if (IsLaunchedFromVoice)
            {
                string ResultMessage = null;
                string FoundId       = null;
                if (Args.Length > 1 && Args[1].Equals("showTruckType"))
                {
                    var FoodType = Args[2];
                    if (LoadData == false)
                    {
                        await RefreshCommand.ExecuteAsync();

                        StillNeedToGetTrucks = false;
                    }
                    var FoundTruck = Openings.FirstOrDefault(o => o.FoodType.ToLowerInvariant().Contains(FoodType.ToLowerInvariant()));
                    if (FoundTruck != null)
                    {
                        FoundId = FoundTruck.TruckId;
                    }
                    else
                    {
                        ResultMessage = "Couldn't find a truck serving that food";
                    }
                }
                if (FoundId != null)
                {
                    SelectTruckCommand.Execute(FoundId);
                }
                else
                {
                    NS.GotoPage("HomePage");
                    if (ResultMessage != null)
                    {
                        await DS.ShowDialogAsync("Search for food type", ResultMessage, "OK", null);
                    }
                }
            }
            else if (IsLaunchedFromTile || IsLaunchedFromToast)
            {
                SelectTruckCommand.Execute(Args[1]);
            }
            else if (WasRunning == false)
            {
                NS.GotoPage("HomePage");
            }

            if (LoadData)
            {
                await LoadFavorites();

                if (WasRunning)
                {
                    await RestoreState();
                }

                if (StillNeedToGetTrucks)
                {
                    RefreshCommand.Execute();
                }

                if (NS.CurrentPageName.Equals("TruckPage"))
                {
                    LoadTruckExecutor.Execute(SelectedTruck.Id);
                }
            }
        }