/// <summary> /// Sets up view async. /// </summary> private async void SetUpViewAsync() { ProgressDialogConfig config = new ProgressDialogConfig() .SetTitle("Querying Database") .SetIsDeterministic(false) .SetMaskType(MaskType.Black); using (IProgressDialog progress = UserDialogs.Instance.Progress(config)) { await Task.Delay(300); var existingData = await App.Database.GetSleepRecordsAsync(DateStringIndex); if (existingData != null && existingData.Count > 0) { var sleepItems = existingData.Where(m => m.Type == Constants.Namings.SleepCode); SleepInstanceView slider; labelAsleep.IsVisible = true; foreach (var item in sleepItems) { slider = new SleepInstanceView(TargetType.Sleep, Convert.ToSingle(item.Lower), Convert.ToSingle(item.Upper), ReddrawCanvasView); sleepStackLayout.Children.Add(slider); sleepingSpans.Add(slider); } var downItems = existingData.Where(m => m.Type == Constants.Namings.DownCode); labelBed.IsVisible = true; foreach (var item in downItems) { slider = new SleepInstanceView(TargetType.Bed, Convert.ToSingle(item.Lower), Convert.ToSingle(item.Upper), ReddrawCanvasView); bedStackLayout.Children.Add(slider); downSpans.Add(slider); } } canvasView = new SleepDiagramView(sleepingSpans, downSpans); recordingGrid.Children.Add(canvasView, 0, 1); } }
/// <summary> /// Reddraws the canvas view. /// </summary> void ReddrawCanvasView() { recordingGrid.Children.Remove(canvasView); canvasView = new SleepDiagramView(sleepingSpans, downSpans); recordingGrid.Children.Add(canvasView, 0, 1); }