public void ReloadEntries() { RecordsManager manager = DataContext as RecordsManager; if (DataContext == null) { return; } List <Record> l = manager.Select(Conditions, StartOffset, MaxPerPage); if (l.Count == 0) { ParentContent.OnInfo("No more entries"); return; } Results.Clear(); List <RecordDescription> d = manager.Description; foreach (Record r in l) { BindableDynamicDictionary o = new BindableDynamicDictionary(); o["ID"] = r.ID; for (int i = 0; i < d.Count; i++) { o[d[i].Name] = d[i].ShowText(r.GetValue(i)); } Results.Add(o); } }
public Task <bool> DisplayChildForm(Action <Form> setupChildForm, int height = 600, int width = 800, Func <Form, bool?> onClosing = null, Action <Form> onDisplay = null, bool useIsolatedModelForThisChildForm = false, bool isDialog = false) { var promise = new System.Threading.Tasks.TaskCompletionSource <bool>(); // default to use the parent's model, but some child will use a DataContext and need an isolated model var childFormModel = this.Model; if (useIsolatedModelForThisChildForm == true) { childFormModel = new BindableDynamicDictionary(); } var childForm = new Form(_parentForm: this, _model: childFormModel); setupChildForm(childForm); childForm.Display_Internal(height: height, width: width, onClosing: onClosing, onDisplay: onDisplay, isDialog: isDialog) .ContinueWith(t => { promise.SetResult(t.Result); }); return(promise.Task); }
public void SetWorkSessionHistory(IEnumerable <WorkSession> workSessionHistory) { History = new ObservableCollection <BindableDynamicDictionary>(); var taskNames = workSessionHistory.SelectMany(s => s.Tasks.Select(t => t.Name)).Distinct(); foreach (var workSession in workSessionHistory) { var historyItem = new BindableDynamicDictionary(); historyItem["Date"] = workSession.Today.ToString("ddd dd MMM"); foreach (var taskName in taskNames) { historyItem[taskName] = 0.ToString(HoursFormat); } var total = 0d; foreach (var workSessionTask in workSession.Tasks) { historyItem[workSessionTask.Name] = workSessionTask.DurationHours.ToString(HoursFormat); total += workSessionTask.DurationHours; } historyItem["Total"] = total.ToString(HoursFormat); History.Add(historyItem); } }