示例#1
0
        private static HashSet <Repair> GetRepairs(List <string> repairArgs)
        {
            HashSet <Repair> repairs = new HashSet <Repair>();

            for (int i = 0; i < repairArgs.Count; i += 2)
            {
                string partName    = repairArgs[i];
                int    hoursWorked = int.Parse(repairArgs[i + 1]);

                Repair repair = new Repair(partName, hoursWorked);
                repairs.Add(repair);
            }

            return(repairs);
        }
示例#2
0
 public void AddRepair(Repair repair)
 {
     Repairs.Add(repair);
 }
示例#3
0
        static void Main(string[] args)
        {
            var listPeople = new List <ISoldier>();
            var input      = Console.ReadLine().Split();

            while (input[0] != "End")
            {
                var soldierType = input[0];
                var id          = input[1];
                var firstName   = input[2];
                var lastName    = input[3];
                var salary      = decimal.Parse(input[4]);
                try
                {
                    switch (soldierType)
                    {
                    case "Private":
                        listPeople.Add(new Private(firstName, lastName, id, salary));
                        break;

                    case "LieutenantGeneral":
                        var LeutenantGeneral = new LeutenantGeneral(firstName, lastName, id, salary);
                        for (int i = 5; i < input.Count(); i++)
                        {
                            var privateId = input[i];
                            var privat    = (Private)listPeople.FirstOrDefault(x => x.Id == privateId);
                            LeutenantGeneral.AddPrivate(privat);
                        }
                        listPeople.Add(LeutenantGeneral);
                        break;

                    case "Engineer":
                        var engineer = new Engineer(firstName, lastName, id, salary, input[5]);
                        for (int i = 6; i < input.Count(); i++)
                        {
                            var repairPart = input[i];
                            i++;
                            var repairHours = int.Parse(input[i]);
                            var repair      = new Repair(repairPart, repairHours);
                            engineer.AddRepair(repair);
                        }
                        listPeople.Add(engineer);
                        break;

                    case "Commando":
                        var commando = new Commando(firstName, lastName, id, salary, input[5]);
                        for (int i = 6; i < input.Count(); i++)
                        {
                            try
                            {
                                var missionName = input[i];
                                i++;
                                var missionState = input[i];
                                var mission      = new Mission(missionName, missionState);
                                commando.AddMission(mission);
                            }
                            catch (Exception)
                            {
                            }
                        }
                        listPeople.Add(commando);
                        break;

                    case "Spy":
                        var spy = new Spy(firstName, lastName, id, int.Parse(input[4]));
                        listPeople.Add(spy);
                        break;
                    }
                }
                catch (Exception)
                {
                }

                input = Console.ReadLine().Split();
            }

            foreach (var item in listPeople)
            {
                Console.WriteLine(item.ToString());
            }
        }