using System; using System; using System.Collections.Generic; using Shared; using Shared.SimpleControl; using Shared.SimpleControl.R; namespace SuperGateWay { public class EverymonthPage : FrameLayout { /// /// 开始日期 /// Button btnStartdate; /// /// 结束日期 /// Button btndateEnddate; public void Show (GateWay superGateWay) { this.AddChidren (new Button { Height = Application.GetRealHeight (30), BackgroundColor = 0xFF1F1F1F, }); var topFrameLayout = new FrameLayout { Height = Application.GetRealHeight (100), Y = Application.GetRealHeight (30), BackgroundColor = 0xFF1F1F1F, }; AddChidren (topFrameLayout); var titleName = new Button { TextID = MyInternationalizationString.cycle, TextSize = 17, }; topFrameLayout.AddChidren (titleName); var hdl = new Button { Width = Application.GetRealWidth (154), Height = Application.GetRealHeight (90), X = Application.GetRealWidth (486), Gravity = Gravity.CenterVertical, UnSelectedImagePath = "Logo/Logo.png", }; topFrameLayout.AddChidren (hdl); var back = new Button { Width = Application.GetRealWidth (82), Height = Application.GetRealHeight (89), X = Application.GetRealWidth (10), Gravity = Gravity.CenterVertical, UnSelectedImagePath = "MusicIcon/HomepageBack.png", }; topFrameLayout.AddChidren (back); back.MouseDownEventHandler += (sender, e) => { RemoveFromParent (); }; var titlerl = new RowLayout { Height = Application.GetRealHeight (100), BackgroundColor = 0xff0f0f0f, Y = Application.GetRealHeight (130), }; AddChidren (titlerl); titlerl.AddChidren ( new Button { X = Application.GetRealWidth (40), //Text = "请选择重复执行周期", TextID = MyInternationalizationString.repeat, TextSize = 17, TextAlignment = TextAlignment.CenterLeft, } ); var middle = new VerticalScrolViewLayout (); middle.Y = titlerl.Bottom; middle.Height = Application.GetRealHeight (Application.DesignHeight - 130 - 100); middle.BackgroundColor = 0xff2F2F2F; this.AddChidren (middle); var dateRowLayout = new RowLayout { Height = Application.GetRealHeight (100), }; middle.AddChidren (dateRowLayout); var dateVerticalScrolViewLayout = new VerticalScrolViewLayout { Height = 0, BackgroundColor = 0xff121212, }; /// middle.AddChidren (dateVerticalScrolViewLayout); //Date var btndate = new Button { Width = Application.GetRealWidth (200), X = Application.GetRealHeight (40), TextAlignment = TextAlignment.CenterLeft, //Text = "日期", TextID = MyInternationalizationString.date, TextSize = 16, }; dateRowLayout.AddChidren (btndate); var btndisplaydate = new Button { TextAlignment = TextAlignment.CenterLeft, X = Application.GetRealWidth (150), Width = Application.GetRealWidth (300), Gravity = Gravity.CenterVertical, }; dateRowLayout.AddChidren (btndisplaydate); var btndateback = new Button { Width = Application.GetRealWidth (87), Height = Application.GetRealHeight (100), UnSelectedImagePath = "MusicIcon/Next.png", SelectedImagePath = "MusicIcon/NextSelecte.png", X = Application.GetRealWidth (550), }; dateRowLayout.AddChidren (btndateback); ///日期点击事件 string startvalue = ""; string endvalue = ""; EventHandler dateclick = (sender, e) => { dateRowLayout.BackgroundColor = 0xffFE5E00; btndisplaydate.IsSelected = !btndisplaydate.IsSelected; if (btndisplaydate.IsSelected) { dateVerticalScrolViewLayout.Height = Application.GetRealWidth (200); var startdateRowLayout = new RowLayout { Height = Application.GetRealHeight (100), }; dateVerticalScrolViewLayout.AddChidren (startdateRowLayout); var startdatetext = new Button { X = Application.GetRealWidth (40), TextAlignment = TextAlignment.CenterLeft, Gravity = Gravity.CenterVertical, //Text = "起始日期", Width = Application.GetRealWidth (210), TextID = MyInternationalizationString.startdate, }; startdateRowLayout.AddChidren (startdatetext); ///显示起始日期控件 btnStartdate = new Button { Width = Application.GetRealWidth (200), Height = Application.GetRealHeight (100), X = Application.GetRealWidth (250), Gravity = Gravity.CenterVertical, Tag = 0, TextAlignment = TextAlignment.CenterLeft, }; startdateRowLayout.AddChidren (btnStartdate); var btnStartdateback = new Button { Width = Application.GetRealWidth (87), Height = Application.GetRealHeight (100), UnSelectedImagePath = "MusicIcon/Next.png", SelectedImagePath = "MusicIcon/NextSelecte.png", X = Application.GetRealWidth (550), }; startdateRowLayout.AddChidren (btnStartdateback); var enddateRowLayout = new RowLayout { Height = Application.GetRealHeight (100), }; dateVerticalScrolViewLayout.AddChidren (enddateRowLayout); var enddtaetext = new Button { X = Application.GetRealWidth (40), TextAlignment = TextAlignment.CenterLeft, Gravity = Gravity.CenterVertical, TextID = MyInternationalizationString.enddate, Width = Application.GetRealWidth (210), //Text = "结束日期", }; enddateRowLayout.AddChidren (enddtaetext); ///显示结束日期控件 btndateEnddate = new Button { Width = Application.GetRealWidth (200), Height = Application.GetRealHeight (100), X = Application.GetRealWidth (250), Gravity = Gravity.CenterVertical, Tag = 0, TextAlignment = TextAlignment.CenterLeft, }; enddateRowLayout.AddChidren (btndateEnddate); var btnenddateback = new Button { Width = Application.GetRealWidth (87), Height = Application.GetRealHeight (100), UnSelectedImagePath = "MusicIcon/Next.png", SelectedImagePath = "MusicIcon/NextSelecte.png", X = Application.GetRealWidth (550), }; enddateRowLayout.AddChidren (btnenddateback); if (startvalue != "" && endvalue != "") { btnStartdate.Text =Language.StringByID (MyInternationalizationString.monthly) + startvalue +Language.StringByID (MyInternationalizationString.day); btndateEnddate.Text =Language.StringByID (MyInternationalizationString.monthly)+ endvalue + Language.StringByID (MyInternationalizationString.day); btnStartdate.Tag = startvalue; btndateEnddate.Tag = endvalue; } var y = DateTime.Now.ToString ("yyyy"); var m = DateTime.Now.ToString ("MM"); ///起始日期点击事件 EventHandler startdateclick = (sender33, e33) => { //var list = new List { }; //for (int day = 1; day <= 31; day++) { // list.Add (day.ToString()+" "+Language.StringByID (MyInternationalizationString.day)); //} //PickerView.Show (list, (obj) => { // var day = obj.Split (' ') [0]; // if (btndateEnddate.Tag.ToString () != "0" && int.Parse (btndateEnddate.Tag.ToString ()) < int.Parse (day)) { // var alert = new Alert (Language.StringByID (MyInternationalizationString.Prompt), // Language.StringByID (MyInternationalizationString.monthday), // Language.StringByID (MyInternationalizationString.OK)); // alert.Show (); // } else { // btnStartdate.Text =Language.StringByID (MyInternationalizationString.monthly)+ day+ Language.StringByID (MyInternationalizationString.day); // btnStartdate.Tag = day; // if (string.IsNullOrEmpty (btndateEnddate.Text)) { // btndateEnddate.Text =Language.StringByID (MyInternationalizationString.monthly) + day + Language.StringByID (MyInternationalizationString.day); // btndateEnddate.Tag = day; // } // if (Logic.CurrentLogic.date.ContainsKey ("type")) { // Logic.CurrentLogic.date.Remove ("type"); // } // if (Logic.CurrentLogic.date.ContainsKey ("week")) { // Logic.CurrentLogic.date.Remove ("week"); // } // if (Logic.CurrentLogic.date.ContainsKey ("date")) { // Logic.CurrentLogic.date.Remove ("date"); // } // Logic.CurrentLogic.date.Add ("type", "every_month"); // Logic.CurrentLogic.date.Add ("date", y+"/"+m+"/" + btnStartdate.Tag + "-" + y + "/" + m + "/" + btndateEnddate.Tag); // } //}, Language.StringByID (MyInternationalizationString.complete), "112"); }; startdateRowLayout.MouseUpEventHandler += startdateclick; btnStartdate.MouseUpEventHandler += startdateclick; startdatetext.MouseUpEventHandler += startdateclick; btnStartdateback.MouseUpEventHandler += startdateclick; ///结束日期点击事件 EventHandler enddateclick = (sender1, e1) => { //var list = new List { }; //for (int day = 1; day <= 31; day++) { // list.Add (day.ToString () + " " + Language.StringByID (MyInternationalizationString.day)); //} //PickerView.Show (list, (obj) => { // var day = obj.Split (' ') [0]; // if (btnStartdate.Tag.ToString () != "0" && int.Parse (btnStartdate.Tag.ToString ()) > int.Parse (day)) { // var alert = new Alert (Language.StringByID (MyInternationalizationString.Prompt), // Language.StringByID (MyInternationalizationString.monthday), // Language.StringByID (MyInternationalizationString.OK)); // alert.Show (); // } else { // btndateEnddate.Text =Language.StringByID (MyInternationalizationString.monthly) + day + Language.StringByID (MyInternationalizationString.day); // btndateEnddate.Tag = day; // if (string.IsNullOrEmpty (btnStartdate.Text)) { // btnStartdate.Text =Language.StringByID (MyInternationalizationString.monthly)+ day + Language.StringByID (MyInternationalizationString.day); // btnStartdate.Tag = day; // } // if (Logic.CurrentLogic.date.ContainsKey ("type")) { // Logic.CurrentLogic.date.Remove ("type"); // } // if (Logic.CurrentLogic.date.ContainsKey ("week")) { // Logic.CurrentLogic.date.Remove ("week"); // } // if (Logic.CurrentLogic.date.ContainsKey ("date")) { // Logic.CurrentLogic.date.Remove ("date"); // } // Logic.CurrentLogic.date.Add ("type", "every_month"); // Logic.CurrentLogic.date.Add ("date", y + "/" + m + "/" + btnStartdate.Tag + "-" + y + "/" + m + "/" + btndateEnddate.Tag); // } //}, Language.StringByID (MyInternationalizationString.complete), "112"); }; enddateRowLayout.MouseUpEventHandler += enddateclick; enddtaetext.MouseUpEventHandler += enddateclick; btndateEnddate.MouseUpEventHandler += enddateclick; btnenddateback.MouseUpEventHandler += enddateclick; } else { dateVerticalScrolViewLayout.Height = 0; } }; dateRowLayout.MouseUpEventHandler += dateclick; btndate.MouseUpEventHandler += dateclick; btndisplaydate.MouseUpEventHandler += dateclick; btndateback.MouseUpEventHandler += dateclick; if (Logic.CurrentLogic.date.ContainsKey ("type")) { var type = Logic.CurrentLogic.date ["type"]?.ToString (); switch (type) { case "every_month": { var datetext = Logic.CurrentLogic.date ["date"]?.ToString (); if (datetext != "") { string [] s = datetext.Split ('-'); var startday = datetext.Split ('-') [0].Split ('/') [2]; var endday = datetext.Split ('-') [1].Split ('/') [2]; startvalue = startday; endvalue = endday; if (s [0] == s [1]) { btndisplaydate.Text = Language.StringByID (MyInternationalizationString.monthly) + startday + Language.StringByID (MyInternationalizationString.day); } else { btndisplaydate.Text = Language.StringByID (MyInternationalizationString.monthly) + startday + Language.StringByID (MyInternationalizationString.day) + "-" + Language.StringByID (MyInternationalizationString.monthly) + endday + Language.StringByID (MyInternationalizationString.day); } } } break; } } } } }