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();
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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));
        }