/// <summary> /// Update new device state. /// </summary> /// <param name="request"></param> /// <returns></returns> public GXDeviceStateUpdateResponse Put(GXDeviceStateUpdateRequest request) { List <GXEventsItem> events = new List <GXEventsItem>(); lock (Db) { foreach (var it in request.States) { #if !SS4 GXAmiDevice device = Db.GetById <GXAmiDevice>(it.Key); #else GXAmiDevice device = Db.SingleById <GXAmiDevice>(it.Key); #endif device.State = it.Value; Db.UpdateOnly(device, p => p.StatesAsInt, p => p.Id == it.Key); events.Add(new GXEventsItem(ActionTargets.Device, Actions.State, device)); } } AppHost host = this.ResolveService <AppHost>(); host.SetEvents(Db, this.Request, 0, events); return(new GXDeviceStateUpdateResponse()); }
/// <summary> /// Update new device state. /// </summary> /// <param name="request"></param> /// <returns></returns> public GXDeviceStateUpdateResponse Put(GXDeviceStateUpdateRequest request) { List<GXEventsItem> events = new List<GXEventsItem>(); lock (Db) { foreach (var it in request.States) { #if !SS4 GXAmiDevice device = Db.GetById<GXAmiDevice>(it.Key); #else GXAmiDevice device = Db.SingleById<GXAmiDevice>(it.Key); #endif device.State = it.Value; Db.UpdateOnly(device, p => p.StatesAsInt, p => p.Id == it.Key); events.Add(new GXEventsItem(ActionTargets.Device, Actions.State, device)); } } AppHost host = this.ResolveService<AppHost>(); host.SetEvents(Db, this.Request, 0, events); return new GXDeviceStateUpdateResponse(); }