public override WebSocketMessage ProcessMessage(WebSocketMessage model) { using (var dbContext = new LynexDbContext()) { var site = dbContext.Set <Site>().Find(SiteId); if (site != null) { var switches = new List <SimplifiedSwitchModel>(); foreach (var @switch in site.Switches.OrderBy(q => q.Order)) { var switchModel = new SimplifiedSwitchModel(@switch); foreach (var schedule in @switch.Schedules) { switchModel.ScheduleViewModels.Add(new ScheduleViewModel(schedule)); } switches.Add(switchModel); } model.Message = switches; model.BroadcastType = WebSocketBroadcastType.All; } else { model.Type = WebSocketMessageType.Error; model.Message = "Site does not exist"; model.BroadcastType = WebSocketBroadcastType.Pi; } } return(model); }
public List <SimplifiedSwitchModel> GetSwitchesAndSchedule(string userId, string siteId) { var results = _switchRepository.GetSwitches(userId, siteId); var output = new List <SimplifiedSwitchModel>(); foreach (var @switch in results) { var switchViewModel = new SimplifiedSwitchModel(@switch); foreach (var schedule in @switch.Schedules) { switchViewModel.ScheduleViewModels.Add(new ScheduleViewModel(schedule)); } output.Add(switchViewModel); } return(output); }