コード例 #1
0
        public NetworkingItemBarViewModel(CloudFile.Networker _networker)
        {
            networker = _networker;
            LBname    = networker.ToString();
            RegisterNetworker();
            BTNcontrolClicked = new Xamarin.Forms.Command(async() =>
            {
                BTNcontrolEnabled = false;
                switch (networker.Status)
                {
                case CloudFile.Networker.NetworkStatus.Networking:
                    {
                        await networker.PauseAsync();
                    }
                    break;

                case CloudFile.Networker.NetworkStatus.ErrorNeedRestart:
                    {
                        await networker.ResetAsync();
                        await networker.StartAsync();
                    }
                    break;

                case CloudFile.Networker.NetworkStatus.NotStarted:
                    {
                        await networker.StartAsync();
                    }
                    break;

                case CloudFile.Networker.NetworkStatus.Paused:
                    {
                        await networker.StartAsync();
                    }
                    break;

                case CloudFile.Networker.NetworkStatus.Completed:
                    {
                        await MyLogger.Alert("The task is already completed, no action to take");
                    } break;

                default: throw new Exception($"networker.Status: {networker.Status}");
                }
            });
        }
コード例 #2
0
 private void OnStatusLeave(CloudFile.Networker networker, CloudFile.Networker.NetworkStatus status)
 {
     StatusLeave?.Invoke(networker, status);
 }
コード例 #3
0
 private void OnStatusEnter(CloudFile.Networker networker, CloudFile.Networker.NetworkStatus status)
 {
     StatusEnter?.Invoke(networker, status);
 }