Ejemplo n.º 1
0
 public override string ToString()
 {
     return(base.ToString()
            + ", Light Color: " + LightColor.ToString()
            + ", Light Brightness: " + LightBrightness.ToString()
            + ", Light Temperature: " + LightTemperature.ToString());
 }
Ejemplo n.º 2
0
        /// <summary>
        /// 点亮灯并阻塞等待灭灯
        /// </summary>
        /// <param name="token"></param>
        private static void ProcessLightOrder(CancellationToken token, LightColor lightColor)
        {
            LightMessageQueue lightQueue    = new LightMessageQueue(lightColor.ToString("D"));
            LightManager      lightManager  = LightManager.Instance;
            LightColor        curLightColor = lightColor;

            NLog.Logger logger = NLog.LogManager.GetLogger("ProcessLightOrder");

            while (!token.IsCancellationRequested)
            {
                var msg = lightQueue.Receive();
                if (null == msg)
                {
                    continue;
                }


                //点亮当前灯
                ErrorCode err = lightManager.SetLight(msg.lightId, LightOnOffState.ON, lightColor);

                logger.Info(err.ToString());
                //记录当前灯状态到数据库
                if (err == ErrorCode.成功)
                {
                    DbHelper.SetLightState(msg.lightId, LightOnOffState.ON);

                    //等待灯灭消息
                    lightManager.WaitLightOff(msg.lightId);

                    //灭灯消息写入数据库
                    DbHelper.SetLightState(msg.lightId, LightOnOffState.OFF);
                    //设置当前订单已完成
                    DbHelper.FinishOrderById(msg.orderId);

                    //如果接收到人工集齐消息

                    //检查当前托盘是否集齐
                    //当前订单是否
                    if (DbHelper.CheckIsFullByLight(msg.lightId))
                    {
                        //暂时还不能释放当前灯,状态切换成闪烁状态
                        //DbHelper.SetLightUnOccupied(msg.lightId);

                        //设置为闪烁状态
                        lightManager.SetLight(msg.lightId, LightOnOffState.BLINK, lightColor);
                        DbHelper.SetLightState(msg.lightId, LightOnOffState.BLINK);

                        //设置当前灯号为不可添加箱号的状态,当用户灭闪烁的灯时才能解锁该灯。
                        DbHelper.SetLightLocked(msg.lightId);
                    }
                }

                else
                {
                    //日志记录
                    //TODO
                    //DbHelper.OrderErrorLogAdd(msg.orderId, err.ToString());
                }
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Sets Node's Ring to given color
        /// </summary>
        /// <param name="_nodeID">Node's ID Vaule</param>
        /// <param name="_color1">Color Value</param>
        /// <param name="_color2">Color Value</param>
        /// <param name="_color3">Color Value</param>
        /// <param name="_color4">Color Value</param>
        public void Light(int _nodeID, LightColor _color1, LightColor _color2, LightColor _color3, LightColor _color4)
        {
            string colorState = string.Format("{0}|{1}|{2}|{3}", _color1.ToString(), _color2.ToString(), _color3.ToString(), _color4.ToString());

            node[_nodeID].lightStatus = colorState;
            ComModes mode = new ComModes();

            mode = node[_nodeID].type;

            switch (mode)
            {
            case ComModes.canBus:
                int nodeAddress = Convert.ToInt32(this.node[_nodeID].address);
                this.cb.Light(nodeAddress, _color1, _color2, _color3, _color4);
                break;

            case ComModes.xBee:

                break;

            case ComModes.wiFi:

                break;

            default:
                break;
            }
        }
Ejemplo n.º 4
0
    static void Main()
    {
        LightColor c = LightColor.Red;

        Console.WriteLine(c.ToString());
        TrafficLight.WhatInfo(c);
        TrafficLight.WhatInfo(LightColor.Red);
    }
Ejemplo n.º 5
0
        public static void Test()

        {
            LightColor c = LightColor.Red;

            Console.WriteLine(c.ToString());

            TrafficLight.WhatInfo(c);
        }
Ejemplo n.º 6
0
    public override string DeviceValuesToString()
    {
        string mode;

        if (IsOn)
        {
            mode = "ON";
        }
        else
        {
            mode = "OFF";
        }

        return("Mode: " + mode
               + "\nLight Color: " + LightColor.ToString()
               + "\n Brightness: " + LightBrightness.ToString()
               + "\n Temperature: " + LightTemperature.ToString());
    }
Ejemplo n.º 7
0
 public override string ToString()
 {
     return("Dynamic Light (" + LightColor.ToString(1) + ", " + LightRadius.ToString(0) + ")");
 }
Ejemplo n.º 8
0
 public void Light(LightColor color)
 {
     StartCommand(color.ToString());
 }
        public static string GetDescription(this LightColor color)
        {
            var attributes = color.GetType().GetField(color.ToString()).GetCustomAttributes(typeof(DescriptionAttribute), false);

            return((attributes[0] as DescriptionAttribute)?.Description ?? color.ToString());
        }