public override WebSocketMessage ProcessMessage(WebSocketMessage model) { if (model.Message != null) { using (var dbContext = new LynexDbContext()) { foreach (var switchModel in model.Message) { var @switch = dbContext.Set <Switch>().Find(switchModel.Id.ToString()); if (@switch != null) { @switch.Live = (bool)switchModel.Live; dbContext.Entry(@switch).State = EntityState.Modified; dbContext.Set <Switch>().Attach(@switch); dbContext.Entry(@switch).Property("Live").IsModified = true; model.BroadcastType = WebSocketBroadcastType.Web; } } dbContext.SaveChanges(); model.BroadcastType = WebSocketBroadcastType.Web; } } else { model.Type = WebSocketMessageType.Error; model.Message = "Live switches is null"; model.BroadcastType = WebSocketBroadcastType.Pi; } return(model); }
protected override string ProcessMessage(SwitchUpdatedModel model) { var result = new WebSocketResultViewModel(); if (model.ChipId != null) { using (var dbContext = new LynexDbContext()) { var site = dbContext.Set <Site>().Find(SiteId); if (site != null) { var items = dbContext.Set <SwitchEvent>() .Where( q => q.SiteId == site.Id && q.Switch.ChipId == model.ChipId && q.Status == model.Status).ToList(); dbContext.Set <SwitchEvent>().RemoveRange(items); var @switch = dbContext .Set <Switch>().FirstOrDefault(q => q.ChipId == model.ChipId && q.SiteId == site.Id); if (@switch != null) { @switch.Status = model.Status; dbContext.Entry(@switch).State = EntityState.Modified; dbContext.Set <Switch>().Attach(@switch); dbContext.Entry(@switch).Property("Status").IsModified = true; result.Message = "Success"; result.StatusCode = 200; result.Result = new SimplifiedSwitchModel(@switch); dbContext.SaveChanges(); } else { result.StatusCode = 500; result.Message = "Switch does not exist"; } } else { result.StatusCode = 500; result.Message = "Site does not exist"; } } } else { result.StatusCode = 600; result.Message = "Invalid Request"; } return(JsonConvert.SerializeObject(result)); }
public override WebSocketMessage ProcessMessage(WebSocketMessage model) { var updatingSwitch = model.Message; using (var dbcontext = new LynexDbContext()) { var @switch = dbcontext.Set <Switch>().Find(updatingSwitch.id.ToString()); if (@switch != null) { @switch.Status = (bool)updatingSwitch.status; dbcontext.Entry(@switch).State = EntityState.Modified; dbcontext.Set <Switch>().Attach(@switch); dbcontext.Entry(@switch).Property("Status").IsModified = true; dbcontext.SaveChanges(); model.BroadcastType = WebSocketBroadcastType.All; } } return(model); }
public override WebSocketMessage ProcessMessage(WebSocketMessage model) { if (model.Message.SwitchId != null) { using (var dbContext = new LynexDbContext()) { var @switch = dbContext.Set <Switch>().Find(model.Message.SwitchId.ToString()); if (@switch != null) { @switch.Live = (bool)model.Message.Live; dbContext.Entry(@switch).State = EntityState.Modified; dbContext.Set <Switch>().Attach(@switch); dbContext.Entry(@switch).Property("Live").IsModified = true; dbContext.SaveChanges(); model.BroadcastType = WebSocketBroadcastType.Web; } else { model.Type = WebSocketMessageType.Error; model.Message = "Can not find Switch Id " + model.Message.SwitchId; model.BroadcastType = WebSocketBroadcastType.Pi; } } } else { model.Type = WebSocketMessageType.Error; model.Message = "Switch id cannot be null"; model.BroadcastType = WebSocketBroadcastType.Pi; } return(model); }
public override WebSocketMessage ProcessMessage(WebSocketMessage model) { if (model.Message.ChipId != null) { using (var dbContext = new LynexDbContext()) { var site = dbContext.Set<Site>().Find(SiteId); if (site != null) { var status = (bool)model.Message.Status; string chipId = model.Message.ChipId.ToString(); var items = dbContext.Set<SwitchEvent>() .Where( q => q.SiteId == site.Id && q.Switch.ChipId == chipId && q.Status == status).ToList(); dbContext.Set<SwitchEvent>().RemoveRange(items); var @switch = dbContext .Set<Switch>().FirstOrDefault(q => q.ChipId == chipId && q.SiteId == site.Id); if (@switch != null) { @switch.Status = status; dbContext.Entry(@switch).State = EntityState.Modified; dbContext.Set<Switch>().Attach(@switch); dbContext.Entry(@switch).Property("Status").IsModified = true; model.Message = new SimplifiedSwitchModel(@switch); model.BroadcastType = WebSocketBroadcastType.All; dbContext.SaveChanges(); } else { model.Type = WebSocketMessageType.Error; model.BroadcastType = WebSocketBroadcastType.Pi; model.Message = "Switch does not exist"; } } else { model.Type = WebSocketMessageType.Error; model.BroadcastType = WebSocketBroadcastType.Pi; model.Message = "Site does not exist"; } } } else { model.Type = WebSocketMessageType.Error; model.BroadcastType = WebSocketBroadcastType.Pi; model.Message = "Invalid Request"; } return model; }