public BBOutput(string theName) { Name = theName; // TEMP UIToggleEvent.Description = "UI Toggle for IO " + Name; var Defaults = CreateDefaultSubscriptionProperties(); var NewSubscription = new BBSubscription { Guid = System.Guid.NewGuid().ToString(), Id = UIToggleEvent.Id }; NewSubscription.Update(Defaults); NewSubscription.EventConsumer = new BBEventConsumer(Defaults); Subscriptions.Add(NewSubscription); }
public bool Remove(BBSubscription theSubscription) { return(Subscriptions.Remove(theSubscription)); }
public Response Get(string device, string output, string id) { if (string.IsNullOrEmpty(device) || string.IsNullOrEmpty(output) || string.IsNullOrEmpty(id)) { return(null); } bool CreateNew = string.Equals(id, "new", System.StringComparison.OrdinalIgnoreCase); BBSubscription Subscription = null; var DeviceSearch = Core.Instance.Devices.FirstOrDefault(d => d.Guid == device); if (DeviceSearch != null) { var OutputSearch = DeviceSearch.Outputs.FirstOrDefault(o => o.Name == output); if (OutputSearch != null) { if (!CreateNew) { Subscription = OutputSearch.Subscriptions.FirstOrDefault(s => s.Guid == id); } } } if (CreateNew) { return(new Response { Model = new Models.Settings.Device.Subscription { DeviceId = device, OutputId = output, SubscriptionGuid = "new", SubscriptionId = "", HighKey = "value", HighValue = "1", LowKey = "value", LowValue = "0" }, Template = "BrainboxesSubscription" }); } if (Subscription == null) { return(new Response { StatusCode = System.Net.HttpStatusCode.NotFound }); } return(new Response { Model = new Models.Settings.Device.Subscription { DeviceId = device, OutputId = output, SubscriptionGuid = id, SubscriptionId = Subscription.Id, HighKey = Subscription.HighSubject, HighValue = Subscription.HighValue, LowKey = Subscription.LowSubject, LowValue = Subscription.LowValue }, Template = "BrainboxesSubscription" }); }