From 94e4e5b9fd3da964c44b7b14227d6fe2bbb426d7 Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期四, 02 四月 2020 13:56:39 +0800
Subject: [PATCH] 2020-04-02-2

---
 ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs |  109 ++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 80 insertions(+), 29 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs b/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs
index 06fc920..133f08d 100644
--- a/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs
@@ -13,7 +13,7 @@
         /// <summary>
         /// 鍏跺畠鐣岄潰璺宠繘鏉ョ殑鍏ュ彛
         /// </summary>
-        public static void SkipAddLogic(int intvalue,UserCenter.MemberInfoRes accountObj = null,DoorLock doorLock=null)
+        public static void SkipAddLogic(int intvalue,DoorLock doorLock=null,UserCenter.MemberInfoRes accountObj = null)
         {
             /// 0.姝e父鑷姩鍖�;1.闂ㄩ攣鑷姩鍖�;2.闂ㄩ攣甯稿紑.鍏�;
             switch (intvalue)
@@ -56,16 +56,48 @@
                         doorLockLogicList.Show();
                     } break;
                 case 2: {
+                        Common.Logic.LogicDviceList.Clear();
+                        if (Common.Logic.LogicDviceList.Count == 0)
+                        {
+                            Common.Logic.LogicDviceList.AddRange(LocalDevice.Current.listAllDevice.ToArray());
+                        }
+                        int h =int.Parse(DateTime.Now.ToString("hh"));
+                        int m = int.Parse(DateTime.Now.ToString("mm"));
+                        //榛樿涓�涓椂闂存(寮�濮嬫椂闂翠负:绯荤粺褰撳墠锛岀粨鏉熸椂闂翠负:寮�濮嬫椂闂�+1涓椂闂�)
+                        Dictionary<string, string> timeDictionary = new Dictionary<string, string>();
+                        timeDictionary.Add("Type", "5");
+                        timeDictionary.Add("IsValid", "1");
+                        timeDictionary.Add("StartHour", h.ToString());
+                        timeDictionary.Add("StartMin", m.ToString());
+                        if (h + 1 == 24)
+                        {
+                            //缁撴潫鏃堕棿瓒呭嚭24灏忔椂澶勭悊鏂规硶;
+                            timeDictionary.Add("StopHour", h.ToString());
+                            timeDictionary.Add("StopMin", "59");
+                        }
+                        else
+                        {
+                            timeDictionary.Add("StopHour", (h + 1).ToString());
+                            timeDictionary.Add("StopMin", m.ToString());
+                        }
+                        Dictionary<string, object> actionsInfo = new Dictionary<string, object>();
+                        actionsInfo.Add("LinkType", 8);
+                        actionsInfo.Add("DeviceAddr", doorLock.DeviceAddr);
+                        actionsInfo.Add("Epoint", doorLock.DeviceEpoint);
+                        actionsInfo.Add("PassData", "055704010112");//榛樿闂ㄩ攣甯稿紑
+                  
                         //new涓�涓柊閫昏緫瀵硅薄锛�
                         //鏂板闂ㄩ攣甯稿紑妯″紡鑷姩鍖栧叆鍙o紱
                         Common.Logic.CurrentLogic = new Common.Logic();
                         Common.Logic.CurrentLogic.IsEnable = 1;//榛樿涓哄紑
                         Common.Logic.CurrentLogic.LogicType = 2;//鏍囪閫昏緫绫诲瀷
-                        Common.Logic.CurrentLogic.LogicName = Language.StringByID(MyInternationalizationString.openmode);
-                        var logicCommunalPage = new LogicCommunalPage();
-                        UserView.HomePage.Instance.AddChidren(logicCommunalPage);
+                        Common.Logic.CurrentLogic.LogicName = Language.StringByID(MyInternationalizationString.automation1);
+                        Common.Logic.CurrentLogic.Conditions.Add(timeDictionary);//娣诲姞鏉′欢
+                        Common.Logic.CurrentLogic.Actions.Add(actionsInfo);//娣诲姞鐩爣
+                        var oneLogic = new OneLogic();
+                        UserView.HomePage.Instance.AddChidren(oneLogic);
                         UserView.HomePage.Instance.PageIndex += 1;
-                        logicCommunalPage.Show(() => { });
+                        oneLogic.Show(false);
                     } break;
             }
 
@@ -358,10 +390,10 @@
                     refresview.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                 }
             }
-
+            int i = 1;//灞�閮ㄥ彉閲忥紝榛樿鏄涓�鏉¢�昏緫;
             foreach (var logic in Common.Logic.LogicList)
             {
-
+               
                 var fLayout = new FrameLayout
                 {
                     Height = Application.GetRealHeight(190 + 30),
@@ -369,7 +401,7 @@
                     BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
                 };
                 refresview.AddChidren(fLayout);
-
+            
                 var logicRowlayout = new RowLayout
                 {
                     Height = Application.GetRealHeight(190 + 30),
@@ -380,7 +412,14 @@
 
                 };
                 fLayout.AddChidren(logicRowlayout);
-
+                if (i == 1)
+                {
+                    //瀹炵幇android鏄剧ず閫昏緫鍒楄〃鐨勫渾瑙�;
+                    fLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft);
+                    logicRowlayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft);
+                    i = 2;
+                }
+              
                 var logicnameBtn = new Button
                 {
                     Height = Application.GetRealHeight(58),
@@ -396,8 +435,8 @@
 
                 var logicswitchBtn = new Button
                 {
-                    Width = Application.GetRealWidth(104),
-                    Height = Application.GetRealHeight(63),
+                    Width = Application.GetMinRealAverage(104),
+                    Height = Application.GetMinRealAverage(63),
                     UnSelectedImagePath = "ZigeeLogic/logicclose.png",
                     SelectedImagePath = "ZigeeLogic/logicopen.png",
                     X = logicRowlayout.Width - Application.GetRealWidth(104 + 58),
@@ -421,7 +460,7 @@
                         logic.IsEnable = 0;
                         StatusColor(logic, logicRowlayout, 0);
                     }
-                    Device.Logic.Send.LogicControlSwitch(logic);
+                   Send.LogicControlSwitch(logic);
                     //Logic.Send.AddModifyLogic(logic);
                 };
                 if (logic.IsEnable == 1)
@@ -445,11 +484,20 @@
                 edit.MouseUpEventHandler += (sender, e) =>
                 {
                     Common.Logic.CurrentLogic = logic;
-                    var logicCommunalPage = new LogicCommunalPage();
-                    HomePage.Instance.AddChidren(logicCommunalPage);
-                    HomePage.Instance.PageIndex += 1;
-                    logicCommunalPage.Show(() => { logicnameBtn.Text = logic.LogicName; Automationview(refresview, no); });
-
+                    if (Common.Logic.CurrentLogic.LogicType == 2)
+                    {
+                        var oneLogic = new OneLogic();
+                        UserView.HomePage.Instance.AddChidren(oneLogic);
+                        UserView.HomePage.Instance.PageIndex += 1;
+                        oneLogic.Show(true);
+                    }
+                    else
+                    {
+                        var logicCommunalPage = new LogicCommunalPage();
+                        HomePage.Instance.AddChidren(logicCommunalPage);
+                        HomePage.Instance.PageIndex += 1;
+                        logicCommunalPage.Show(() => { logicnameBtn.Text = logic.LogicName; Automationview(refresview, no); });
+                    }
                 };
 
                 ///鍒犻櫎
@@ -507,7 +555,7 @@
             logicRowlayout.AddChidren(logictimeBtn);
 
             ///鏄剧ず鎵ц鍛ㄦ湡
-            Device.Logic.Method.UpdateWeek(logictimeBtn, logic);
+            Method.UpdateWeek(logictimeBtn, logic);
 
 
             List<string> indexlist = new List<string>();
@@ -521,7 +569,8 @@
                     indexlist.Add(linkType);
                 }
             }
-            if (indexlist.Contains("0"))
+             //鎺掑垪鍥炬爣椤哄簭;
+            if (indexlist.Contains("0")|| indexlist.Contains("8"))
             {
                 iconIndexlist.Add("0");
             }
@@ -546,7 +595,7 @@
                     Height = Application.GetMinRealAverage(82),
                     X = Application.GetRealWidth(58) + Application.GetRealWidth(12 + (12 + 82 + 45 + 12) * i),
                     Y = Application.GetRealHeight(58 + 30 + 30),
-                    Radius = (uint)Application.GetRealHeight(41),
+                    Radius = (uint)Application.GetMinRealAverage(41),
                     BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
                 };
                 logicRowlayout.AddChidren(typebjBtn);
@@ -644,33 +693,35 @@
         #endregion
 
         /// <summary>
-        /// 闂ㄩ攣鍙栨秷璁剧疆鐢ㄧ殑鏂规硶
+        /// 闂ㄩ攣鍙栨秷璁剧疆鐢ㄧ殑鏂规硶(鐩稿綋涓�涓叧闂父寮�妯″紡鎸夐挳,涓嶉渶瑕佹樉绀鸿鑷姩鍖�)
         /// </summary>
         /// <param name="timeVlaue">鏃堕棿鍊�</param>
         /// <param name="common">璁惧</param>
         /// <returns></returns>
         public static void LockAddModifyLogic(int timeVlaue, CommonDevice common)
         {
-
-            int hour = timeVlaue / 60;
-            int min = timeVlaue % 60;
+            var h = DateTime.Now.ToString("hh");
+            var m = DateTime.Now.ToString("mm");
             Dictionary<string, string> timeConditionsInfo = new Dictionary<string, string>();
             timeConditionsInfo.Add("Type", "0");
             timeConditionsInfo.Add("IsValid", "1");
             timeConditionsInfo.Add("DateType", "0");
             timeConditionsInfo.Add("RemindTime", "0");
-            timeConditionsInfo.Add("DelayTime", "0");
-            timeConditionsInfo.Add("StartHour", hour.ToString());
-            timeConditionsInfo.Add("StartMin", min.ToString());
+            timeConditionsInfo.Add("EnDelay", "0");
+            timeConditionsInfo.Add("DelayTime", "0"); 
+            timeConditionsInfo.Add("StartHour", h);
+            timeConditionsInfo.Add("StartMin", m);
+            timeConditionsInfo.Add("DoorLockOpenDelayTime", timeVlaue.ToString());
             Dictionary<string, object> actionsInfo = new Dictionary<string, object>();
             actionsInfo.Add("LinkType", 8);
             actionsInfo.Add("DeviceAddr", common.DeviceAddr);
             actionsInfo.Add("Epoint", common.DeviceEpoint);
-            actionsInfo.Add("PassData", "055704010112");//榛樿闂ㄩ攣甯稿紑
+            actionsInfo.Add("PassData", "055704010113");//榛樿闂ㄩ攣甯稿叧
 
             Common.Logic currentLogic = new Common.Logic();
-            currentLogic.IsEnable = 0;//榛樿绂佺敤
+            currentLogic.IsEnable = 1;//榛樿涓哄紑
             currentLogic.TimeAttribute.Repeat = 0;//鎵ц涓�娆�
+            currentLogic.LogicType = 3;//鏍囪閫昏緫绫诲瀷
             currentLogic.LogicName = Language.StringByID(R.MyInternationalizationString.openmode);
             currentLogic.Conditions.Add(timeConditionsInfo);
             currentLogic.Actions.Add(actionsInfo);

--
Gitblit v1.8.0