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;
                }
            });
        }