From 0f2e0147e8990e913d16d99bc1b94fb6bc53abd7 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期四, 03 十二月 2020 15:35:42 +0800
Subject: [PATCH] 2020-12-03-1

---
 HDL_ON/Entity/Function/Light.cs |  177 ++++++++++++++++++++++++++--------------------------------
 1 files changed, 79 insertions(+), 98 deletions(-)

diff --git a/HDL_ON/Entity/Function/Light.cs b/HDL_ON/Entity/Function/Light.cs
index ac77986..5c89126 100644
--- a/HDL_ON/Entity/Function/Light.cs
+++ b/HDL_ON/Entity/Function/Light.cs
@@ -21,7 +21,7 @@
         }
 
         [Newtonsoft.Json.JsonIgnore]
-        public Trait trait_brightness;
+        FunctionAttributes trait_brightness;
         /// <summary>
         /// 浜害鍊�
         /// </summary>
@@ -32,21 +32,21 @@
             {
                 if (trait_brightness == null)
                 {
-                    trait_brightness = function.Find((obj) => obj.attri == "brightness");
+                    trait_brightness = attributes.Find((obj) => obj.key == "brightness");
                     //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
                     if (trait_brightness == null)
                     {
-                        trait_brightness = new Trait()
+                        trait_brightness = new FunctionAttributes()
                         {
-                            attri = "brightness",
+                            key = "brightness",
                             value = new List<string> { "up", "down" },
                             max = 100,
                             min = 0,
                         };
                     }
-                    trait_brightness.curValues = trait_brightness.min;
+                    trait_brightness.curValue = trait_brightness.min;
                 }
-                return Convert.ToInt32(trait_brightness.curValues);
+                return Convert.ToInt32(trait_brightness.curValue);
             }
             set
             {
@@ -54,21 +54,21 @@
                 {
                     if (trait_brightness == null)
                     {
-                        trait_brightness = function.Find((obj) => obj.attri == "brightness");
+                        trait_brightness = attributes.Find((obj) => obj.key == "brightness");
                         //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
                         if (trait_brightness == null)
                         {
-                            trait_brightness = new Trait()
+                            trait_brightness = new FunctionAttributes()
                             {
-                                attri = "brightness",
+                                key = "brightness",
                                 value = new List<string> { "up", "down" },
                                 max = 100,
                                 min = 0,
                             };
                         }
-                        trait_brightness.curValues = trait_brightness.min;
+                        trait_brightness.curValue = trait_brightness.min;
                     }
-                    trait_brightness.curValues = value;
+                    trait_brightness.curValue = value;
                     MainPage.Log($"brightness 鏁版嵁鍒锋柊{value}.");
                 }
                 catch
@@ -79,7 +79,67 @@
         }
 
         [Newtonsoft.Json.JsonIgnore]
-        public Trait trait_color;
+        FunctionAttributes trait_fadeTime;
+        /// <summary>
+        /// 浜害鍊�
+        /// </summary>
+        [Newtonsoft.Json.JsonIgnore]
+        public int fadeTime
+        {
+            get
+            {
+                if (trait_fadeTime == null)
+                {
+                    trait_fadeTime = attributes.Find((obj) => obj.key == "fade_time");
+                    //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
+                    if (trait_fadeTime == null)
+                    {
+                        trait_fadeTime = new FunctionAttributes()
+                        {
+                            key = "fade_time",
+                            value = new List<string> { "up", "down" },
+                            max = 10,
+                            min = 0,
+                        };
+                        trait_fadeTime.curValue = 0;
+                        attributes.Add(trait_fadeTime);
+                    }
+                }
+                int result = 0;
+                int.TryParse(trait_fadeTime.curValue.ToString(), out result);
+                return result;
+            }
+            set
+            {
+                try
+                {
+                    if (trait_fadeTime == null)
+                    {
+                        trait_fadeTime = attributes.Find((obj) => obj.key == "fade_time");
+                        //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
+                        if (trait_fadeTime == null)
+                        {
+                            trait_fadeTime = new FunctionAttributes()
+                            {
+                                key = "fade_time",
+                                value = new List<string> { "up", "down" },
+                                max = 100,
+                                min = 0,
+                            };
+                            trait_fadeTime.curValue = 0;
+                            attributes.Add(trait_fadeTime);
+                        }
+                    }
+                    trait_fadeTime.curValue = value;
+                }
+                catch
+                {
+                }
+            }
+        }
+
+        [Newtonsoft.Json.JsonIgnore]
+        public FunctionAttributes trait_color;
         /// <summary>
         /// RGB棰滆壊
         /// 255255255
@@ -91,27 +151,27 @@
             {
                 if (trait_color == null)
                 {
-                    trait_color = function.Find((obj) => obj.attri == "color");
+                    trait_color = attributes.Find((obj) => obj.key == "color");
                     //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
                     if (trait_color == null)
                     {
-                        trait_color = new Trait()
+                        trait_color = new FunctionAttributes()
                         {
-                            attri = "color",
+                            key = "color",
                             value = new List<string> { "FFFFFF" },
                             max = 0xFFFFFF,
-                            min = 0x000000,
+                            min = 0x00000F,
                         };
                     }
-                    trait_color.curValues = trait_color.min;
+                    trait_color.curValue = trait_color.min;
                 }
-                return Convert.ToInt32(trait_color.curValues);
+                return Convert.ToInt32(trait_color.curValue);
             }
             set
             {
                 try
                 {
-                    trait_color.curValues = value;
+                    trait_color.curValue = value;
                 }
                 catch
                 {
@@ -201,84 +261,5 @@
                 }
             }
         }
-
-
-        /// <summary>
-        /// 鎷兼帴銆佽幏鍙朅鍗忚鎿嶄綔鏁版嵁
-        /// </summary>
-        public override JObject GetSendJObject(CommandType_A command )
-        {
-            var sendJob = new JObject();
-            if (command == CommandType_A.write)
-            {
-                sendJob = new JObject { { "vendor_code", vendor_code }, { "command", command.ToString() }, { "type", "device" } };
-                JObject data = new JObject { { "sid", sid } };
-                sendJob.Add("objects", data);
-                List<ControlData> controlData = new List<ControlData>();
-                switch (functionType)
-                {
-                    case FunctionType.Relay:
-                        controlData.Add(new ControlData()
-                        {
-                            name = "on_off",
-                            data_type = "Bool",
-                            value = on_off
-                        });
-                        break;
-                    case FunctionType.Dimmer:
-                        controlData.Add(new ControlData()
-                        {
-                            name = "on_off",
-                            data_type = "Bool",
-                            value = on_off
-                        });
-                        controlData.Add(new ControlData()
-                        {
-                            name = "brightness",
-                            data_type = "int",
-                            value = brightness.ToString(),
-                        });
-                        break;
-                    case FunctionType.RGB:
-                        controlData.Add(new ControlData()
-                        {
-                            name = "on_off",
-                            data_type = "Bool",
-                            value = on_off
-                        });
-                        controlData.Add(new ControlData()
-                        {
-                            name = "brightness",
-                            data_type = "int",
-                            value = brightness.ToString(),
-                        });
-                        controlData.Add(new ControlData()
-                        {
-                            name = "color",
-                            data_type = "int",
-                            value = color.ToString(),
-                        });
-                        break;
-                }
-
-                AProtocolEntity ape = new AProtocolEntity()
-                {
-                    command = command.ToString(),
-                    vendor_code = vendor_code,
-                    type = "device_sid",
-                };
-                ape.ControlFunction(sid, controlData);
-                sendJob = JObject.FromObject(ape);
-
-            }
-            else if (command == CommandType_A.read)
-            {
-                sendJob = new JObject { { "vendor_code", vendor_code }, { "command", command.ToString() }, { "type", "device" } };
-                var data = new JObject {{ "sid", sid } };
-                sendJob.Add("objects", data);
-            }
-            return sendJob;
-        }
     }
-
 }

--
Gitblit v1.8.0