public Task<Assignment> UpdateAssignmentAsync(Assignment assignment)
 {
     return Task.Run(() =>
     {
         if (string.IsNullOrEmpty(assignment.Id)) assignment.Id = Guid.NewGuid().ToString();
         _dbContext.Assignments.AddOrUpdate(assignment);
         return assignment;
     });
 }
 public Task<Assignment> CreateAssignmentAsync(Assignment assignment)
 {
     return Task.Run(() =>
     {
         assignment.Id = Guid.NewGuid().ToString();
         _dbContext.Assignments.Add(assignment);
         return assignment;
     });
 }
 public async Task<IHttpActionResult> PutAssignment(Assignment assignment)
 {
     try
     {
         if (assignment == null) return BadRequest();
         assignment = await _repository.UpdateAssignmentAsync(assignment);
         if (assignment == null) return InternalServerError();
         return Ok(assignment);
     }
     catch (Exception exception)
     {
         this.Logger.LogError(exception.ToString());
         return InternalServerError();
     }
 }