예제 #1
0
        private async Task <string> OnCommandReceivedAsync(RemoteParameter parameter)
        {
            switch (parameter.Command)
            {
            case RemoteCommands.MiriotConfiguring:
                _dispatcherService.Invoke(() =>
                {
                    _vm.HasNoConfiguration = false;
                    _vm.IsConfiguring      = true;
                });
                return(string.Empty);

            case RemoteCommands.LoadUser:
                _dispatcherService.Invoke(async() =>
                {
                    await _vm.LoadUser(_vm.User);
                });
                return(string.Empty);

            case RemoteCommands.GetUser:
                _dispatcherService.Invoke(() =>
                {
                    _vm.HasNoConfiguration = false;
                    _vm.IsConfiguring      = true;
                });
                return(_vm.User.Id.ToString());

            case RemoteCommands.GraphService_Initialize:
                Messenger.Default.Send(new GraphServiceMessage(false));
                return(null);

            case RemoteCommands.GraphService_GetUser:
                Messenger.Default.Send(new GraphServiceMessage(true));

                var _graphService = SimpleIoc.Default.GetInstance <IGraphService>();

                await _graphService.LoginAsync();

                var graphUser = await _graphService.GetUserAsync();

                return(JsonConvert.SerializeObject(graphUser));

            case RemoteCommands.GoToCameraPage:
                SimpleIoc.Default.GetInstance <INavigationService>().NavigateTo(PageKeys.CameraSettings);
                return(null);

            case RemoteCommands.MiriotConnect:
                //_socketService.ListenTcp();
                return(null);

            case RemoteCommands.MiriotDiscovery:
            default:
                // Reply back
                var id  = _platformService.GetSystemIdentifier();
                var sys = new RomeRemoteSystem(null)
                {
                    Id          = id,
                    DisplayName = Environment.MachineName
                };
                return(JsonConvert.SerializeObject(sys));
            }
        }