Вы проверяете значение WithdrawCurrentAmount
перед назначением значения, введенного с консоли - значение по умолчанию decimal
равно 0.0
, поэтому ваше условие if
всегда возвращает false
;
Вам следует присвойте значение перед проверкой:
WithdrawCurrentAmount = Convert.ToDecimal(Console.ReadLine()); // this line now is before checking
if (WithdrawCurrentAmount < 0)
{
throw new Exception("You cannot withdraw a negative amount" );
}
CurrentBalance = CurrentBalance - WithdrawCurrentAmount;
Console.WriteLine("\nAvailable Current Balance is now: {0}", CurrentBalance);
return CurrentBalance;
Также, если вы введете что-то, что не может быть преобразовано в decimal
, вы получите исключение.