Exemplo n.º 1
0
        public async Task DisableUser(string userId)
        {
            var user = await GetUserDetails(userId, true);

            if (user != null)
            {
                foreach (var subscription in user.Subscriptions.Where(s => string.Equals(s.ProductId, _productId, StringComparison.InvariantCultureIgnoreCase)))
                {
                    await DisableSubscription(subscription.Id);
                }

                var request = new EnableDisableAzureUserRequest {
                    State = "blocked"
                };
                using (var httpRequest = new HttpRequestMessage(new HttpMethod("PATCH"), $"/users/{userId}?api-version=2017-03-01"))
                {
                    httpRequest.Headers.Add("If-Match", "*");
                    await PostPutRequest(httpRequest, request);
                }
            }
            else
            {
                throw new Exceptions.EntityNotFoundException($"Could not find User");
            }
        }
Exemplo n.º 2
0
        private async Task DisableSubscription(string subscriptionId)
        {
            var request = new EnableDisableAzureUserRequest {
                State = "suspended"
            };

            using (var httpRequest = new HttpRequestMessage(new HttpMethod("PATCH"), $"/subscriptions/{subscriptionId}?api-version=2017-03-01"))
            {
                httpRequest.Headers.Add("If-Match", "*");
                await PostPutRequest(httpRequest, request);
            }
        }