From 05ce435c3b58e53eeab04c672affdeeab75f3036 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期五, 15 十一月 2019 14:41:39 +0800
Subject: [PATCH] 2019.11.15-1

---
 ZigbeeApp/Shared/Phone/Device/Logic/IgnoreTime.cs |  252 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 252 insertions(+), 0 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/IgnoreTime.cs b/ZigbeeApp/Shared/Phone/Device/Logic/IgnoreTime.cs
new file mode 100755
index 0000000..fa588ac
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/IgnoreTime.cs
@@ -0,0 +1,252 @@
+锘縰sing System;
+using System.Collections.Generic;
+using Shared;
+using Shared.Common;
+using Shared.R;
+using ZigBee.Device;
+
+namespace Shared.Phone.Device.Logic
+{
+    public class IgnoreTime : FrameLayout
+    {
+
+        public IgnoreTime()
+        {
+            Tag = "Logic";
+
+        }
+        Button selectedIcon = new Button();
+        public void Show(CommonDevice common, string name, bool edit, int timevalue)
+        {
+
+            #region  鏈�涓婇潰鐨勫竷灞�浠g爜
+            var topRowLayout = new RowLayout
+            {
+                BackgroundColor = ZigbeeColor.Current.LogicTopBackgroundColor,
+                Height = Application.GetRealHeight(184),
+                LineColor = ZigbeeColor.Current.LogicRowLayoutTopLineColor,
+            };
+            this.AddChidren(topRowLayout);
+
+            var titleName = new Button
+            {
+                TextSize = 16,
+                TextColor = ZigbeeColor.Current.LogicTextBlackColor,
+                TextAlignment = TextAlignment.CenterLeft,
+                X = Application.GetRealWidth(176),
+                Width = Application.GetRealWidth(600),
+                Height = Application.GetRealHeight(69),
+                Y = Application.GetRealHeight(92),
+                Text = name,
+            };
+            topRowLayout.AddChidren(titleName);
+
+            var clickBtn = new Button
+            {
+                Width = Application.GetRealWidth(81 + 51),
+                Height = Application.GetRealHeight(58 + 40),
+                Y = Application.GetRealHeight(98 - 40),
+            };
+            topRowLayout.AddChidren(clickBtn);
+            clickBtn.MouseDownEventHandler += (sender, e) =>
+            {
+                RemoveFromParent();
+            };
+
+            var back = new Button
+            {
+                Width = Application.GetRealWidth(30),
+                Height = Application.GetRealHeight(51),
+                X = Application.GetRealWidth(81),
+                Y = Application.GetRealHeight(98),
+                //Gravity = Gravity.CenterVertical;
+                UnSelectedImagePath = "ZigeeLogic/back.png",
+            };
+            topRowLayout.AddChidren(back);
+            back.MouseDownEventHandler += (sender, e) =>
+            {
+                RemoveFromParent();
+            };
+            #endregion
+
+            var middle = new VerticalScrolViewLayout
+            {
+                Y = topRowLayout.Bottom,
+                Height = Application.GetRealHeight(1920 - 184 - 260),
+                BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
+            };
+            this.AddChidren(middle);
+            int selectetimedvalue = 0;
+            var timestrlist = new List<string> { "2", "5", "10", "20", "30", Language.StringByID(MyInternationalizationString.logiccustom) };
+            foreach (var intvalue in timestrlist)
+            {
+
+                var timeframelayout = new FrameLayout
+                {
+                    Height = Application.GetRealHeight(160),
+                    BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
+                };
+                middle.AddChidren(timeframelayout);
+
+                var timeniconBtn = new Button
+                {
+                    Width = Application.GetRealWidth(81),
+                    Height = Application.GetRealHeight(81),
+                    X = Application.GetRealWidth(58),
+                    Y = Application.GetRealHeight(55),
+                    UnSelectedImagePath = "ZigeeLogic/point.png",
+
+                };
+                timeframelayout.AddChidren(timeniconBtn);
+
+                var timeRow = new RowLayout
+                {
+                    Y = Application.GetRealHeight(30),
+                    Width = Application.GetRealWidth(850),
+                    Height = Application.GetRealHeight(130),
+                    X = Application.GetRealWidth(176),
+                    LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
+                };
+                timeframelayout.AddChidren(timeRow);
+
+                var timeBtn = new Button
+                {
+                    Text = intvalue.ToString() + Language.StringByID(MyInternationalizationString.Minute),
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextColor = ZigbeeColor.Current.LogicTextBlackColor,
+                    Tag = intvalue,
+                };
+                timeRow.AddChidren(timeBtn);
+
+
+                var selected = new SelectedButton(789);
+                timeRow.AddChidren(selected);
+                //鍒ゆ柇涓�涓瓧绗︽槸瀛楃涓茶繕鏄暟瀛�
+                if (intvalue.Length < 3)
+                {
+                    if (timevalue== int.Parse(intvalue) * 60)
+                    {
+                        selectedIcon.Visible = false;
+                        selectedIcon = selected;
+                        selected.Visible = true;
+                    }
+                }
+                else
+                {
+                    timeRow.LineColor = ZigbeeColor.Current.LogicBlankBackgroundColor;
+                }
+                EventHandler<MouseEventArgs> timeclick = (sender, e) =>
+                {
+                    selectedIcon.Visible = false;
+                    selectedIcon = selected;
+                    selected.Visible = true;
+                    if (Language.StringByID(MyInternationalizationString.logiccustom) == timeBtn.Tag.ToString())
+                    {
+                        var secondList = new List<string>();
+                        var minuteList = new List<string>();
+                        for (int i = 0; i < 61; i++)
+                        {
+                            if (i < 10)
+                            {
+                                var a = "0" + i.ToString();
+                                secondList.Add(a + " " + Language.StringByID(MyInternationalizationString.second));
+                                minuteList.Add(a + " " + Language.StringByID(MyInternationalizationString.minute));
+                            }
+                            else
+                            {
+                                secondList.Add(i.ToString() + " " + Language.StringByID(MyInternationalizationString.second));
+                                minuteList.Add(i.ToString() + " " + Language.StringByID(MyInternationalizationString.minute));
+                            }
+
+                        }
+                        int selectIndex1 = timevalue / 60;
+                        int selectIndex2 = timevalue % 60;
+                        PickerView.ShowNormal(minuteList, secondList, new List<string>(), (Index1, Index2, Index3) =>
+                          {
+                              selectetimedvalue = int.Parse(minuteList[Index1].Split(' ')[0]) * 60 + int.Parse(secondList[Index2].Split(' ')[0]);
+                              timemethod(common, selectetimedvalue, timevalue, edit);
+                          }, selectIndex1, selectIndex2, 0, Language.StringByID(MyInternationalizationString.logiccustom));
+                    }
+                    else
+                    {
+                        selectetimedvalue = int.Parse(timeBtn.Tag.ToString()) * 60;
+                    }
+                };
+                timeframelayout.MouseUpEventHandler += timeclick;
+                timeniconBtn.MouseUpEventHandler += timeclick;
+                timeRow.MouseUpEventHandler += timeclick;
+                timeBtn.MouseUpEventHandler += timeclick;
+                selected.MouseUpEventHandler += timeclick;
+            }
+
+            var saveFrameLayout = new FrameLayout
+            {
+                Y = middle.Bottom,
+                Height = Application.GetRealHeight(260),
+                BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
+            };
+            this.AddChidren(saveFrameLayout);
+
+            var btnsave = new Button
+            {
+                X = Application.GetRealWidth(85),
+                Height = Application.GetRealHeight(130),//194
+                Width = Application.GetRealWidth(910),
+                Radius = (uint)Application.GetRealHeight(60),
+                BackgroundColor = ZigbeeColor.Current.LogicBtnSaveBackgroundColor,
+                TextID = MyInternationalizationString.Save,
+                TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor,
+            };
+            saveFrameLayout.AddChidren(btnsave);
+            btnsave.MouseUpEventHandler += (sender, e) =>
+            {
+                timemethod(common, selectetimedvalue, timevalue, edit);
+            };
+        }
+
+        public void timemethod(CommonDevice common, int selectetimedvalue, int timevalue, bool edit)
+        {
+
+            var deviceConditionsInfo = new Dictionary<string, string>();
+            deviceConditionsInfo.Add("Type", "1");
+            deviceConditionsInfo.Add("IsValid", "1");
+            deviceConditionsInfo.Add("MacAddr", common.DeviceAddr);
+            deviceConditionsInfo.Add("Epoint", common.DeviceEpoint.ToString());
+            deviceConditionsInfo.Add("Cluster_ID", "1280");
+            deviceConditionsInfo.Add("AttriButeId", "1281");
+            deviceConditionsInfo.Add("AttriButeData1", "0");
+            deviceConditionsInfo.Add("AttriButeData2", "0");
+            deviceConditionsInfo.Add("Range", "1");
+            if (selectetimedvalue != 0)
+            {
+                if (timevalue != selectetimedvalue)
+                {
+                    if (deviceConditionsInfo.ContainsKey("IgnoreTime"))
+                    {
+                        deviceConditionsInfo.Remove("IgnoreTime");
+                    }
+                    deviceConditionsInfo.Add("IgnoreTime", selectetimedvalue.ToString());
+                    LogicIfon.AddDeviceconditions(common, deviceConditionsInfo);
+                }
+
+            }
+            else
+            {
+                if (!edit)
+                {
+                    var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
+                                           Language.StringByID(MyInternationalizationString.selectdevicestatuscondition),
+                                           Language.StringByID(MyInternationalizationString.complete));
+                    alert.Show();
+                    return;
+                }
+
+            }
+            var logicCommunalPage = new LogicCommunalPage();
+            UserView.HomePage.Instance.AddChidren(logicCommunalPage);
+            UserView.HomePage.Instance.PageIndex += 1;
+            logicCommunalPage.Show(() => { });
+
+        }
+    }
+}

--
Gitblit v1.8.0