public void AddAllResults(DynamicGridViewModel grid, RecordEntryViewModelBase recordForm, string subGridReference) { var mainFormInContext = recordForm; if (recordForm is GridRowViewModel) { mainFormInContext = recordForm.ParentForm; } mainFormInContext.ApplicationController.DoOnAsyncThread(() => { mainFormInContext.LoadingViewModel.IsLoading = true; try { Thread.Sleep(100); var records = grid.GetGridRecords(true); foreach (var item in records.Records) { AddSelectedItem(item, recordForm, subGridReference); } mainFormInContext.ClearChildForm(); } catch (Exception ex) { mainFormInContext.ApplicationController.ThrowException(ex); } finally { mainFormInContext.LoadingViewModel.IsLoading = false; } }); }