School year redo

There are a few other commits done before, I guess the reason is I did not updated them in add-bulkOperation branch, but they won't affect anything.
If the year is nullable and you call ToString() without a value, a NullReferenceException will be thrown. Let's talk about this pull request before further changes are made. Based on vendor feedback, we may have to take a different approach.