コード例 #1
0
        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);
        }
コード例 #2
0
        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();
            }
        }