private async void DoSearchTans(object obj) { try { WorkInProgress = true; BatchTansView = null; TotalTans = 0; BatchTans = new ObservableCollection <BatchTanVM>(); BatchTans.CollectionChanged += BatchTans_CollectionChanged; if (FromBatch != null && ToBatch != null && FromCategory != null) { var result = await RestHub.TansBetweenBatches(FromBatch.Name, ToBatch.Name, (int)FromCategory.Value); if (result.HttpCode == System.Net.HttpStatusCode.OK) { var tans = (List <BatchTanDto>)result.UserObject; foreach (var tan in tans) { BatchTans.Add(new BatchTanVM { Id = tan.Id, BatchNum = tan.BatchNumber, TanNumber = tan.TanNumber, TanCategory = new TanCategoryVM { Value = (int)tan.TanCategory, Description = tan.TanCategory.DescriptionAttribute() }, TanType = tan.TanType, Nums = tan.Nums, Rxns = tan.Rxns, Stages = tan.Stages, Curator = tan.Curator, Reviewer = tan.Reviewer, QC = tan.QC, IsDoubtRaised = tan.IsDoubtRaised.ToString(), TanState = tan.TanState }); } BatchTansView = new QueryableCollectionView(BatchTans); } else { AppErrorBox.ShowErrorMessage(result.StatusMessage, result.HttpResponse); } } else { MessageBox.Show("From Batch, To Batch, Category Are Required . ."); } UpdateSummary(BatchTans); } catch (Exception ex) { Log.This(ex); AppErrorBox.ShowErrorMessage("Error while searching TANs", ex.ToString()); } finally { WorkInProgress = false; } }