/// <summary>
        /// Asynchronously Create Jobcode Assignments.
        /// </summary>
        /// <remarks>
        /// Add a single jobcode assignment to a user.
        /// </remarks>
        /// <param name="jobcodeAssignment">
        /// The <see cref="JobcodeAssignment"/> assignment to be created.
        /// </param>
        /// <returns>
        /// The <see cref="JobcodeAssignment"/> assignment that was created, along with
        /// an output instance of the <see cref="ResultsMeta"/> class containing additional data.
        /// </returns>
        public async Task <(JobcodeAssignment, ResultsMeta)> CreateJobcodeAssignmentAsync(
            JobcodeAssignment jobcodeAssignment)
        {
            (IList <JobcodeAssignment> jobcodeAssignments, ResultsMeta resultsMeta) = await CreateJobcodeAssignmentsAsync(new[] { jobcodeAssignment }, default).ConfigureAwait(false);

            return(jobcodeAssignments.FirstOrDefault(), resultsMeta);
        }
        /// <summary>
        /// Create Jobcode Assignments.
        /// </summary>
        /// <remarks>
        /// Add a single jobcode assignment to a user.
        /// </remarks>
        /// <param name="jobcodeAssignment">
        /// The <see cref="JobcodeAssignment"/> assignment to be created.
        /// </param>
        /// <returns>
        /// The <see cref="JobcodeAssignment"/> assignment that was created, along with
        /// an output instance of the <see cref="ResultsMeta"/> class containing additional data.
        /// </returns>
        public (JobcodeAssignment, ResultsMeta) CreateJobcodeAssignment(JobcodeAssignment jobcodeAssignment)
        {
            (IList <JobcodeAssignment> jobcodeAssignments, ResultsMeta resultsMeta) = CreateJobcodeAssignments(new[] { jobcodeAssignment });

            return(jobcodeAssignments.FirstOrDefault(), resultsMeta);
        }
 /// <summary>
 /// Asynchronously Delete Jobcode Assignments.
 /// </summary>
 /// <remarks>
 /// Delete a single <see cref="JobcodeAssignment"/> assignment.
 /// </remarks>
 /// <param name="jobcodeAssignment">
 /// The <see cref="JobcodeAssignment"/> assignment object to be deleted.
 /// </param>
 /// <returns>The asynchronous task.</returns>
 public async Task DeleteJobcodeAssignmentAsync(
     JobcodeAssignment jobcodeAssignment)
 {
     await DeleteJobcodeAssignmentsAsync(new[] { jobcodeAssignment.Id }, default).ConfigureAwait(false);
 }
 /// <summary>
 /// Asynchronously Delete Jobcode Assignments, with support for cancellation.
 /// </summary>
 /// <remarks>
 /// Delete a single <see cref="JobcodeAssignment"/> assignment.
 /// </remarks>
 /// <param name="jobcodeAssignment">
 /// The <see cref="JobcodeAssignment"/> assignment object to be deleted.
 /// </param>
 /// <param name="cancellationToken">
 /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
 /// </param>
 /// <returns>The asynchronous task.</returns>
 public async Task DeleteJobcodeAssignmentAsync(
     JobcodeAssignment jobcodeAssignment,
     CancellationToken cancellationToken)
 {
     await DeleteJobcodeAssignmentsAsync(new[] { jobcodeAssignment.Id }, cancellationToken).ConfigureAwait(false);
 }
 /// <summary>
 /// Delete Jobcode Assignments.
 /// </summary>
 /// <remarks>
 /// Delete a single <see cref="JobcodeAssignment"/> assignment.
 /// </remarks>
 /// <param name="jobcodeAssignment">
 /// The <see cref="JobcodeAssignment"/> assignment object to be deleted.
 /// </param>
 public void DeleteJobcodeAssignment(JobcodeAssignment jobcodeAssignment)
 {
     AsyncUtil.RunSync(() => DeleteJobcodeAssignmentAsync(jobcodeAssignment));
 }