public async Task<BoxTask> CreateTaskAsync(BoxTaskCreateRequest taskCreateRequest)
{
taskCreateRequest.ThrowIfNull("taskCreateRequest")
.Item.ThrowIfNull("taskCreateRequest.Item")
.Id.ThrowIfNullOrWhiteSpace("taskCreateRequest.Item.Id");
taskCreateRequest.Item.Type.ThrowIfNull("taskCreateRequest.Item.Type");
if (taskCreateRequest.Item.Type != BoxType.file)
{
throw new ArgumentException("Currently only file is supported", "taskCreateRequest.Item.Type");
}
BoxRequest request = new BoxRequest(_config.TasksEndpointUri)
.Method(RequestMethod.Post)
.Payload(_converter.Serialize(taskCreateRequest));
IBoxResponse<BoxTask> response = await ToResponseAsync<BoxTask>(request).ConfigureAwait(false);
return response.ResponseObject;
}