internal static Assignment Clone(this Assignment assignment)
 {
     Assignment result;
     if (assignment.SessionId.HasValue)
         result = new Assignment(assignment.RoomId, assignment.TimeslotId, assignment.SessionId.Value);
     else
         result = new Assignment(assignment.RoomId, assignment.TimeslotId);
     return result;
 }
 private void Assign(Assignment assignment, Session session)
 {
     assignment.SessionId = session.Id;
     _sessionMatrix.UpdateConstraints(assignment, session);
 }