public OccurrencesSection(CheckPoint checkpoint,iCheckpointCommandController Controller,CheckPointDetailDialog dialog) { this.Caption= "Completions:"; this.Footer = "Tap to remove."; var occurenceElements = checkpoint .AllOccurrences .OrderByDescending (o => o.TimeStamp) .Select (o => new StringElement (o.Date.ToString ("d") + (o.IsSkipped?" (Skipped)":""), ()=>{ var c = SharedDialogs.ConfirmationDialog( (a)=> { checkpoint.RemoveOccurrence(o); Controller.RewriteOccurrences(); dialog.Render(); },Message:"Deleting this completion will affect averages and streaks."); dialog.PresentModalViewController(c,true); }) { Value= o.TimeStamp.ToString ("t") }) .ToList(); this.AddAll (occurenceElements.Take(5)); if (occurenceElements.Count > 5) this.Add (new StringElement ("All Completions", ()=>{ var r = new RootElement(checkpoint.Name); var s = new Section("All Completions"); r.Add(s); s.AddAll( occurenceElements.Select(o=> { o.Tapped+=()=> {r.Reload(s,UITableViewRowAnimation.Automatic);}; return o; } )); dialog.moreDialog = new DialogViewController(r,true); dialog.NavigationController.PushViewController(dialog.moreDialog,true); } ){ Alignment = UITextAlignment.Center }); }