陈嘉乐
2020-09-02 652243206427f35a256400a149a1734085824cb9
ZigbeeApp/Shared/Phone/Device/Logic/DelayTime.cs
old mode 100644 new mode 100755
@@ -16,82 +16,196 @@
        {
            Tag = "Logic";
        }
        Dictionary<string, string> timeConditionsInfo = new Dictionary<string, string>();
        public void Show()
        public void Show(int isInt = 0, bool edit = false)
        {
            this.BackgroundColor = ZigbeeColor.Current.LogicTopViewBackgroundColor;
            var topFrameLayout = new FrameLayout
            {
                Height = Application.GetRealHeight(140),
                Y = Application.GetRealHeight(80),
            };
            AddChidren(topFrameLayout);
            var titleName = new Button
            {
                Text = "添加延时",
                TextSize = 17,
                TextColor = ZigbeeColor.Current.LogicTextBlackColor,
            };
            topFrameLayout.AddChidren(titleName);
            var back = new Button
            {
                Width = Application.GetRealWidth(110),
                Height = Application.GetRealHeight(110),
                X = Application.GetRealWidth(20),
                Gravity = Gravity.CenterVertical,
                UnSelectedImagePath = "ZigeeLogic/Back.png",
            };
            topFrameLayout.AddChidren(back);
            back.MouseDownEventHandler += (sender, e) =>
            {
                RemoveFromParent();
            };
            #region  上面的布局代码
            TopView view = new TopView();
            this.AddChidren(view.TopRowView());
            view.toptitleNameBtn.TextID = MyInternationalizationString.adddelay;
            view.clickBtn.MouseDownEventHandler += (sender, e) => { RemoveFromParent(); };
            #endregion
            var middle = new FrameLayout();
            middle.Y = topFrameLayout.Bottom;
            middle.Height = Application.GetRealHeight(1920 - 220 - 174);
            middle.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
            var middle = new FrameLayout
            {
                Y = view.topRowLayout.Bottom,
                Height = Application.GetRealHeight(Method.H - 184),
                BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
            };
            this.AddChidren(middle);
            var timeview = new TimeView
            var blancolorFl = new FrameLayout
            {
                Y = Application.GetRealHeight(400),
                Height = Application.GetRealHeight(600),
                BackgroundColor = ZigbeeColor.Current.LogicTopViewBackgroundColor,
                Width = Application.GetRealWidth(1080),
                Width = Application.GetMinRealAverage(200),
                Height = Application.GetMinRealAverage(200),
                Y = Application.GetRealHeight(130),
                BackgroundColor = 0xFFFFFFFF,
                Radius = (uint)Application.GetMinRealAverage(100),
                X = Application.GetRealWidth(440),
            };
           middle.AddChidren(timeview);
            var btnComplete = new Button
            middle.AddChidren(blancolorFl);
            var colorBtn = new Button
            {
                Y = middle.Bottom,
                Height = Application.GetRealHeight(174),
                TextID = MyInternationalizationString.complete,
                Width = Application.GetMinRealAverage(200-24),
                Height =Application.GetMinRealAverage(200-24),
                X = Application.GetMinRealAverage(12),
                Y = Application.GetMinRealAverage(12),
                BackgroundColor = 0xFFFEF1ED,
                Radius = (uint)Application.GetMinRealAverage(88),
            };
            blancolorFl.AddChidren(colorBtn);
            var btnicon = new Button
            {
                X = Application.GetMinRealAverage(58),
                Y = Application.GetMinRealAverage(58),
                Width = Application.GetMinRealAverage(84),
                Height = Application.GetMinRealAverage(84),
                UnSelectedImagePath = "ZigeeLogic/delay.png",
            };
            blancolorFl.AddChidren(btnicon);
            var titleText = new Button
            {
                Width = Application.GetRealWidth(580),
                Height = Application.GetRealHeight(60),
                X = Application.GetRealWidth(250),
                Y = blancolorFl.Bottom + Application.GetRealHeight(50),
                TextID = MyInternationalizationString.createtimetext,
                TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                TextSize = 16,
            };
            AddChidren(btnComplete);
                TextSize = 15,
            };
            middle.AddChidren(titleText);
            var PickerViewfra = new FrameLayout
            {
                Y = titleText.Bottom + Application.GetRealHeight(250),
                Height = Application.GetRealHeight(1046),
                BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
            };
            middle.AddChidren(PickerViewfra);
            PickerViewfra.SetCornerWithSameRadius(Application.GetRealHeight(50), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
            var mUIPickerView = new UIPickerView
            {
                Y = Application.GetRealHeight(50),
                Height = Application.GetRealHeight(600),
                //Width=Application.GetRealWidth(1080-400),
                //X=Application.GetRealWidth(200),
            };
            PickerViewfra.AddChidren(mUIPickerView);
            var mList1 = new List<string>();
            var mList2 = new List<string>();
            for (int i = 0; i < 60; i++)
            {
                if (i < 10)
                {
                    var a = "0" + i.ToString();
                    mList1.Add(a + " " + Language.StringByID(MyInternationalizationString.minute));
                    mList2.Add(a + " " + Language.StringByID(MyInternationalizationString.second));
                }
                else
                {
                    mList1.Add(i.ToString() + " " + Language.StringByID(MyInternationalizationString.minute));
                    mList2.Add(i.ToString() + " " + Language.StringByID(MyInternationalizationString.second));
                }
            }
            mUIPickerView.setNPicker(mList1, mList2,null);
            ///默认状态
            mUIPickerView.setCurrentItems(0, 5, 0);
            int timevalue = 5;
            int value = 0;
            if (edit)
            {
                timevalue = int.Parse(Common.Logic.CurrentLogic.Actions[isInt]["DelayTime"].ToString());
                if (timevalue > 3600)
                {
                    //更新最新状态
                    mUIPickerView.setCurrentItems(60, timevalue - 3600, 0);
                }
                else
                {
                    var minutevalue1 = timevalue / 60;
                    var secondvalue1 = timevalue % 60;
                    //更新最新状态
                    mUIPickerView.setCurrentItems(minutevalue1, secondvalue1, 0);
                }
                value = timevalue;
            }
            string selectde = "";
            mUIPickerView.OnSelectChangeEvent += (s1, s2, s3) =>
            {
                var minutevalue = int.Parse(mList1[s1].Split(' ')[0]);
                var secondvalue = int.Parse(mList2[s2].Split(' ')[0]);
                timevalue = minutevalue * 60 + secondvalue;
                selectde = "yes";
            };
            var btnsave = new Button
            {
                Y = PickerViewfra.Height - Application.GetRealHeight(260),
                X = Application.GetRealWidth(85),
                Height = Application.GetRealHeight(130),
                Width = Application.GetRealWidth(910),
                Radius = (uint)Application.GetRealHeight(60),
                BackgroundColor = ZigbeeColor.Current.LogicBtnSaveBackgroundColor,
                TextID = MyInternationalizationString.Save,
                TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor,
                TextSize=16,
            };
            PickerViewfra.AddChidren(btnsave);
            ///完成点击事件
            btnComplete.MouseUpEventHandler += (sender, e) =>
            btnsave.MouseUpEventHandler += (sender, e) =>
            {
                Dictionary<string, object> actionsInfo = new Dictionary<string, object>();
                actionsInfo.Add("LinkType", 10);
                actionsInfo.Add("DelayTime", 5);
                Common.Logic.CurrentLogic.Actions.Add(actionsInfo);
                if (timevalue == 0)
                {
                    return;
                }
                if (selectde != "" || timevalue == 5)
                {
                    Dictionary<string, object> actionsInfo = new Dictionary<string, object>();
                    actionsInfo.Add("LinkType", 7);
                    actionsInfo.Add("DelayTime", timevalue);
                    if (edit)
                    {
                        Common.Logic.CurrentLogic.Actions.RemoveAt(isInt);
                        Common.Logic.CurrentLogic.Actions.Insert(isInt, actionsInfo);
                    }
                    else
                    {
                        Common.Logic.CurrentLogic.Actions.Add(actionsInfo);
                    }
                }
                else
                {
                    if (!edit)
                    {
                        var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt),
                                               Language.StringByID(MyInternationalizationString.delaytip),
                                               Language.StringByID(MyInternationalizationString.confrim));
                        alert.Show();
                        return;
                    }
                }
                var logicCommunalPage = new LogicCommunalPage { };
                UserView.HomePage.Instance.AddChidren(logicCommunalPage);
                UserView.HomePage.Instance.PageIndex += 1;
                logicCommunalPage.Show(() => { });
            };
        }
    }
}