Пример #1
0
        private async void GetSkyDriveSessionStatus()
        {
            try
            {
                IsSkyDriveButtonEnabled = false;

                _skyDriveSessionStatus = await SkyDriveHelper.GetSessionStatusAsync();

                switch (_skyDriveSessionStatus)
                {
                case LiveConnectSessionStatus.Connected:
                    SkyDriveStatusText = AppResources.AccountConnectedStatusText;
                    break;

                case LiveConnectSessionStatus.NotConnected:
                    SkyDriveStatusText = AppResources.AccountDisconnectedStatusText;
                    break;

                case LiveConnectSessionStatus.Unknown:
                    SkyDriveStatusText = AppResources.AccountUnknownStatusText;
                    break;
                }
            }
            catch (LiveAuthException)
            {
                SkyDriveStatusText = AppResources.AccountErrorStatusText;
            }
            finally
            {
                IsSkyDriveButtonEnabled = true;
            }
        }
Пример #2
0
        private async Task <string> UploadToSkyDriveAsync(bool getLink)
        {
            _cts = new CancellationTokenSource();
            _cts.Token.Register(OnUploadCanceled);
            _sdProgress = new Progress <LiveOperationProgress>(OnSkyDriveUploadProgress);

            _cts.Token.ThrowIfCancellationRequested();

            var status = await SkyDriveHelper.GetSessionStatusAsync();

            if (status != LiveConnectSessionStatus.Connected)
            {
                throw new InvalidOperationException("Not connected.");
            }

            var fileId = await SkyDriveHelper.UploadFileAsync(_memo.AudioFile, GetUploadFileName(), _cts.Token, _sdProgress);

            if (getLink && !string.IsNullOrWhiteSpace(fileId))
            {
                var link = await SkyDriveHelper.GetLinkAsync(fileId, _cts.Token);

                return(link);
            }

            return(null);
        }