You need to look at that a bit more closely, and pay attention to what is going on. If I rip out loads of stuff to leave just the "bare bones" of your code, there is a problem which leaps to mind:
if (CustType == 'U')
{
}
else if (CustType == 'H' || CustType == 'E')
{
switch (CustType)
{
case 'U':
break;
case 'E':
break;
case 'H':
break;
}
}
How is a CustType of 'U' going to get into the switch statement?
What I would suggest you do is put a breakpoint at the top of the method, and use the single step facility to work your way through the code look at what is going on. It's not difficult, but the chances are you are "too close" to the code to see the problems, and a step-by-step walk through with you predicting what should happen before each line is executed and comparing that to what does happen would probably help you a lot!
Then go back to your instructions and look at them closely.
Try to process each type individually on paper, and see what you need to do - it might help you work out how to implement this.
BTW: One of the instructions was "...must be one of..." - what happens if I enter a CustType of 'X'? or 'e', or 'h'?