public async Task DeleteResourceLock(ResourceLockContract input)
        {
            ArgumentChecks.IsNotNull(input, nameof(input));

            await ExecuteNewRequest(
                string.Format(ResourceLockUrl, input.Id),
                Method.Delete,
                request =>
            {
                request.AddQueryParameter("resourceType", input.Resource.EntityType.ToString());
                request.AddQueryParameter("resourceId", input.Resource.EntityId);
            });
        }
        public async Task <IDisposable> CreateResourceLock(ResourceLockContract input)
        {
            ArgumentChecks.IsNotNull(input, nameof(input));

            return(new ResourceLock(this,
                                    await ExecuteNewRequest <ResourceLockContract>(
                                        RespurceLocksUrl,
                                        Method.Post,
                                        request =>
            {
                request.AddJsonContent(input);
                request.AddQueryParameter("view", "entity");
            })));
        }
 public ResourceLock(ResourceLocksApi resourceLockApi, ResourceLockContract resourceLockContract)
 {
     _resourceLockApi      = resourceLockApi;
     _resourceLockContract = resourceLockContract;
 }