private void ListSoldiers()
 {
     foreach (var soldier in soldiers)
     {
         Console.WriteLine(soldier.ToString());
     }
 }
示例#2
0
        public void Run()
        {
            string command;

            while ((command = reader.ReadLine()) != "End")
            {
                string[] cmdArg = command.Split(" ", StringSplitOptions.RemoveEmptyEntries).ToArray();

                try
                {
                    soldier = militaryFactory.CreatSoldier(cmdArg, soldiers);
                }
                catch (InvalidCorpsException ice)
                {
                    continue;
                }


                if (soldier != null)
                {
                    soldiers.Add(soldier);
                }
            }

            foreach (var soldier in soldiers)
            {
                writer.WriteLine(soldier.ToString());
            }
        }
示例#3
0
        public void Run()
        {
            string input = Console.ReadLine();

            while (input != "End")
            {
                string[] argsInput = input.Split(" ", StringSplitOptions.RemoveEmptyEntries);

                string type      = argsInput[0];
                string id        = argsInput[1];
                string firstName = argsInput[2];
                string lastName  = argsInput[3];

                if (type == "Private")
                {
                    decimal salary = decimal.Parse(argsInput[4]);
                    soldier = GerPrivateSoldier(id, firstName, lastName, salary);
                }
                else if (type == "LieutenantGeneral")
                {
                    decimal salary = decimal.Parse(argsInput[4]);
                    soldier = GetLieutenantGeneral(id, firstName, lastName, salary, argsInput);
                }
                else if (type == "Engineer")
                {
                    decimal salary = decimal.Parse(argsInput[4]);
                    soldier = GetEngineer(id, firstName, lastName, salary, argsInput);
                }
                else if (type == "Commando")
                {
                    decimal salary = decimal.Parse(argsInput[4]);
                    soldier = GetCommando(id, firstName, lastName, salary, argsInput);
                }
                else if (type == "Spy")
                {
                    int codeNumber = int.Parse(argsInput[4]);
                    soldier = GetSpy(id, firstName, lastName, codeNumber);
                }
                if (soldier != null)
                {
                    this.soldiers.Add(soldier);
                }

                input = Console.ReadLine();
            }

            foreach (var soldier in soldiers)
            {
                Console.WriteLine(soldier.ToString());
            }
        }
示例#4
0
        public void Run()
        {
            string command;

            while ((command = this.reader.ReadLine()) != "End")
            {
                string[] cmdArg = command
                                  .Split()
                                  .ToArray();

                string   soldierType = cmdArg[0];
                int      id          = int.Parse(cmdArg[1]);
                string   firstName   = cmdArg[2];
                string   lastName    = cmdArg[3];
                decimal  salary;
                ISoldier soldier = null;

                switch (soldierType)
                {
                case "Private":
                    soldier = AddPrivate(cmdArg, id, firstName, lastName);
                    break;

                case "LieutenantGeneral":
                    soldier = AddGeneral(cmdArg, id, firstName, lastName, out soldier, out salary);
                    break;

                case "Engineer":
                    salary = decimal.Parse(cmdArg[4]);
                    string corps = cmdArg[5];
                    try
                    {
                        soldier = CreateEngineer(cmdArg, id, firstName, lastName, salary, corps);
                    }
                    catch (InvalidCorpsException)
                    {
                        continue;
                    }
                    break;

                case "Commando":
                    salary = decimal.Parse(cmdArg[4]);
                    corps  = cmdArg[5];

                    try
                    {
                        ICommando commando = CreateCommando(cmdArg, id, firstName, lastName, salary, corps);

                        soldier = commando;
                    }
                    catch (InvalidCorpsException)
                    {
                        continue;
                    }
                    break;

                case "Spy":
                    soldier = AddSpy(cmdArg, id, firstName, lastName);
                    break;

                default:
                    break;
                }

                if (soldier != null)
                {
                    this.soldiers.Add(soldier);
                }
            }

            foreach (var soldier in this.soldiers)
            {
                this.writer.WriteLine(soldier.ToString());
            }
        }