You're using the value -1 for indicate the absence of value. I think it's better, and more readable, to usa a nullable type then. So it would be null when it has no value, and you can check the property HasValue instead of checking if its value is equal or higher than zero.