public DresserFacade( Func <string, IEnumerable <CommandType> > commandListParser, Func <string, TemperatureType> temperatureTypeParser, IDresser commandProcessor ) { _commandListParser = commandListParser; _temperatureTypeParser = temperatureTypeParser; _dresser = commandProcessor; }
/// <summary> /// Processes the user input commands /// </summary> /// <returns>Dressing order</returns> public string DressWell() { //Get the model from the Data layer UserInputModel uim = ((DressWellRepository)dbContext).Uim; //Instantiate dresser based on the first command (weather type) passed by the user switch (uim.Input[0].ToUpper()) { case "HOT": dresser = new DressWellForHot(); break; case "COLD": dresser = new DressWellForCold(); break; //Invalid First Command default: throw new Exception("Invalid weather specified in the first arguement"); } return(ProcessCommands(uim)); }