using 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 TimePage : FrameLayout { public TimePage() { Tag = "Logic"; } public bool IsEditor; public string str1; Dictionary timeBucketConditionsInfo = new Dictionary(); public void Show() { #region 上面的布局代码 TopView view = new TopView(); this.AddChidren(view.TopRowView()); view.toptitleNameBtn.TextID = MyInternationalizationString.selection; view.clickBtn.MouseDownEventHandler += (sender, e) => { RemoveFromParent(); }; #endregion #region 最下面的布局代码 var middle = new FrameLayout { Y = view.topRowLayout.Bottom, Height = Application.GetRealHeight(Method.H - 184 - 260), BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, }; this.AddChidren(middle); //保存 SaveView saveView = new SaveView(); saveView.frameLayout.Y = middle.Bottom; this.AddChidren(saveView.Show()); #endregion #region -----时间范围 开始时间 结束时间 #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.timeframe; typeView.backBtn.Visible = false; #endregion #region -----开始时间 TypeView startView = new TypeView(); startView.frameLayout.Y = typeView.frameLayout.Bottom; middle.AddChidren(startView.Show()); startView.textBtn.TextID = MyInternationalizationString.starttime; startView.titleBtn.Tag = "0"; #endregion #region -----结束时间 TypeView endView = new TypeView(); endView.frameLayout.Y = startView.frameLayout.Bottom; endView.frameLayout.Height = Application.GetRealHeight(160 + 20);//最后一行增加20高度; middle.AddChidren(endView.Show()); endView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor;//改变最后一行线颜色; endView.textBtn.TextID = MyInternationalizationString.endtime; endView.titleBtn.Tag = "0"; #endregion #endregion if (IsEditor) { if (str1 != null) { string[] timestr = str1.Split('-'); string[] starttime = timestr[0].Split(':'); string[] endtime = timestr[1].Split(':'); string s1 = "", s2 = ""; if (starttime[1].Length < 2) { s1 = "0" + starttime[1]; } else { s1 = starttime[1]; } if (endtime[1].Length < 2) { s2 = "0" + endtime[1]; } else { s2 = endtime[1]; } startView.titleBtn.Text = starttime[0] + ":" + s1; endView.titleBtn.Text = endtime[0] + ":" + s2; //btnstarttime.Text = timestr[0]; //btnendtime.Text = timestr[1]; if (timeBucketConditionsInfo.ContainsKey("StartHour")) { timeBucketConditionsInfo.Remove("StartHour"); } if (timeBucketConditionsInfo.ContainsKey("StartMin")) { timeBucketConditionsInfo.Remove("StartMin"); } if (timeBucketConditionsInfo.ContainsKey("StopHour")) { timeBucketConditionsInfo.Remove("StopHour"); } if (timeBucketConditionsInfo.ContainsKey("StopMin")) { timeBucketConditionsInfo.Remove("StopMin"); } timeBucketConditionsInfo.Add("StartHour", starttime[0]); timeBucketConditionsInfo.Add("StartMin", starttime[1]); timeBucketConditionsInfo.Add("StopHour", endtime[0]); timeBucketConditionsInfo.Add("StopMin", endtime[1]); startView.titleBtn.Tag = int.Parse(starttime[0]) * 60 + int.Parse(starttime[1]); endView.titleBtn.Tag = int.Parse(endtime[0]) * 60 + int.Parse(endtime[1]); } } startView.clickviewBtn.MouseUpEventHandler += (sender, e) => { var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicTranslucentColor }; AddChidren(flMain); flMain.MouseUpEventHandler += (sender11, e11) => { flMain.RemoveFromParent(); }; var timeview = new TimeView { Y = Application.GetRealHeight(1920 - 600), Height = Application.GetRealHeight(600), BackgroundColor = ZigbeeColor.Current.LogicTimeViewColor, Width = Application.GetRealWidth(1080), }; flMain.AddChidren(timeview); var btnSave = new Button { Y = Application.GetRealHeight(1920 - 600), Width = Application.GetRealWidth(200), Height = Application.GetRealHeight(150), Text = Language.StringByID(MyInternationalizationString.complete), // TextColor = 0xFF121212, TextColor = ZigbeeColor.Current.LogicTimeViewSaveButton, //TextAlignment = TextAlignment.CenterRight X = Application.GetRealWidth(1080 - 200), }; flMain.AddChidren(btnSave); btnSave.MouseUpEventHandler += (sender2, e2) => { flMain.RemoveFromParent(); var startval = timeview.Hour * 60 + timeview.Minute; if (endView.titleBtn.Tag.ToString() != "0" && startval.ToString() == endView.titleBtn.Tag.ToString()) { var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal, Language.StringByID(MyInternationalizationString.nottime), Language.StringByID(MyInternationalizationString.confrim)); alert.Show(); return; } if (endView.titleBtn.Tag.ToString() != "0" && startval > int.Parse(endView.titleBtn.Tag.ToString())) { var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal, Language.StringByID(MyInternationalizationString.timesetting), Language.StringByID(MyInternationalizationString.confrim)); alert.Show(); return; } if (timeBucketConditionsInfo.ContainsKey("StartHour")) { timeBucketConditionsInfo.Remove("StartHour"); } if (timeBucketConditionsInfo.ContainsKey("StartMin")) { timeBucketConditionsInfo.Remove("StartMin"); } startView.titleBtn.Tag = timeview.Hour * 60 + timeview.Minute; timeBucketConditionsInfo.Add("StartHour", timeview.Hour.ToString()); timeBucketConditionsInfo.Add("StartMin", timeview.Minute.ToString()); startView.titleBtn.Text = timeview.Hour.ToString() + ":" + (timeview.Minute.ToString().Length < 2 ? "0" + timeview.Minute.ToString() : timeview.Minute.ToString()); }; }; endView.clickviewBtn.MouseUpEventHandler += (sender, e) => { var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicTranslucentColor }; AddChidren(flMain); flMain.MouseUpEventHandler += (sender11, e11) => { flMain.RemoveFromParent(); }; var timeview = new TimeView { Y = Application.GetRealHeight(1920 - 600), Height = Application.GetRealHeight(600), BackgroundColor = ZigbeeColor.Current.LogicTimeViewColor, Width = Application.GetRealWidth(1080), }; flMain.AddChidren(timeview); var btnSave = new Button { Y = Application.GetRealHeight(1920 - 600), Width = Application.GetRealWidth(200), Height = Application.GetRealHeight(150), Text = Language.StringByID(MyInternationalizationString.complete), //TextColor = 0xFF121212, TextColor = ZigbeeColor.Current.LogicTimeViewSaveButton, //TextAlignment = TextAlignment.CenterRight X = Application.GetRealWidth(1080 - 200), }; flMain.AddChidren(btnSave); btnSave.MouseUpEventHandler += (sender2, e2) => { flMain.RemoveFromParent(); var endval = timeview.Hour * 60 + timeview.Minute; if (startView.titleBtn.Tag.ToString() != "0" && endval.ToString() == startView.titleBtn.Tag.ToString()) { var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal, Language.StringByID(MyInternationalizationString.nottime), Language.StringByID(MyInternationalizationString.confrim)); alert.Show(); return; } if (startView.titleBtn.Tag.ToString() != "0" && endval < int.Parse(startView.titleBtn.Tag.ToString())) { var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal, Language.StringByID(MyInternationalizationString.timesetting), Language.StringByID(MyInternationalizationString.confrim)); alert.Show(); return; } if (timeBucketConditionsInfo.ContainsKey("StopHour")) { timeBucketConditionsInfo.Remove("StopHour"); } if (timeBucketConditionsInfo.ContainsKey("StopMin")) { timeBucketConditionsInfo.Remove("StopMin"); } endView.titleBtn.Tag = timeview.Hour * 60 + timeview.Minute; timeBucketConditionsInfo.Add("StopHour", timeview.Hour.ToString()); timeBucketConditionsInfo.Add("StopMin", timeview.Minute.ToString()); endView.titleBtn.Text = timeview.Hour.ToString() + ":" + (timeview.Minute.ToString().Length < 2 ? "0" + timeview.Minute.ToString() : timeview.Minute.ToString()); }; }; ///完成点击事件 saveView.clickviewBtn.MouseUpEventHandler += (sender, e) => { if (timeBucketConditionsInfo.ContainsKey("Type")) { timeBucketConditionsInfo.Remove("Type"); } if (timeBucketConditionsInfo.ContainsKey("IsValid")) { timeBucketConditionsInfo.Remove("IsValid"); } timeBucketConditionsInfo.Add("Type", "5"); timeBucketConditionsInfo.Add("IsValid", "1"); if (string.IsNullOrEmpty(startView.titleBtn.Text) || string.IsNullOrEmpty(endView.titleBtn.Text)) { var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal, Language.StringByID(MyInternationalizationString.completeNext), Language.StringByID(MyInternationalizationString.confrim)); alert.Show(); return; } if (startView.titleBtn.Text == endView.titleBtn.Text) { var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal, Language.StringByID(MyInternationalizationString.sametime), Language.StringByID(MyInternationalizationString.confrim)); alert.Show(); return; } if (IsEditor) { for (int i = 0; i < Common.Logic.CurrentLogic.Conditions.Count; i++) { if (Common.Logic.CurrentLogic.Conditions[i]["Type"] == "5") { var timeBucketInfo = Common.Logic.CurrentLogic.Conditions[i]; var s = timeBucketInfo["StartHour"] + ":" + timeBucketInfo["StartMin"] + "-" + timeBucketInfo["StopHour"] + ":" + timeBucketInfo["StopMin"]; if (str1 == s) { Common.Logic.CurrentLogic.Conditions.RemoveAt(i); Common.Logic.CurrentLogic.Conditions.Insert(i, timeBucketConditionsInfo); } } } } else { Common.Logic.CurrentLogic.Conditions.Add(timeBucketConditionsInfo); } //LogicIfon.logicIfon.Addconditions(timeBucketConditionsInfo,timeBucketConditionsInfo.Type); var logicCommunalPage = new LogicCommunalPage { }; UserView.HomePage.Instance.AddChidren(logicCommunalPage); UserView.HomePage.Instance.PageIndex += 1; logicCommunalPage.Show(() => { }); }; } } }