public static void AddCommandoToArmy(string[] args, string id, string firstName, string lastName, decimal salary) { try { string corpsC = args[0]; Commando commando = CommandoFactory.CreateCommando(id, firstName, lastName, salary, corpsC); string[] missionArgs = args.Skip(1).ToArray(); for (int i = 0; i < missionArgs.Length; i += 2) { Mission mission; try { string codeName = missionArgs[i]; string state = missionArgs[i + 1]; mission = MissionFactory.CreateMission(codeName, state); commando.AddMission(mission); } catch (InvalidStateExceprion ise) { continue; } } Engine.army.Add(commando); } catch (InvalidCorpseException ice) { } }
private static void AddCommando(string[] tokens) { try { Commando commando = new Commando(tokens[1], tokens[2], tokens[3], double.Parse(tokens[4]), tokens[5]); for(int i=6; i<tokens.Length; i += 2) { try { Mission mission = new Mission(tokens[i], tokens[i + 1]); commando.AddMission(mission); } catch(ArgumentException) { } } soldiers.Add(commando); } catch (ArgumentException) { } }
private static void CreateCommando(List <ISoldier> soldiers, List <string> splittedInput, int id, string firstName, string lastName) { decimal salary = ParseSalary(splittedInput); var corp = splittedInput[5]; if (!Enum.IsDefined(typeof(Corps), corp)) { return; } ICommando commando = new Commando(id, firstName, lastName, salary, (Corps)Enum.Parse(typeof(Corps), corp)); splittedInput = Skipping(splittedInput, 6); for (int i = 0; i < splittedInput.Count; i += 2) { var codeName = splittedInput[i]; var state = splittedInput[i + 1]; if (!Enum.IsDefined(typeof(MissionStates), state)) { continue; } IMission mission = new Mission(codeName, (MissionStates)Enum.Parse(typeof(MissionStates), state)); commando.AddMission(mission); } soldiers.Add(commando); }
private ISoldier CreateCommando(string[] arguments) { var id = int.Parse(arguments[0]); var firstName = arguments[1]; var lastName = arguments[2]; var salary = decimal.Parse(arguments[3]); var corps = arguments[4]; ICommando commando = new Commando(id, firstName, lastName, salary, corps); var missions = arguments .Skip(5) .ToList(); for (int i = 0; i < missions.Count; i += 2) { try { var missionCodeName = missions[i]; var missionState = missions[i + 1]; IMission mission = new Mission(missionCodeName, missionState); commando.AddMission(mission); } catch (InvalidStateException) { continue; } } return(commando); }
private static Soldier CreateCommando(int id, string firstName, string lastName, double salary, string corps, string[] cmdArgs) { Commando commando = null; try { commando = new Commando(id, firstName, lastName, salary, corps); } catch (ArgumentException) { return(null); } for (int i = 6; i < cmdArgs.Length - 1; i += 2) { try { string codeName = cmdArgs[i]; string state = cmdArgs[i + 1]; commando.AddMission(new Mission(codeName, state)); } catch (Exception) { continue; } } return(commando); }
private static ICommando CreateComando(string[] cmdArg, int id, string firstName, string lastName, decimal salary, string corps) { ICommando commando = new Commando(firstName, lastName, id, salary, corps); string[] missions = cmdArg.Skip(6).ToArray(); for (int i = 0; i < missions.Length; i += 2) { try { string codeName = missions[i]; string state = missions[i + 1]; IMission mission = new Mission(codeName, state); commando.AddMission(mission); } catch (InvalidMissionStateException) { continue; } } return(commando); }
private ISoldier GetCommandoType(int id, string firstName, string lastName, decimal salary, string[] newArgs) { ICommando commando = null; Corp corp; bool isCastToCorp = Enum.TryParse <Corp>(newArgs[0], out corp); if (isCastToCorp) { commando = new Commando(id, firstName, lastName, salary, corp); string codeName; string state; for (int i = 1; i < newArgs.Length; i += 2) { codeName = newArgs[i]; state = newArgs[i + 1]; //“Commando <id> <firstName> <lastName> <salary> <corps> //<mission1CodeName> <mission1state> … <missionNCodeName> <missionNstate>” //a missions cde name, description and state will always come together //bool validMissionName = Enum.TryParse<State>(missionName, out newMission.State) if (Enum.TryParse <State>(state, out State newState)) { IMission validMissionName = new Mission(codeName, newState); commando.AddMission(validMissionName); } } } return(commando); }
public ICommando CreateCommando(string[] args) { string id = args[1]; string firstName = args[2]; string lastName = args[3]; decimal salary = decimal.Parse(args[4]); string corpsStr = args[5]; string[] missionInfo = args.Skip(6).ToArray(); ICommando commando = new Commando(id, firstName, lastName, salary, corpsStr); if (missionInfo.Length != 0) { for (int i = 0; i < missionInfo.Length; i += 2) { string codeName = missionInfo[i]; string status = missionInfo[i + 1]; try { Mission mission = new Mission(codeName, status); commando.AddMission(mission); } catch (Exception) { } } } return(commando); }
private static ICommando GetCommando(string[] command, int id, string firstName, string lastName, decimal salary, string corps) { ICommando commando = new Commando(id, firstName, lastName, salary, corps); string[] missionArgs = command.Skip(6).ToArray(); for (int i = 0; i < missionArgs.Length; i += 2) { try { string missionCodeName = missionArgs[i]; string missionState = missionArgs[1]; IMission mission = new Mission(missionCodeName, missionState); commando.AddMission(mission); } catch (InvalidMissionCompletionException imce) { continue; } } return(commando); }
private static ISoldier CreateCommando(string[] arguments, int id, string firstName, string lastName, decimal salary, string corps) { ISoldier soldier; Commando commando = new Commando(id, firstName, lastName, salary, corps); string[] missionArguments = arguments.Skip(6).ToArray(); for (int i = 0; i < missionArguments.Length; i += 2) { try { string codeName = missionArguments[i]; string state = missionArguments[i + 1]; Mission missionToAdd = new Mission(codeName, state); commando.AddMission(missionToAdd); } catch { continue; } } soldier = commando; return(soldier); }
private ICommando CreateCommando(string[] commandArgs, int id, string firstName, string lastName, decimal salary) { string corps = commandArgs[5]; ICommando commando = new Commando(id, firstName, lastName, salary, corps); string[] missionsArgs = commandArgs .Skip(6) .ToArray(); for (int i = 0; i < missionsArgs.Length; i += 2) { string codeName = missionsArgs[i]; string state = missionsArgs[i + 1]; try { IMission mission = new Mission(codeName, state); commando.AddMission(mission); } catch (InvalidMissionException ime) { continue; } } return(commando); }
private static void AddMissions(string[] tokens, Commando commando) { for (int i = 6; i < tokens.Length; i += 2) { var missionCodeName = tokens[i]; var missionState = tokens[i + 1]; var mission = new Mission(missionCodeName, missionState); commando.AddMission(mission); } }
private static void AddMissions(string[] inputParams, Commando commando, int i) { try { Mission mission = new Mission(inputParams[6 + (i * 2)], inputParams[7 + (i * 2)]); commando.AddMission(mission); } catch (ArgumentException e) { } }
private static void AddValidMissions(string[] tokens, Commando commando) { for (int i = 6; i < tokens.Length; i += 2) { string codeName = tokens[i]; string missionState = tokens[i + 1]; MissionStatus missionStatus = MissionStatus.invalid; missionStatus = ValidateMission(missionState, missionStatus); if (!(missionStatus == MissionStatus.invalid)) { Mission mission = new Mission(codeName, missionStatus); commando.AddMission(mission); } } }
private static void GetMissions(string[] tokens, Commando commando) { for (int i = 6; i < tokens.Length; i++) { var codeName = tokens[i]; var missionState = tokens[++i]; try { IMission mission = new Mission(codeName, missionState); commando.AddMission(mission); } catch (Exception) { } } }
private static void GetAllMission(string[] cmdArg, Commando commando) { for (int i = 0; i < cmdArg.Length; i += 2) { var codeName = cmdArg[i]; var state = cmdArg[i + 1]; try { var mission = new Mission(codeName, state); commando.AddMission(mission); } catch (Exception) { continue; } } }
private void AddMission(Commando commando, string[] missionArgs) { for (int i = 0; i < missionArgs.Length; i += 2) { try { string name = missionArgs[i]; string state = missionArgs[i + 1]; IMission mission = this.missionFactory.MakeMission(name, state); commando.AddMission(mission); } catch (InvalidStateException) { continue; } } }
private ISoldier GetCommando(string id, string firstName, string lastName, decimal salary, Corps corps, string[] missons) { Commando commando = new Commando(id, firstName, lastName, salary, corps); for (int i = 0; i < missons.Length; i += 2) { if (!Enum.TryParse(missons[i + 1], out State state)) { continue; } IMission mission = new Mission(missons[i], state); commando.AddMission(mission); } return(commando); }
private ICommando CreateCommando(string[] args, int iD, string firstName, string lastName, decimal salary, string corps) { ICommando commando = new Commando(iD, firstName, lastName, salary, corps); string[] missionArgs = args.Skip(6).ToArray(); for (int i = 0; i < missionArgs.Length; i += 2) { try { IMission mission = new Mission(missionArgs[i], missionArgs[i + 1]); commando.AddMission(mission); } catch (InvalidStatusException) { continue; } } return(commando); }
private static ISoldier TryToCreateCommando(string[] soldierInfo, string id, string firstName, string lastName) { var salary = decimal.Parse(soldierInfo[4]); var corps = soldierInfo[5]; var currentCommando = new Commando(id, firstName, lastName, salary, new Corps(corps)); var missionsInfo = soldierInfo.Skip(6).ToList(); for (int i = 0; i < missionsInfo.Count; i += 2) { var missionCodeName = missionsInfo[i]; var missionState = missionsInfo[i + 1]; try { currentCommando.AddMission(new Mission(missionCodeName, missionState)); } catch (ArgumentException) { } } return(currentCommando); }
private static void ParseCommando(List <Soldier> soldiers, string[] tokens) { try { soldiers.Add(new Commando(tokens[1], tokens[2], tokens[3], decimal.Parse(tokens[4]), tokens[5])); tokens = tokens.Skip(6).ToArray(); Commando commando = (Commando)soldiers.Last(); for (int i = 0; i < tokens.Length; i += 2) { try { commando.AddMission(new Mission(tokens[i], tokens[i + 1])); } catch (ArgumentException ex) { } } } catch (ArgumentException ex) { } }
private static void CreateCommando(string[] input) { int id = int.Parse(input[1]); string firstName = input[2]; string lastName = input[3]; decimal salary = decimal.Parse(input[4]); string corps = input[5]; Commando commando = new Commando(id, firstName, lastName, salary, corps); soldiers.Add(commando); for (int i = 6; i < input.Length; i += 2) { string codeName = input[i]; string state = input[i + 1]; try { Mission mission = new Mission(codeName, state); commando.AddMission(mission); } catch (Exception) { } } }
public void AddCommando(int id, string firstName, string lastName, decimal salary, string corps, params string[] missions) { var commando = new Commando(id, firstName, lastName, salary, corps); if (missions.Length > 0) { for (int i = 0; i < missions.Length; i += 2) { try { string codeName = missions[i]; string state = missions[i + 1]; commando.AddMission(codeName, state); } catch (Exception ex) { Console.WriteLine(ex.Message); } } } this.soldiers.Add(commando); }
public ISoldier CreateSoldier(string[] soldierStrings) { var soldierType = soldierStrings[0]; var id = int.Parse(soldierStrings[1]); var firstName = soldierStrings[2]; var lastName = soldierStrings[3]; switch (soldierType) { case "Private": var privateSalary = double.Parse(soldierStrings[4]); return(new Private(id, firstName, lastName, privateSalary)); case "LeutenantGeneral": var ltSalary = double.Parse(soldierStrings[4]); var currentLt = new LeutenantGeneral(id, firstName, lastName, ltSalary); for (int i = 5; i < soldierStrings.Length; i++) { var privateId = int.Parse(soldierStrings[i]); if (DataManager.SoldierExists(privateId)) { currentLt.AddPrivate(DataManager.ReturnPrivateSoldier(privateId)); } } return(currentLt); case "Engineer": var engineerSalary = double.Parse(soldierStrings[4]); var corps = soldierStrings[5]; var currentEngineer = new Engineer(id, firstName, lastName, engineerSalary, corps); for (int i = 6; i < soldierStrings.Length; i += 2) { var part = soldierStrings[i]; var hours = int.Parse(soldierStrings[i + 1]); var repair = new Repair(part, hours); currentEngineer.AddRepair(repair); } return(currentEngineer); case "Commando": var commandoSalary = double.Parse(soldierStrings[4]); var commandoCorps = soldierStrings[5]; var currentCommando = new Commando(id, firstName, lastName, commandoSalary, commandoCorps); for (int i = 6; i < soldierStrings.Length; i += 2) { try { var codeName = soldierStrings[i]; var state = soldierStrings[i + 1]; var mission = new Mission(codeName, state); currentCommando.AddMission(mission); } catch (Exception e) { } } return(currentCommando); case "Spy": var codeNumber = int.Parse(soldierStrings[4]); return(new Spy(id, firstName, lastName, codeNumber)); default: return(null); } }
static void Main(string[] args) { var soldiers = new List <ISoldier>(); string input; while ((input = Console.ReadLine()) != "End") { string[] tokens = input.Split(); string soldierType = tokens[0]; int id = int.Parse(tokens[1]); string firstName = tokens[2]; string lastName = tokens[3]; decimal salary = decimal.Parse(tokens[4]); ISoldier soldier = null; try { switch (soldierType) { case "Private": soldier = new Private(id, firstName, lastName, salary); break; case "LeutenantGeneral": var leutenant = new LeutenantGeneral(id, firstName, lastName, salary); for (int i = 5; i < tokens.Length; i++) { int soldierId = int.Parse(tokens[i]); ISoldier @private = soldiers.First(p => p.Id == soldierId); leutenant.AddPrivate(@private); } soldier = leutenant; break; case "Engineer": string engineerCorps = tokens[5]; Engineer engineer = new Engineer(id, firstName, lastName, salary, engineerCorps); for (int i = 6; i < tokens.Length; i++) { string partName = tokens[i]; int hoursWorked = int.Parse(tokens[++i]); IRepair repair = new Repair(partName, hoursWorked); engineer.AddRepair(repair); } soldier = engineer; break; case "Commando": string commandCorps = tokens[5]; var commando = new Commando(id, firstName, lastName, salary, commandCorps); for (int i = 6; i < tokens.Length; i++) { string codeName = tokens[i]; string missionState = tokens[++i]; try { IMission mission = new Mission(codeName, missionState); commando.AddMission(mission); } catch { } } soldier = commando; break; case "Spy": int codeNumber = (int)salary; soldier = new Spy(id, firstName, lastName, codeNumber); break; default: throw new ArgumentException("Invalid soldier type!"); } soldiers.Add(soldier); } catch {} } foreach (var soldier in soldiers) { Console.WriteLine(soldier); } }
public void Run() { string command = Console.ReadLine(); while (command != "End") { string[] commandArgs = command.Split(); string type = commandArgs[0]; string id = commandArgs[1]; string firstName = commandArgs[2]; string lastName = commandArgs[3]; decimal salary = decimal.Parse(commandArgs[4]); if (type == "Private") { Private privateToAdd = new Private(id, firstName, lastName, salary); this.army.Add(privateToAdd); } else if (type == "LieutenantGeneral") { LieutenantGeneral lieutenantGeneralToAdd = new LieutenantGeneral(id, firstName, lastName, salary); string[] ids = commandArgs .Skip(5) .ToArray(); foreach (string privateId in ids) { ISoldier currentPrivate = this.army.First(p => p.Id == privateId); lieutenantGeneralToAdd.AddPrivate(currentPrivate); } this.army.Add(lieutenantGeneralToAdd); } else if (type == "Engineer") { string corps = commandArgs[5]; try { Engineer engineerToAdd = new Engineer(id, firstName, lastName, salary, corps); string[] repairs = commandArgs .Skip(6) .ToArray(); for (int i = 0; i < repairs.Length; i += 2) { string repairPart = repairs[i]; int repairHours = int.Parse(repairs[i + 1]); Repair repair = new Repair(repairPart, repairHours); engineerToAdd.AddRepair(repair); } this.army.Add(engineerToAdd); } catch (ArgumentException ae) { } } else if (type == "Commando") { string corps = commandArgs[5]; try { Commando commandoToAdd = new Commando(id, firstName, lastName, salary, corps); string[] missions = commandArgs .Skip(6) .ToArray(); for (int i = 0; i < missions.Length; i += 2) { string missionCodeName = missions[i]; string missionState = missions[i + 1]; try { Mission mission = new Mission(missionCodeName, missionState); commandoToAdd.AddMission(mission); } catch (ArgumentException ae) { } } this.army.Add(commandoToAdd); } catch (ArgumentException ae) { } } else if (type == "Spy") { int codeNumber = (int)salary; Spy spyToAdd = new Spy(id, firstName, lastName, codeNumber); this.army.Add(spyToAdd); } command = Console.ReadLine(); } foreach (var soldier in this.army) { //Type type = soldier.GetType(); //Object obj = Convert.ChangeType(soldier, type); Console.WriteLine(soldier.ToString()); } }
public static void Main() { IList <ISoldier> army; string input; army = new List <ISoldier>(); while ((input = Console.ReadLine()) != "End") { var args = input.Split(); string type = args[0]; string id = args[1]; switch (type) { case "Private": army.Add(new Private(id, args[2], args[3], double.Parse(args[4]))); break; case "Spy": army.Add(new Spy(id, args[2], args[3], int.Parse(args[4]))); break; case "LeutenantGeneral": LeutenantGeneral leutenantGeneral = new LeutenantGeneral(id, args[2], args[3], double.Parse(args[4])); for (int i = 5; i < args.Length; i++) { leutenantGeneral.AddPrivate(army.First(s => s.Id == args[i])); } army.Add(leutenantGeneral); break; case "Commando": Commando commando; try { commando = new Commando(id, args[2], args[3], double.Parse(args[4]), args[5]); } catch (Exception) { break; } for (int i = 6; i < args.Length - 1; i += 2) { Mission mission; try { mission = new Mission(args[i], args[i + 1]); } catch (Exception) { continue; } commando.AddMission(mission); } army.Add(commando); break; case "Engineer": Engineer engineer; try { engineer = new Engineer(id, args[2], args[3], double.Parse(args[4]), args[5]); } catch (Exception) { break; } for (int i = 6; i < args.Length - 1; i += 2) { engineer.AddRepair(new Repair(args[i], int.Parse(args[i + 1]))); } army.Add(engineer); break; } } foreach (var soldier in army) { Console.WriteLine(soldier); } }
public static ISoldier CreateSoldier(string input) { string[] token = input.Split(); var soldierType = token[0]; var soldierId = int.Parse(token[1]); var soldierFirstName = token[2]; var soldierSecondName = token[3]; switch (soldierType) { case "Private": Private priv = new Private(soldierId, soldierFirstName, soldierSecondName, double.Parse(token[4])); Privates.Add(soldierId, priv); return(priv); case "LeutenantGeneral": LeutenantGeneral leutenant = new LeutenantGeneral( soldierId, soldierFirstName, soldierSecondName, double.Parse(token[4])); for (int i = 5; i < token.Length; i++) { int searchedID = int.Parse(token[i]); IPrivate p = Privates[searchedID]; leutenant.AddPrivate(p); } Privates.Add(soldierId, leutenant); return(leutenant); case "Engineer": Engineer engineer = new Engineer( soldierId, soldierFirstName, soldierSecondName, double.Parse(token[4]), token[5]); for (int i = 6; i < token.Length; i += 2) { IRepair r = new Repair(token[i], int.Parse(token[i + 1])); engineer.AddRepair(r); } Privates.Add(soldierId, engineer); return(engineer); case "Commando": Commando commando = new Commando( soldierId, soldierFirstName, soldierSecondName, double.Parse(token[4]), token[5]); for (int i = 6; i < token.Length; i += 2) { var missionName = token[i]; var missionState = token[i + 1]; try { Mission m = new Mission(missionName, missionState); commando.AddMission(m); } catch (Exception) { } } Privates.Add(soldierId, commando); return(commando); case "Spy": int soldeirCodeNumber = int.Parse(token[4]); Spy spy = new Spy(soldierId, soldierFirstName, soldierSecondName, soldeirCodeNumber); return(spy); default: return(null); } }
public void Run() { string input; while ((input = Console.ReadLine()) != "End") { String[] commands = input.Split(); string command = commands[0]; if (command == "Private") { int id = int.Parse(commands[1]); string firstName = commands[2]; string lastName = commands[3]; decimal salary = decimal.Parse(commands[4]); Private soldier = new Private(id, firstName, lastName, salary); this.soldiers.Add(soldier); } else if (command == "LieutenantGeneral") { int id = int.Parse(commands[1]); string firstName = commands[2]; string lastName = commands[3]; decimal salary = decimal.Parse(commands[4]); LieutenantGeneral general = new LieutenantGeneral(id, firstName, lastName, salary); foreach (string privateId in commands.Skip(5)) { IPrivate getId = (IPrivate)this.soldiers.SingleOrDefault(i => i.Id == int.Parse(privateId)); if (getId != null) { general.AddPrivate(getId); } } this.soldiers.Add(general); } else if (command == "Engineer") { int id = int.Parse(commands[1]); string firstName = commands[2]; string lastName = commands[3]; decimal salary = decimal.Parse(commands[4]); if (Enum.TryParse <Corps>(commands[5], out Corps corps)) { Engineer enginner = new Engineer(id, firstName, lastName, salary, corps); string[] repairParts = commands.Skip(6).ToArray(); for (int i = 0; i < repairParts.Length; i += 2) { string repairPart = repairParts[i]; int repairHour = int.Parse(repairParts[i + 1]); Repair repair = new Repair(repairPart, repairHour); enginner.AddRepair(repair); } this.soldiers.Add(enginner); } } else if (command == "Commando") { int id = int.Parse(commands[1]); string firstName = commands[2]; string lastName = commands[3]; decimal salary = decimal.Parse(commands[4]); if (Enum.TryParse <Corps>(commands[5], out Corps corps)) { Commando soldier = new Commando(id, firstName, lastName, salary, corps); string[] missions = commands.Skip(6).ToArray(); for (int i = 0; i < missions.Length; i += 2) { string missionName = missions[i]; string missionState = missions[i + 1]; if (Enum.TryParse(missionState, out State state)) { Mission mission = new Mission(missionName, state); soldier.AddMission(mission); } } this.soldiers.Add(soldier); } } else if (command == "Spy") { int id = int.Parse(commands[1]); string firstName = commands[2]; string lastName = commands[3]; int codeNumber = int.Parse(commands[4]); Spy soldier = new Spy(id, firstName, lastName, codeNumber); this.soldiers.Add(soldier); } } print(); }
public void Run() { string command = Console.ReadLine(); while (command != "End") { string[] commandArgs = command.Split().ToArray(); string type = commandArgs[0]; string id = commandArgs[1]; string firstName = commandArgs[2]; string lastName = commandArgs[3]; decimal salary = decimal.Parse(commandArgs[4]); if (type == "Private") { Private soldier = new Private(id, firstName, lastName, salary); this.army.Add(soldier); } else if (type == "LieutenantGeneral") { LieutenantGeneral general = new LieutenantGeneral(id, firstName, lastName, salary); string[] privatesToAddArgs = commandArgs.Skip(5).ToArray(); foreach (var pid in privatesToAddArgs) { ISoldier soldierToAdd = this.army.First(s => s.Id == pid); general.AddPrivate(soldierToAdd); } this.army.Add(general); } else if (type == "Engineer") { try { string corps = commandArgs[5]; IEngineer engineer = new Engineer(id, firstName, lastName, salary, corps); string[] repairArgs = commandArgs.Skip(6).ToArray(); AddRepairs(engineer, repairArgs); this.army.Add(engineer); } catch (InvalidCorpsException ice) { } } else if (type == "Commando") { try { string corps = commandArgs[5]; ICommando commando = new Commando(id, firstName, lastName, salary, corps); string[] missionArgs = commandArgs.Skip(6).ToArray(); for (int i = 0; i < missionArgs.Length; i += 2) { try { string codeName = missionArgs[i]; string state = missionArgs[i + 1]; IMission mission = new MIssion(codeName, state); commando.AddMission(mission); } catch (InvalidStateException ise) { continue; } } this.army.Add(commando); } catch (InvalidCorpsException ice) { } } else if (type == "Spy") { int codeNumber = (int)salary; ISpy spy = new Spy(id, firstName, lastName, codeNumber); this.army.Add(spy); } command = Console.ReadLine(); } PrintOutput(); }