Its bit difficult to tell from the code where it is failing. However, I did notice you are catching exception at every place which means application is eating up the exception. If I had been your place, I would change the code to throw the exception at every place instead of catching it. it would definitely give some pointers in terms of stack trace if it is failing anywhere.
You can also try running application in debug mode to see why it is not picking up the requested values.
It's exactly the same and completely different as this tiny ad: