Ejemplo n.º 1
0
        public IHttpActionResult UpdateOrder(SwitchOrderModel model)
        {
            //Thread.Sleep(2000);

            var result = _switchService.UpdateOrder(User.Identity.GetUserId(), model.SwitchId, model.Order);

            var obj = new
            {
                Success = true,
                Message = "",
                Result  = result,
            };

            var client = LynexWebSocketHandler.GetWebSocketSession(model.SiteId);

            if (client != null)
            {
                var webSocketMessage = new WebSocketMessage(WebSocketMessageType.WebSwitchOrderUpdate);
                webSocketMessage.BroadcastType = WebSocketBroadcastType.All;
                webSocketMessage.ClientId      = model.ClientWebSocketId;
                webSocketMessage.Message       = model;
                client.Broadcast(JsonConvert.SerializeObject(webSocketMessage));
            }

            return(Ok(obj));
        }
Ejemplo n.º 2
0
        public IHttpActionResult UpdateStatus(SwitchStatusModel model)
        {
            //Thread.Sleep(2000);

            var result = _switchService.UpdateStatus(User.Identity.GetUserId(), model.SwitchId, model.Status);

            var @switch = _switchService.GetSimplifiedSwitch(User.Identity.GetUserId(), model.SwitchId);

            var message = new WebSocketMessage(WebSocketMessageType.WebSwitchStatusUpdate);

            message.Message       = @switch;
            message.BroadcastType = WebSocketBroadcastType.All;

            var client = LynexWebSocketHandler.GetWebSocketSession(@switch.SiteId);

            if (client != null)
            {
                client.Broadcast(JsonConvert.SerializeObject(@switch));
            }


            var obj = new
            {
                Success = true,
                Message = "",
                Results = result,
            };

            return(Ok(obj));
        }
Ejemplo n.º 3
0
        public IHttpActionResult UpdateSwitch(SwitchViewModel model)
        {
            var result = _switchService.UpdateSwitch(User.Identity.GetUserId(), model);

            var client = LynexWebSocketHandler.GetWebSocketSession(model.SiteId);

            if (client != null)
            {
                var list             = _switchService.GetSwitchesAndSchedule(User.Identity.GetUserId(), model.SiteId);
                var webSocketMessage = new WebSocketMessage(WebSocketMessageType.PiSiteStatus);
                webSocketMessage.BroadcastType = WebSocketBroadcastType.Pi;
                webSocketMessage.Message       = list;
                client.SendToPi(JsonConvert.SerializeObject(webSocketMessage));
            }

            var obj = new
            {
                Success = true,
                Message = "",
                Results = result,
            };

            return(Ok(obj));
        }
Ejemplo n.º 4
0
        public IHttpActionResult UpdateSchedule(ScheduleViewModel model)
        {
            ScheduleViewModel result;

            if (model.Monday && model.Tuesday && model.Wednesday && model.Thursday && model.Friday && model.Saturday && model.Sunday)
            {
                model.Frequency = Core.Model.ScheduleFrequency.Daily;
            }
            else if (model.Monday && model.Tuesday && model.Wednesday && model.Thursday && model.Friday && !model.Saturday && !model.Sunday)
            {
                model.Frequency = Core.Model.ScheduleFrequency.Workdays;
            }
            else if (!model.Monday && !model.Tuesday && !model.Wednesday && !model.Thursday && !model.Friday &&
                     model.Saturday && model.Sunday)
            {
                model.Frequency = Core.Model.ScheduleFrequency.Weekends;
            }
            else if (!model.Monday && !model.Tuesday && !model.Wednesday && !model.Thursday && !model.Friday &&
                     !model.Saturday && !model.Sunday)
            {
                model.Frequency = Core.Model.ScheduleFrequency.Once;
            }
            else
            {
                model.Frequency = Core.Model.ScheduleFrequency.Weekly;
            }

            model.StartTime = new TimeSpan(model.STime.Hour, model.STime.Minute, 0);
            var endTime = new TimeSpan(model.ETime.Hour, model.ETime.Minute, 0);

            model.Active = true;
            model.Length = (int)(endTime.Subtract(model.StartTime).Ticks / TimeSpan.TicksPerMinute);

            if (model.Id == 0)
            {
                result = _switchService.AddSchedule(User.Identity.GetUserId(), model);
            }
            else
            {
                result = _switchService.UpdateSchedule(User.Identity.GetUserId(), model);
            }

            var client = LynexWebSocketHandler.GetWebSocketSession(model.SiteId);

            if (client != null)
            {
                var list             = _switchService.GetSwitchesAndSchedule(User.Identity.GetUserId(), model.SiteId);
                var webSocketMessage = new WebSocketMessage(WebSocketMessageType.PiSiteStatus);
                webSocketMessage.BroadcastType = WebSocketBroadcastType.Pi;
                webSocketMessage.Message       = list;
                client.SendToPi(JsonConvert.SerializeObject(webSocketMessage));
            }

            var obj = new
            {
                Success = true,
                Message = "",
                Results = result,
            };

            return(Ok(obj));
        }