public async Task<BoxTaskAssignment> CreateTaskAssignmentAsync(BoxTaskAssignmentRequest taskAssignmentRequest)
{
taskAssignmentRequest.ThrowIfNull("taskAssignmentRequest")
.Task.ThrowIfNull("taskAssignmentRequest.Task")
.Id.ThrowIfNullOrWhiteSpace("taskAssignmentRequest.Task.Id");
taskAssignmentRequest.AssignTo.ThrowIfNull("taskAssignmentRequest.AssignTo");
if (string.IsNullOrEmpty(taskAssignmentRequest.AssignTo.Login) && string.IsNullOrEmpty(taskAssignmentRequest.AssignTo.Id))
{
throw new ArgumentException("At least one of Id or Login is required in this object.", "taskAssignmentRequest.AssignTo");
}
BoxRequest request = new BoxRequest(_config.TaskAssignmentsEndpointUri)
.Method(RequestMethod.Post)
.Payload(_converter.Serialize(taskAssignmentRequest));
IBoxResponse<BoxTaskAssignment> response = await ToResponseAsync<BoxTaskAssignment>(request).ConfigureAwait(false);
return response.ResponseObject;
}