/// <summary>
 /// Returns a gradebook column with scores.
 /// </summary>
 /// <param name="id">The gradebook column id.</param>
 /// <returns>The gradebook column.</returns>
 public async Task <GradebookColumn> GetGradebookColumnAsync(int id)
 {
     return(await GradebookColumns
            .Include(c => c.Scores)
            .SingleOrDefaultAsync(c => c.Id == id));
 }
        /// <summary>
        /// Returns the gradebook column for a resource link if there is exactly one. Otherwise
        /// returns null.
        /// </summary>
        /// <param name="id">The resource link id.</param>
        /// <returns>The gradebook column.</returns>
        public async Task <GradebookColumn> GetGradebookColumnByResourceLinkIdAsync(int id)
        {
            var gradebooksColumns = await GradebookColumns.Where(c => c.ResourceLink.Id == id).ToListAsync();

            return(gradebooksColumns.Count == 1 ? gradebooksColumns[0] : null);
        }