Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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");
        }
Esempio n. 3
0
        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));
        }
Esempio n. 5
0
        //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));
        }
Esempio n. 6
0
        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");
        }