//инициализирует GridOfTimeItem элементами дня соответсвующего выбранной дате на DatePickerOfTimeTable
        private void InitializeGridOfTimeItem()
        {
            this.BackgroundColor = ColorSetting.colorOfPage;
            timeItems            = Data.Schedule.GetTimeItems(DatePickerOfTimeTable.Date);
            GridOfTimeItem.RowDefinitions.Clear();
            GridOfTimeItem.Children.Clear();
            listOfGrid.Clear();
            int i = 0;

            foreach (var item in timeItems)
            {
                var startLabel = new Label {
                    Text = item.Start.ToString(@"hh\:mm"), FontSize = 16, TextColor = ColorSetting.colorOfStart, HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.End
                };
                var finishLabel = new Label {
                    Text = item.Finish.ToString(@"hh\:mm"), FontSize = 16, TextColor = ColorSetting.colorOfFinish, HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Start
                };
                var nameButton = new Button {
                    Text = item.Name, TextColor = ColorSetting.colorOfName, FontSize = 30, FontAttributes = FontAttributes.Italic, BackgroundColor = Color.Transparent, HorizontalOptions = LayoutOptions.Start, VerticalOptions = LayoutOptions.CenterAndExpand
                };
                nameButton.Clicked += nameButton_Clicked;
                //      nameButton.Pressed += nameButton_Pressed;
                GridOfTimeItem.RowDefinitions.Add(new RowDefinition {
                    Height = GridLength.Auto
                });
                GridOfTimeItem.RowDefinitions.Add(new RowDefinition {
                    Height = GridLength.Auto
                });
                var gridForItem = new Grid();
                listOfGrid.Add(gridForItem);
                gridForItem.RowDefinitions.Add(new RowDefinition {
                    Height = GridLength.Auto
                });
                var box = new BoxView {
                    Color = ColorSetting.colorOfBox
                };
                GridOfTimeItem.Children.Add(box, 0, i);
                Grid.SetColumnSpan(box, 2);
                Grid.SetRowSpan(box, 2);
                GridOfTimeItem.Children.Add(startLabel, 0, i);
                GridOfTimeItem.Children.Add(finishLabel, 0, i + 1);
                gridForItem.Children.Add(nameButton, 0, 0);
                GridOfTimeItem.Children.Add(gridForItem, 1, i);
                Grid.SetRowSpan(gridForItem, 2);
                i += 2;
            }
        }
        private void func()
        {
            var timeItems = new TimeItems();

            var timeItem = new TimeItem {
                Name = "Сон", Note = "Не переводи будильник"
            };

            timeItem.Start  = new TimeSpan(23, 0, 0);
            timeItem.Finish = new TimeSpan(6, 0, 0);
            timeItems.Add(timeItem);

            timeItem = new TimeItem {
                Name = "Душ", Notes = new List <(string, bool)> {
                    ("Почистить зубы", true), ("Помыться", false), ("Одеться", false),
                }
            };
            timeItem.Start  = new TimeSpan(6, 0, 0);
            timeItem.Finish = new TimeSpan(6, 10, 0);
            timeItems.Add(timeItem);

            timeItem = new TimeItem {
                Name = "Дорога"
            };
            timeItem.Start  = new TimeSpan(6, 45, 0);
            timeItem.Finish = new TimeSpan(7, 30, 1);
            timeItems.Add(timeItem);

            timeItem = new TimeItem {
                Name = "Завтрак", Note = "Завтрак - главный прием пищи"
            };
            timeItem.Start  = new TimeSpan(6, 10, 0);
            timeItem.Finish = new TimeSpan(6, 30, 0);
            timeItems.Add(timeItem);

            Data.Schedule = new Dictionary <DateTime, TimeItems>();
            Data.Schedule.Add(new DateTime(2018, 12, 01), timeItems);
        }
 public override void ExPublishedEvent(PublishEventArgs args)
 {
     //请求成功
     //if (args.EventId == EventIdAssign.SluSglTimeInfoRequest)
     //{
     //    var bts =
     //        (from t in TimeInfos.MySelf.Info where t.Key.Item1 == AreaId orderby t.Key ascending select t.Value)
     //            .ToList();
     //    foreach (var g in bts)
     //    {
     //        TimeItems.Add(new TimeInfoOneVm(AreaId, g));
     //    }
     //    if (TimeItems.Count > 0) CurrentSelectedTimeItem = TimeItems[0];
     //    else CurrentSelectedTimeItem = null;
     //    deleteing = false;
     //}
     //更新或增加成功
     if (args.EventId == EventIdAssign.SluSglTimeInfoUpdate)
     {
         if (DateTime.Now.Ticks - _dtCmdSaveTimeTable.Ticks < 100000000)
         {
             Msg = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss" + "  " + "更新成功.");
         }
         else
         {
             TimeItems.Clear();
             var bts =
                 (from t in TimeInfos.MySelf.Info
                  where t.Key.Item1 == AreaId
                  orderby t.Key ascending
                  select t.Value).ToList();
             foreach (var g in bts)
             {
                 TimeItems.Add(new TimeInfoOneVm(AreaId, g));
             }
             if (TimeItems.Count > 0)
             {
                 CurrentSelectedTimeItem = TimeItems[0];
             }
             else
             {
                 CurrentSelectedTimeItem = null;
             }
             Msg = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss" + "  " + "接收到服务器更新数据,界面执行刷新...");
         }
     }
     //删除成功
     if (args.EventId == EventIdAssign.SluSglTimeInfoDelete)
     {
         if (DateTime.Now.Ticks - _dtCmdDeleteTimeTable.Ticks < 100000000)
         {
             TimeItems.Remove(CurrentSelectedTimeItem);
             if (TimeItems.Count > 0)
             {
                 CurrentSelectedTimeItem = TimeItems[0];
             }
             else
             {
                 CurrentSelectedTimeItem = null;
             }
             deleteing = false;
             Msg       = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss" + "  " + "删除成功.");
         }
         else
         {
             TimeItems.Clear();
             var bts =
                 (from t in TimeInfos.MySelf.Info
                  where t.Key.Item1 == AreaId
                  orderby t.Key ascending
                  select t.Value).ToList();
             foreach (var g in bts)
             {
                 TimeItems.Add(new TimeInfoOneVm(AreaId, g));
             }
             if (TimeItems.Count > 0)
             {
                 CurrentSelectedTimeItem = TimeItems[0];
             }
             else
             {
                 CurrentSelectedTimeItem = null;
             }
             Msg = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss" + "  " + "接收到服务器更新数据,界面执行刷新...");
         }
     }
     //this.NavOnLoad();
 }
 public void OnUserHideOrClosing()
 {
     TimeItems.Clear();
     CleanSluCtrls();
 }