Beispiel #1
0
        public override async void ViewAppearing()
        {
            base.ViewAppearing();

            _token = _messenger.Subscribe <SelectedOpChangedMessage>(async msg =>
            {
                await LoadOperationCommand.ExecuteAsync();

                if (_preferences.Get(UserSettingsKeys.ShowAgentsFromAnyTeam, false) is false)
                {
                    // Force refresh agents pins to only show current OP agents
                    Agents.Clear();
                    await RaisePropertyChanged(() => Agents);
                }

                await RefreshTeamsMembersPositionsCommand.ExecuteAsync(string.Empty);
            });
            _tokenReload ??= _messenger.Subscribe <MessageFrom <OperationRootTabbedViewModel> >(async msg => await LoadOperationCommand.ExecuteAsync());
            _tokenLiveLocation ??= _messenger.Subscribe <TeamAgentLocationUpdatedMessage>(async msg => await RefreshTeamAgentPositionCommand.ExecuteAsync(msg));
            _tokenLinkUpdated ??= _messenger.Subscribe <LinkDataChangedMessage>(UpdateLink);
            _tokenMarkerUpdated ??= _messenger.Subscribe <MarkerDataChangedMessage>(UpdateMarker);
            _tokenRefreshAllAgentsLocations ??= _messenger.Subscribe <RefreshAllAgentsLocationsMessage>(async msg => await RefreshTeamsMembersPositionsCommand.ExecuteAsync(string.Empty));

            await LoadOperationCommand.ExecuteAsync();

            await RefreshTeamsMembersPositionsCommand.ExecuteAsync(string.Empty);
        }
Beispiel #2
0
        public override async Task Initialize()
        {
            Analytics.TrackEvent(GetType().Name);

            await base.Initialize();

            if (_parameter == null || string.IsNullOrWhiteSpace(_parameter.OpId))
            {
                await _navigationService.Close(this);

                return;
            }

            LoadOperationCommand.Execute();
        }