コード例 #1
0
        protected override async void OnAppearing()
        {
            base.OnAppearing();
            if (isStarted)
            {
                return;
            }
            var items = await manager.GetSectionItems();

            var cash = await manager.GetCashData();

            //GetAllTimes
            var times    = cash.Data.Speaches.Select(x => x.SpeachStartTime);
            var noDubles = ConferenceManager.RemoveDuplicates(times);

            //CreateVMs
            foreach (var item in items.Data)
            {
                var data = new List <Speach>();

                foreach (var time in noDubles)
                {
                    var speach = item.Speachs.FirstOrDefault(x => x.SpeachStartTime == time);
                    if (speach != null)
                    {
                        data.Add(speach);
                    }
                    else
                    {
                        data.Add(new Speach
                        {
                            SpeachStartTime = time
                        });
                    }
                }
                item.Speachs = data.ToArray();
                var view = new SectionView(item, new Action <DateTime>((dt) =>
                {
                    StartDateTime = dt;
                }));
                views.Add(view);
            }
            isStarted = true;
        }