private void OnSearch() { if (!RemoveExistingUpdates()) { return; } SearchResults = _threadReferenceRepository .Query(Criteria) .OrderBy(o => !o.Owned) .ThenBy(o => o.BrandName) .ThenBy(o => o.BrandId) .Select(x => new WrappedThreadReference(x)) .AsObservable(); }
public void CanSearchForOwnedThreadReferences() { UnderTest.Initialise(null); UnderTest.Criteria = new InventorySearchCriteria { SearchString = string.Empty, ShowAllThreads = false }; UnderTest.SearchCommand.Execute(null); var expectedCount = _threadReferenceRepository.Query(x => x.Owned).Count(); UnderTest.SearchResults.Should() .HaveCount(expectedCount) .And.OnlyContain(x => x.Wrapped.Owned); }
protected virtual void OnAddThread() { if (Model.Threads.Any(o => o.ThreadReference.BrandId == AddThreadModel.BrandId && o.ThreadReference.BrandName == AddThreadModel.BrandName)) { _dialogService.ShowInfo($"Thread {AddThreadModel.BrandName}-{AddThreadModel.BrandId} already added to the entity", "Duplicate Thread Reference"); return; } var threadReference = _threadReferenceRepository .Query(o => o.BrandId == AddThreadModel.BrandId && o.BrandName == AddThreadModel.BrandName) .SingleOrDefault(); if (threadReference == null) { _dialogService.ShowInfo($"Thread {AddThreadModel.BrandName}-{AddThreadModel.BrandId} could not be found in the inventory", "Missing Thread Reference"); return; } AddThreadModel = new AddThreadModel(); Model.Threads.Add(GenerateThread(threadReference)); }