public HeaterServiceModule() { var heaterService = new StateFullBoilerHeaterService( new BoilerHeaterService(new ServoMotorService()) ); Get["api/v1/heater/info"] = parameters => { var model = new { status = heaterService.IsOn() ? "on" : "off", level = heaterService.GetLevel() }; return Response.AsJson(model); }; Get["api/v1/heater/powerswitch"] = parameters => { var model = new { status = heaterService.IsOn() ? "on" : "off", }; return Response.AsJson(model); }; Post["api/v1/heater/powerswitch"] = parameters => { var model = new { status = (string)this.Context.Request.Form.status }; switch (model.status) { case "on": heaterService.TurnOn(); break; case "off": heaterService.TurnOff(); break; default: return Response.AsJson(model, HttpStatusCode.BadRequest); } return Response.AsJson(model); }; Get["api/v1/heater/level"] = parameters => { var model = new { level = heaterService.GetLevel() }; return Response.AsJson(model); }; Post["api/v1/heater/level"] = parameters => { int level = this.Context.Request.Form.level; var model = new { value = level }; heaterService.SetHeatLevel(level); return Response.AsJson(model); }; }
public HeaterModule() { var heaterService = new StateFullBoilerHeaterService( new BoilerHeaterService(new ServoMotorService()) ); Get["heater"] = parameters => { var model = new { status = heaterService.IsOn() ? "on" : "off", level = heaterService.GetLevel() }; return View["heater/index.html", model]; }; Post["heater"] = parameters => { var model = new { status = ((string)this.Request.Form.status ?? "off"), level = (int)this.Request.Form.level }; heaterService.SetHeatLevel(model.level); switch (model.status) { case "on": heaterService.TurnOn(); break; case "off": heaterService.TurnOff(); break; } return View["heater/index.html", model]; }; }