internal static NamespaceLongRunningOperation CreateLongRunningOperation(
            string operationName,
            NamespaceLongRunningResponse longRunningResponse)
        {
            if (string.IsNullOrWhiteSpace(operationName))
            {
                throw new ArgumentNullException("operationName");
            }

            if (longRunningResponse == null)
            {
                throw new ArgumentNullException("longRunningResponse");
            }

            var result = new NamespaceLongRunningOperation
            {
                OperationName = operationName,
                OperationLink = longRunningResponse.OperationStatusLink,
                RetryAfter    = TimeSpan.FromSeconds(longRunningResponse.RetryAfter),
                Status        = longRunningResponse.Status,
                Error         = (longRunningResponse.Error != null) ? longRunningResponse.Error.Message : null
            };

            return(result);
        }
        public NamespaceLongRunningOperation BeginDeleteNamespace(string resourceGroupName, string namespaceName)
        {
            NamespaceLongRunningResponse response = Client.Namespaces.Delete(resourceGroupName, namespaceName);

            RetryAfter(response, Client.LongRunningOperationInitialTimeout);

            return(NamespaceLongRunningOperation.CreateLongRunningOperation(NamespaceLongRunningOperation.DeleteOperation, response));
        }