static void Main(string[] args) { LineSystem lineSystem = new LineSystem(); LineSystemCLI CLI = new LineSystemCLI(lineSystem); LineSystemCommandParser cmdParser = new LineSystemCommandParser(CLI, lineSystem); //2 hardcodede brugere. en med masser af penge og en med under advarselsgrænsen på 50 kr. User u = new User("Mathias", "Leding", "mledin14", "*****@*****.**"); User u1 = new User("Lars", "Larsen", "llarse14", "*****@*****.**"); u.balance = 100; u1.balance = 49; lineSystem.userList.Add(u); lineSystem.userList.Add(u1); CLI.RunProgram(cmdParser); }
public void RunProgram(LineSystemCommandParser cmdParser) { _lineSystem.productList = _lineSystem.LoadProductList(); bool programOn = true; while (programOn) { DisplayProductList(); try { cmdParser.ParseCmd(Console.ReadLine()); } #region Lang Liste af catch catch (IllegalCashTransactionException e) { Console.Clear(); Console.WriteLine("Der opstod en fejl i overførslen:\n" + e.Message); } catch (InsufficientCreditsException) { Console.Clear(); Console.WriteLine("Du har ikke nok penge. Indsæt flere på kontoen og prøv igen"); } catch (NoProductsFoundException) { Console.Clear(); Console.WriteLine("Listen over produkter er væk."); } catch (NoUsersFoundException) { Console.Clear(); Console.WriteLine("Der er i øjeblikket ingen brugere registreret."); } catch (ProductNotFoundException inputProductID) { Console.Clear(); Console.WriteLine("Det indtastede ID {0} Blev ikke fundet.", inputProductID.Message); } catch (UserNotFoundException) { Console.Clear(); Console.WriteLine("Brugeren med dette navn eksisterer ikke."); } catch (GeneralErrorException e) { Console.Clear(); Console.WriteLine("Der opstod en fejl.\n" + e); } catch (AdminCommandNotFoundException notFoundCommand) { Console.Clear(); Console.WriteLine("Den indtastede adminkommando {0} findes ikke. De eksisterende kommandoer er: :adduser, :activate (efterfulgt af produktID), :deactivate (Efterfulgt af produktID), :addcash (Efterfulgt af brugernavn og beløb), :boughtoncrediton (efterfulgt af produktID), :boughtoncreditoff (efterfulgt af produktID) og :quit", notFoundCommand.Message); } catch (ProductIDNotNumberException inputThatIsNotNumber) { Console.Clear(); Console.WriteLine("Den indtastede værdi {0} er ikke et tal", inputThatIsNotNumber.Message); } catch (TooManyArgumentsErrorException) { Console.Clear(); Console.WriteLine("Det indtastede input indeholdt for mange argumenter."); } catch (Exception e) { Console.Clear(); Console.WriteLine(e.Message); } #endregion Console.ReadKey(); } }