From 6fa9d69da922c8049f5acfcbb9ce9fd26811024c Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期四, 16 四月 2020 17:10:57 +0800 Subject: [PATCH] 请合并代码 --- ZigbeeApp/Shared/Phone/Device/Logic/TimePoint.cs | 501 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 501 insertions(+), 0 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/TimePoint.cs b/ZigbeeApp/Shared/Phone/Device/Logic/TimePoint.cs new file mode 100755 index 0000000..877bc00 --- /dev/null +++ b/ZigbeeApp/Shared/Phone/Device/Logic/TimePoint.cs @@ -0,0 +1,501 @@ +锘縰sing System; +using System.Collections.Generic; +using Shared; +using Shared.Common; +using Shared.Phone; +using Shared.Phone.Device.Logic.LogicView; +using Shared.R; +using ZigBee.Device; +namespace Shared.Phone.Device.Logic +{ + public class TimePoint : FrameLayout + { + public TimePoint() + { + Tag = "Logic"; + } + Dictionary<string, string> timeifon = new Dictionary<string, string>(); + TimeView timeview = new TimeView + { + + Height = Application.GetRealHeight(550), + BackgroundColor =0x40ffffff,// ZigbeeColor.Current.LogicTopViewBackgroundColor, + Width = Application.GetRealWidth(1080), + }; + /// <summary> + /// 鏍囪(鏂板姞/杩涙潵缂栬緫) + /// </summary> + public bool IsEditor; + /// <summary> + /// 璁板綍杩涙潵涔嬪墠鐨勫垎閽� + /// </summary> + public string StartMin; + /// <summary> + /// 璁板綍杩涙潵涔嬪墠鐨勫皬鏃� + /// </summary> + public string StartHour; + /// <summary> + /// 璁板綍杩涙潵涔嬪墠鐨勬椂闂�(寤舵椂/鎻愬墠) + /// </summary> + public string AdjustTime; + /// <summary> + /// 璁板綍鏃跺埢鐨勭被鍨�(鏃ュ嚭/鏃ヨ惤/姝e父) + /// </summary> + public string DateType; + public void Show(Dictionary<string, string> dictionary) + { + + int TypeValue = int.Parse(dictionary["DateType"]); + timeifon.Add("Type", "0"); + timeifon.Add("IsValid", "1"); + timeifon.Add("RemindTime", "0"); + timeifon.Add("EnDelay", "0"); + timeifon.Add("DelayTime", "0"); + timeifon.Add("DoorLockOpenDelayTime","0"); + timeifon.Add("DateType", TypeValue.ToString()); + DateType = dictionary["DateType"]; + + if (TypeValue == 0) + { + timeifon.Add("StartHour", dictionary["StartHour"]); + timeifon.Add("StartMin", dictionary["StartMin"]); + StartHour = dictionary["StartHour"]; + StartMin = dictionary["StartMin"]; + } + else + { + timeifon.Add("AdjustTime", dictionary["AdjustTime"]); + AdjustTime = dictionary["AdjustTime"]; + + } + + #region 涓婇潰鐨勫竷灞�浠g爜 + TopView view = new TopView(); + this.AddChidren(view.TopRowView()); + view.toptitleNameBtn.TextID = MyInternationalizationString.addtime; + view.clickBtn.MouseDownEventHandler += (sender, e) => { RemoveFromParent(); }; + #endregion + + + var middle = new FrameLayout + { + Y = view.topRowLayout.Bottom, + Height = Application.GetRealHeight(Method.H - 184 - 260), + BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, + }; + this.AddChidren(middle); + SelectedTimeTypeView(middle, TypeValue); + + + } + /// <summary> + /// 鏄剧ず閫変腑鏃堕棿鐨勫鐞嗘柟娉� + /// </summary> + /// <param name="middle">Middle.</param> + /// <param name="TypeValue">Type value.</param> + void SelectedTimeTypeView(FrameLayout middle, int TypeValue) + { + middle.RemoveAll(); + #region -----绫诲瀷 鏃跺埢 + TypeView typeView = new TypeView(); + middle.AddChidren(typeView.Show()); + typeView.textBtn.TextID = MyInternationalizationString.type; + typeView.titleBtn.Width = Application.GetRealWidth(630 + 70); + typeView.titleBtn.TextID = MyInternationalizationString.immediateexecution; + typeView.backBtn.Visible = false; + + + TypeView skView = new TypeView(); + skView.frameLayout.Y = typeView.frameLayout.Bottom; + middle.AddChidren(skView.Show()); + skView.textBtn.TextID = MyInternationalizationString.moment; + skView.clickviewBtn.MouseUpEventHandler += (sender, e) => { + TimeTypeView(middle, TypeValue); + + }; + #endregion + + string textvalue = ""; + switch (TypeValue) + { + case 0: + { + skView.titleBtn.Text = Language.StringByID(MyInternationalizationString.logiccustom); + textvalue = timeifon["StartHour"] + ":" + timeifon["StartMin"]; + } + break; + case 1: + { + skView.titleBtn.Text = Language.StringByID(MyInternationalizationString.sunrise); + if (int.Parse(timeifon["AdjustTime"]) > 0) + { + textvalue = Language.StringByID(MyInternationalizationString.delayed) + timeifon["AdjustTime"] + Language.StringByID(MyInternationalizationString.logicminute); + } + else if (int.Parse(timeifon["AdjustTime"]) < 0) + { + textvalue = Language.StringByID(MyInternationalizationString.advance) + Math.Abs(int.Parse(timeifon["AdjustTime"])).ToString() + Language.StringByID(MyInternationalizationString.logicminute); + } + else + { + textvalue = Language.StringByID(MyInternationalizationString.nothing); + } + } + break; + case 2: + { + skView.titleBtn.Text = Language.StringByID(MyInternationalizationString.sunset); + if (int.Parse(timeifon["AdjustTime"]) > 0) + { + textvalue = Language.StringByID(MyInternationalizationString.delayed) + timeifon["AdjustTime"] + Language.StringByID(MyInternationalizationString.logicminute); + } + else if (int.Parse(timeifon["AdjustTime"]) < 0) + { + textvalue = Language.StringByID(MyInternationalizationString.advance) + Math.Abs(int.Parse(timeifon["AdjustTime"])).ToString() + Language.StringByID(MyInternationalizationString.logicminute); + } + else + { + textvalue = Language.StringByID(MyInternationalizationString.nothing); + } + } + break; + case 3: + { + skView.titleBtn.Text = Language.StringByID(MyInternationalizationString.noon); + if (int.Parse(timeifon["AdjustTime"]) > 0) + { + textvalue = Language.StringByID(MyInternationalizationString.delayed) + timeifon["AdjustTime"] + Language.StringByID(MyInternationalizationString.logicminute); + } + else if (int.Parse(timeifon["AdjustTime"]) < 0) + { + textvalue = Language.StringByID(MyInternationalizationString.advance) + Math.Abs(int.Parse(timeifon["AdjustTime"])).ToString() + Language.StringByID(MyInternationalizationString.logicminute); + } + else + { + textvalue = Language.StringByID(MyInternationalizationString.nothing); + } + } + break; + } + if (TypeValue == 0) + { + + #region -----鑷畾涔夋椂闂� + skView.backBtn.UnSelectedImagePath = "ZigeeLogic/dropdown.png"; + var rowTimeView = new FrameLayout + { + Y = skView.frameLayout.Bottom, + Height = Application.GetRealHeight(600), + }; + middle.AddChidren(rowTimeView); + rowTimeView.AddChidren(timeview); + #endregion + } + else + { + + #region -----鎻愬墠/寤舵椂 + + TypeView delayView = new TypeView(); + delayView.frameLayout.Y = skView.frameLayout.Bottom; + delayView.frameLayout.Height = Application.GetRealHeight(160+20);//澧為珮鏈�鍚庝竴琛岀殑楂樺害20; + middle.AddChidren(delayView.Show()); + delayView.textBtn.TextID = MyInternationalizationString.Advancedelay; + delayView.titleBtn.Text = textvalue; + delayView.lineBtn.BackgroundColor = BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; + delayView.clickviewBtn.MouseUpEventHandler += (sender, e) => { + var mList = new List<string>(); + mList.Add(Language.StringByID(MyInternationalizationString.advance)); + mList.Add(Language.StringByID(MyInternationalizationString.nothing)); + mList.Add(Language.StringByID(MyInternationalizationString.delayed)); + var listValues = new List<string>(); + for (int i = 1; i < 61; i++) + { + if (i < 10) + { + var a = "0" + i.ToString(); + listValues.Add(a + " " + Language.StringByID(MyInternationalizationString.minute)); + } + else + { + listValues.Add(i.ToString() + " " + Language.StringByID(MyInternationalizationString.minute)); + } + + } + var mList2 = new List<List<string>>(); + mList2.Add(listValues); + mList2.Add(new List<string> { "0" }); + mList2.Add(listValues); + int timevalue = 0; + int selectIndex = 1; + if (int.Parse(timeifon["AdjustTime"]) > 0) + { + selectIndex = 2; + timevalue = Math.Abs(int.Parse(timeifon["AdjustTime"])); + } + else if (int.Parse(timeifon["AdjustTime"]) < 0) + { + selectIndex = 0; + timevalue = Math.Abs(int.Parse(timeifon["AdjustTime"])); + } + else + { + selectIndex = 1; + timevalue = 1; + } + PickerView.ShowSecondary(mList, mList2, (selectIndex1, selectIndex2) => + { + + switch (selectIndex1) + { + case 0: + case 2: + { + timevalue = int.Parse(listValues[selectIndex2].Split(' ')[0]); + if (selectIndex1 == 0) + { + timevalue = timevalue * -1; + } + } + break; + case 1: + timevalue = 0; + break; + + } + + if (timeifon.ContainsKey("StartHour")) + { + timeifon.Remove("StartHour"); + } + if (timeifon.ContainsKey("StartMin")) + { + timeifon.Remove("StartMin"); + } + if (timeifon.ContainsKey("AdjustTime")) + { + timeifon.Remove("AdjustTime"); + } + timeifon.Add("AdjustTime", timevalue.ToString()); + UserView.HomePage.Instance.ScrollEnabled = false; + SelectedTimeTypeView(middle, TypeValue); + }, selectIndex, timevalue - 1, Language.StringByID(MyInternationalizationString.Advancedelay)); + + }; + + #endregion + } + //淇濆瓨 + SaveView saveView = new SaveView(); + saveView.frameLayout.Y = middle.Bottom; + this.AddChidren(saveView.Show()); + saveView.clickviewBtn.MouseUpEventHandler += (sender, e) => + { + if (TypeValue == 0) + { + if (timeifon.ContainsKey("AdjustTime")) + { + timeifon.Remove("AdjustTime"); + } + if (timeifon.ContainsKey("StartHour")) + { + timeifon.Remove("StartHour"); + } + if (timeifon.ContainsKey("StartMin")) + { + timeifon.Remove("StartMin"); + } + timeifon.Add("StartHour", timeview.Hour.ToString()); + timeifon.Add("StartMin", timeview.Minute.ToString()); + } + + if (IsEditor) + { + for (int i = 0; i < Common.Logic.CurrentLogic.Conditions.Count; i++) + { + if (Common.Logic.CurrentLogic.Conditions[i]["Type"] == "0") + { + + if (Common.Logic.CurrentLogic.Conditions[i]["DateType"] == "0") + { + if (Common.Logic.CurrentLogic.Conditions[i]["StartHour"] == StartHour && Common.Logic.CurrentLogic.Conditions[i]["StartMin"] == StartMin) + { + Common.Logic.CurrentLogic.Conditions.RemoveAt(i); + Common.Logic.CurrentLogic.Conditions.Insert(i, timeifon); + } + } + else + { + if (Common.Logic.CurrentLogic.Conditions[i]["DateType"] == DateType && Common.Logic.CurrentLogic.Conditions[i]["AdjustTime"] == AdjustTime) + { + Common.Logic.CurrentLogic.Conditions.RemoveAt(i); + Common.Logic.CurrentLogic.Conditions.Insert(i, timeifon); + } + } + } + } + IsEditor = false; + } + else + { + Common.Logic.CurrentLogic.Conditions.Add(timeifon); + } + + var logicCommunalPage = new LogicCommunalPage { }; + UserView.HomePage.Instance.AddChidren(logicCommunalPage); + UserView.HomePage.Instance.PageIndex += 1; + logicCommunalPage.Show(() => { }); + + }; + } + /// <summary> + /// 澶勭悊閫変腑鏃堕棿绫诲瀷鐨勬柟娉� + /// </summary> + /// <param name="middle">Middle.</param> + void TimeTypeView(FrameLayout middle, int TypeValue) + { + UserView.HomePage.Instance.ScrollEnabled = false; + var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicTranslucentColor }; + this.AddChidren(flMain); + #region -------鍙栨秷 瀹屾垚 + CompleteView completeView = new CompleteView(); + flMain.AddChidren(completeView.Show(4)); + completeView.Btntitle.TextID = MyInternationalizationString.type; + EventHandler<MouseEventArgs> clickcancel = (sender, e) => + { + UserView.HomePage.Instance.ScrollEnabled = true; + flMain.RemoveFromParent(); + }; + flMain.MouseUpEventHandler += clickcancel; + completeView.Btncancel.MouseUpEventHandler += clickcancel; + + #endregion + #region -------鏃ュ嚭锛屾棩钀斤紝姝e崍锛岃嚜瀹氫箟 + // 鏃ュ嚭 + mFunView sunriseView = new mFunView(); + sunriseView.frameLayout.Y = Application.GetRealHeight(140 + 20); + completeView.Show(4).AddChidren(sunriseView.Show()); + sunriseView.titleBtn.TextID = MyInternationalizationString.sunrise; + + //鏃ヨ惤 + mFunView sunsetView = new mFunView(); + sunsetView.frameLayout.Y = sunriseView.frameLayout.Bottom; + completeView.Show(4).AddChidren(sunsetView.Show()); + sunsetView.titleBtn.TextID = MyInternationalizationString.sunset; + + //姝e崍 + mFunView noonView = new mFunView(); + noonView.frameLayout.Y = sunsetView.frameLayout.Bottom; + completeView.Show(4).AddChidren(noonView.Show()); + noonView.titleBtn.TextID = MyInternationalizationString.noon; + + //鑷畾涔� + mFunView customView = new mFunView(); + customView.frameLayout.Y = noonView.frameLayout.Bottom; + completeView.Show(4).AddChidren(customView.Show()); + customView.titleBtn.TextID = MyInternationalizationString.logiccustom; + customView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; + + int value = -1; + sunriseView.clickviewBtn.MouseUpEventHandler += (sender, e) => { + sunriseView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; + sunsetView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + noonView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + customView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + sunriseView.selectedIconBtn.Visible = true; + sunsetView.selectedIconBtn.Visible = false; + noonView.selectedIconBtn.Visible = false; + customView.selectedIconBtn.Visible = false; + value = 1; + }; + sunsetView.clickviewBtn.MouseUpEventHandler += (sender, e) => + { + sunriseView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + sunsetView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; + noonView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + customView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + sunriseView.selectedIconBtn.Visible = false; + sunsetView.selectedIconBtn.Visible = true; + noonView.selectedIconBtn.Visible = false; + customView.selectedIconBtn.Visible = false; + value = 2; + }; + noonView.clickviewBtn.MouseUpEventHandler += (sender, e) => + { + sunriseView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + sunsetView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + noonView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; + customView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + sunriseView.selectedIconBtn.Visible = false; + sunsetView.selectedIconBtn.Visible = false; + noonView.selectedIconBtn.Visible = true; + customView.selectedIconBtn.Visible = false; + value = 3; + }; + customView.clickviewBtn.MouseUpEventHandler +=(sender, e) => + { + sunriseView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + sunsetView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + noonView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + customView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; + sunriseView.selectedIconBtn.Visible = false; + sunsetView.selectedIconBtn.Visible = false; + noonView.selectedIconBtn.Visible = false; + customView.selectedIconBtn.Visible = true; + UserView.HomePage.Instance.ScrollEnabled = true; + flMain.RemoveFromParent(); + + if (timeifon.ContainsKey("StartHour")) + { + timeifon.Remove("StartHour"); + } + if (timeifon.ContainsKey("StartMin")) + { + timeifon.Remove("StartMin"); + } + if (timeifon.ContainsKey("AdjustTime")) + { + timeifon.Remove("AdjustTime"); + } + if (timeifon.ContainsKey("DateType")) + { + timeifon.Remove("DateType"); + } + timeifon.Add("DateType", "0"); + timeifon.Add("StartHour", "12"); + timeifon.Add("StartMin", "0"); + SelectedTimeTypeView(middle, 0); + }; + #endregion + completeView.Btncomplete.MouseUpEventHandler += (sender, e) => + { + if (value == -1) + { + return; + } + UserView.HomePage.Instance.ScrollEnabled = true; + flMain.RemoveFromParent(); + if (timeifon.ContainsKey("StartHour")) + { + timeifon.Remove("StartHour"); + } + if (timeifon.ContainsKey("StartMin")) + { + timeifon.Remove("StartMin"); + } + if (timeifon.ContainsKey("AdjustTime")) + { + timeifon.Remove("AdjustTime"); + } + if (timeifon.ContainsKey("DateType")) + { + timeifon.Remove("DateType"); + } + timeifon.Add("DateType", value.ToString()); + timeifon.Add("AdjustTime", "0"); + SelectedTimeTypeView(middle, value); + }; + + } + + } +} -- Gitblit v1.8.0