コード例 #1
0
        public async Task GetCategoryById()
        {
            using (var db = Helper.GetContext("productCategories"))
            {
                await db.AddRangeAsync(new ProductCategories[] {
                    new ProductCategories {
                        Id = 1, Name = "Category 1"
                    },
                    new ProductCategories {
                        Id = 2, Name = "Category 2"
                    },
                    new ProductCategories {
                        Id = 3, Name = "Category 3"
                    },
                });

                await db.SaveChangesAsync();
            }

            using (var db = Helper.GetContext("productCategories")) {
                var repo = new ProductCategoriesRepository(db);

                var result1 = await repo.GetByIDAsync(1);

                var result2 = await repo.GetByIDAsync(2);

                var result3 = await repo.GetByIDAsync(3);


                Assert.IsTrue(result1.Id == 1, "Returned id should be 1");
                Assert.IsTrue(result2.Id == 2, "Returned id should be 2");
                Assert.IsTrue(result3.Id == 3, "Returned id should be 3");
            }
        }
コード例 #2
0
        // TODO This would better be handled inside the repository.
        protected override async Task <bool> InitializeFilters()
        {
            var succeeded = await ProductCategoriesRepository.Refresh().ConfigureAwait(true);

            succeeded &= await ProductSubcategoriesRepository.Refresh().ConfigureAwait(true);

            if (succeeded)
            {
                foreach (var item in ProductCategoriesRepository.Items)
                {
                    MasterFilterItems.Add(item);
                }

                // Extra event. For some bindings (ItemsSource) those from ObservableCollection are enough, but for others (IsEnabled) this is needed.
                RaisePropertyChanged(nameof(MasterFilterItems));

                foreach (var item in ProductSubcategoriesRepository.Items)
                {
                    detailFilterItemsSource.Add(item);
                }

                const int masterDefaultId = 1;
                MasterFilterValue = MasterFilterItems?.FirstOrDefault(category => category.Id == masterDefaultId);

                // Note that MasterFilterValue also determines DetailFilterItems.
                const int detailDefaultId = 1;
                DetailFilterValue = DetailFilterItems?.FirstOrDefault(subcategory => subcategory.Id == detailDefaultId);

                TextFilterValue = default;
            }

            return(succeeded);
        }
コード例 #3
0
        public ActionResult About()
        {
            ProductCategoriesRepository repository = new ProductCategoriesRepository();



            return(View(repository.GetList()));
        }
コード例 #4
0
        public void GetParentCategories()
        {
            //Arrange
            ResetDataBase();
            ProductCategoriesRepository productCategoriesRepository = DI.Resolve <ProductCategoriesRepository>();

            //Act
            IList <ProductCategory> productCategories = productCategoriesRepository.GetParentCategories(13);

            //Asserts
            Assert.That(productCategories.Count, Is.EqualTo(2));
            Assert.That(productCategories[0].Id, Is.EqualTo(7));
            Assert.That(productCategories[1].Id, Is.EqualTo(12));
        }