private static void UseCashMachine(IBillService billService, IPinValidationService pinValidationService) { Console.WriteLine("Por favor, introduzca su PIN."); string pin = Console.ReadLine(); if (!Regex.IsMatch(pin, @"^\d{4}$")) { Console.WriteLine("El PIN debe contener cuatro números."); return; } if (!pinValidationService.ValidatePin(pin)) { Console.WriteLine("PIN no válido."); return; } string choiceStr = null; do { Console.WriteLine("1. Sacar dinero." + Environment.NewLine + "2. Ingresar dinero." + Environment.NewLine + "3. Ver el efectivo que tiene el cajero (solo para superadministradores del cajero ;) )" + Environment.NewLine + "4. Salir."); choiceStr = Console.ReadLine(); if (!Int32.TryParse(choiceStr, out int choice)) { Console.WriteLine($"{choiceStr} no es un valor de menú válido."); continue; } switch (choice) { case 1: ExtractMoney(billService); break; case 2: DepositMoney(billService); break; case 3: ViewAvailableCash(billService); break; case 4: Console.WriteLine("Recoja su tarjeta ;) Pulse Enter para salir."); Console.ReadLine(); return; default: Console.WriteLine($"{choice} no es un ítem válido en el menú."); break; } } while (true); }
public string ValidatePin(long pinID) { _pinValidationService = new IPinValidationService(); if (_pinValidationService.ValidatePin(pinID) == true) { return("Valid Pin"); } else { return("Invalid Pin"); } }