Пример #1
0
        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);
        }
Пример #2
0
        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);
        }