public string Manufacture(string robotType, string name, int energy, int happiness, int procedureTime) { if (robotType != nameof(PetRobot) && robotType != nameof(HouseholdRobot) && robotType != nameof(WalkerRobot)) { string msg = String.Format(ExceptionMessages.InvalidRobotType, robotType); throw new ArgumentException(msg); } IRobot robot = null; switch (robotType) { case nameof(PetRobot): robot = new PetRobot(name, energy, happiness, procedureTime); break; case nameof(HouseholdRobot): robot = new HouseholdRobot(name, energy, happiness, procedureTime); break; case nameof(WalkerRobot): robot = new WalkerRobot(name, energy, happiness, procedureTime); break; } garage.Manufacture(robot); string message = String.Format(OutputMessages.RobotManufactured, name); return(message); }
public string Manufacture(string robotType, string name, int energy, int happiness, int procedureTime) { IRobot robot = null; if (robotType == "HouseholdRobot") { robot = new HouseholdRobot(name, energy, happiness, procedureTime); } else if (robotType == "PetRobot") { robot = new PetRobot(name, energy, happiness, procedureTime); } else if (robotType == "WalkerRobot") { robot = new WalkerRobot(name, energy, happiness, procedureTime); } else { throw new ArgumentException($"{robotType} type doesn't exist"); } Garage.Manufacture(robot); return($"Robot {name} registered successfully"); }
public string Manufacture(string robotType, string name, int energy, int happiness, int procedureTime) { if (!Enum.TryParse(robotType, out RobotsType type)) { throw new ArgumentException(string.Format(ExceptionMessages.InvalidRobotType, robotType)); } IRobot robot = null; switch (type) { case RobotsType.HouseholdRobot: robot = new HouseholdRobot(name, energy, happiness, procedureTime); break; case RobotsType.PetRobot: robot = new PetRobot(name, energy, happiness, procedureTime); break; case RobotsType.WalkerRobot: robot = new WalkerRobot(name, energy, happiness, procedureTime); break; } _garage.Manufacture(robot); return(string.Format(OutputMessages.RobotManufactured, name)); }
public string Manufacture(string robotType, string name, int energy, int happiness, int procedureTime) { if (!Enum.TryParse(robotType, out RobotTypes currRobotType)) { var msg = string.Format(ExceptionMessages.InvalidRobotType, robotType); throw new ArgumentException(msg); } garage.Manufacture(CreateRobot(name, energy, happiness, procedureTime, currRobotType)); return(String.Format(OutputMessages.RobotManufactured, name)); }
//NOTE: For each command except for "Manufacture" and "History", you must check if a robot with that name exist in the garage. If it doesn't, throw an ArgumentException with the message "Robot {robot name} does not exist". public string Manufacture(string robotType, string name, int energy, int happiness, int procedureTime) { if (robotType == nameof(HouseholdRobot)) { robot = new HouseholdRobot(name, energy, happiness, procedureTime); } else if (robotType == nameof(PetRobot)) { robot = new PetRobot(name, energy, happiness, procedureTime); } else if (robotType == nameof(WalkerRobot)) { robot = new WalkerRobot(name, energy, happiness, procedureTime); } else { throw new ArgumentException(string.Format(ExceptionMessages.InvalidRobotType, robotType)); } garage.Manufacture(robot); return(string.Format(OutputMessages.RobotManufactured, name)); }
public string Manufacture(string robotType, string name, int energy, int happiness, int procedureTime) { //Assembly assembly = Assembly.GetExecutingAssembly(); //Type type = assembly.GetTypes().FirstOrDefault(x => x.Name == robotType); //if (type is null) //{ // throw new ArgumentException(string.Format(ExceptionMessages.InvalidRobotType, robotType)); //} //object[] obj = new object[] { name, energy, happiness, procedureTime }; //IRobot robot = (IRobot)Activator.CreateInstance(type, obj); IRobot robot; if (robotType == "HouseholdRobot") { robot = new HouseholdRobot(name, energy, happiness, procedureTime); } else if (robotType == "PetRobot") { robot = new PetRobot(name, energy, happiness, procedureTime); } else if (robotType == "WalkerRobot") { robot = new WalkerRobot(name, energy, happiness, procedureTime); } else { throw new ArgumentException(string.Format(ExceptionMessages.InvalidRobotType, robotType)); } garage.Manufacture(robot); return($"Robot {name} registered successfully"); }