public string Serialize() { StateTemplate temp = new StateTemplate(); foreach (Output o in Outputs) { OutputTemplate ot = new OutputTemplate(); ot.ID = o.ID; ot.Ports = o.Ports; ot.Name = o.Name; ot.IPAddress = o.IP; foreach (Fixture f in o.GetFixtures()) { ot.Fixtures.Add(FixtureTemplateFactory.createFixtureTemplate(f)); } temp.Outputs.Add(ot); } foreach (Fixture f in FixturePool) { temp.FixturePool.Add(FixtureTemplateFactory.createFixtureTemplate(f)); } temp.ActionMessage = ActionMessage; return(JsonConvert.SerializeObject(temp)); }
// currently this generae only one default 1pix template.... public static List <FixtureTemplate> GenerateDefaultTemplates() { List <FixtureTemplate> templates = new List <FixtureTemplate>(); IMode mode = new ModeGridTopLeft(1, 1); List <IMode> modes = new List <IMode>(); modes.Add(mode); IPixelPatch patch = new PixelPatchSnakeRowWiseTopLeft(1, 1, 0, 3); Fixture f = new Fixture(modes, patch) { Name = "Generic 1pix" }; FixtureTemplate template = FixtureTemplateFactory.createFixtureTemplate(f); templates.Add(template); FixtureTemplateUtils.StoreTemplate(template); return(templates); }
public override void HandleRequest(HttpListenerContext context) { try { var q = context.Request.QueryString; var fixtureId = q.Get(KEY_FIXTURE_ID); if (fixtureId == null) { throw new ArgumentNullException("Some of fixture template properties was null"); } if (!StateManager.Instance.State.TryGetFixture(int.Parse(fixtureId), out Fixture fixture)) { throw new ArgumentException("Fixture with id: " + fixtureId + " does not exist: sorry!"); } var template = FixtureTemplateFactory.createFixtureTemplate(fixture); FixtureTemplateUtils.StoreTemplate(template); SetInfoMessage( "Fixture template: '" + template.Name + "' successfully stored.", IS_NOT_PART_OF_STATE, Talker.Talk.GetSource() ); //get all templates and send back as a new template state List <FixtureTemplate> templates = FixtureTemplateUtils.GetTemplates(); ResponseMessage msg = new ResponseMessage(ResponseMessage.TYPE_FIXTURE_TEMPLATE, templates); WriteResponse(context, RestConst.RESPONSE_OK, RestConst.CONTENT_TEXT_JSON, StaticSerializer.Serialize(msg)); } catch (Exception e) { SetErrorMessage(e.ToString(), IS_NOT_PART_OF_STATE, Talker.Talk.GetSource()); WriteErrorMessage(context, e); } }