/// <summary>
            /// Invokes the transaction service to get the media storage SAS key.
            /// </summary>
            /// <param name="context">Request context <see cref="RequestContext" />.</param>
            /// <returns>The media storage SAS key.</returns>
            private string GetMediaStorageSasKey(RequestContext context)
            {
                ThrowIf.Null(context, "context");

                var transactionService        = new TransactionService.TransactionServiceClient(context);
                MediaStorageSasDetails sasKey = transactionService.GetMediaStorageSasKeyDetails();

                return(sasKey.SasKey);
            }
            /// <summary>
            /// Returns the media storage SAS key and its expiration date time as <see cref="DatetimeOffset"/>.
            /// </summary>
            /// <returns>The media storage SAS key details.</returns>
            internal MediaStorageSasDetails GetMediaStorageSasKeyDetails()
            {
                var                    data   = this.InvokeMethod(GetMediaStorageSasKeyMethodName);
                string                 sasKey = (string)data[0];
                DateTime               saskeyExpirationDateTimeInUtc       = (DateTime)data[1];
                DateTimeOffset         saskeyExpirationDateTimeOffsetInUtc = new DateTimeOffset(saskeyExpirationDateTimeInUtc);
                MediaStorageSasDetails mediaSasKeyDetails = new MediaStorageSasDetails();

                mediaSasKeyDetails.SasKey = sasKey;
                mediaSasKeyDetails.SasKeyExpirationDateTimeUtc = saskeyExpirationDateTimeOffsetInUtc;
                return(mediaSasKeyDetails);
            }