Пример #1
0
        public async Task ChangeAvailability_ChangesProductAvailabilityCorectly()
        {
            MapperInitializer.InitializeMapper();
            var context            = ApplicationDbContextInMemoryFactory.InitializeContext();
            var productRepository  = new EfDeletableEntityRepository <Product>(context);
            var productsTestSeeder = new ProductTestSeeder();
            var productsService    = this.GetProductsService(productRepository, context);

            await productsTestSeeder.SeedProducts(context);

            var isNotAvailableModel = new ProductSingleViewModel()
            {
                Id = "2"
            };
            var nonExistantId = new ProductSingleViewModel()
            {
                Id = "asd"
            };

            var shouldBeTrue = await productsService.ChangeAvailability(isNotAvailableModel);

            Assert.True(shouldBeTrue.Available);

            await Assert.ThrowsAsync <ArgumentNullException>(async() =>
            {
                await productsService.ChangeAvailability(nonExistantId);
            });
        }
Пример #2
0
        public void AddProductToCustomer(ProductSingleViewModel model, int customerID)
        {
            CustomerProduct cp = new CustomerProduct();

            cp.CustomerID         = customerID;
            cp.ProductID          = model.ProductID;
            cp.CalculationDetails = false;

            customerProductRepository.Create(cp);
        }
        public List <ProductSingleViewModel> GetProductAvailables(int id)
        {
            ProductSingleViewModel        prodVM = null;
            List <ProductSingleViewModel> result = new List <ProductSingleViewModel>();
            List <Product> prodList = saleModalityProductRepository.FindProductAvailableBySaleModality(id);

            foreach (Product item in prodList)
            {
                prodVM = new ProductSingleViewModel(item);
                result.Add(prodVM);
                prodVM = null;
            }
            prodList = null;
            return(result);
        }
Пример #4
0
        public async Task <ProductSingleViewModel> ChangeAvailability(ProductSingleViewModel productSingleViewModel)
        {
            var product = await this.productRepository.All().SingleOrDefaultAsync(x => x.Id == productSingleViewModel.Id);

            if (product == null)
            {
                throw new ArgumentNullException("Product was null");
            }

            var availabilityState = product.Available == true ? false : true;

            product.Available = availabilityState;

            product.To(productSingleViewModel);

            var result = await this.productRepository.SaveChangesAsync();

            return(productSingleViewModel);
        }
Пример #5
0
        public async Task <ActionResult <ProductSingleViewModel> > ChangeAvailability(ProductSingleViewModel productSingleViewModel)
        {
            var model = await this.productService.ChangeAvailability(productSingleViewModel);

            return(model);
        }