Пример #1
0
        public async Task AddProductVariant_Should_Add_Variant_Correctly()
        {
            var product = _database.Products.FirstOrDefault(p => p.Name == "First Product" && p.Url == "first-product");

            var eventBus = new Mock <IEventBus>().Object;
            var commands = new ProductCommands(_repository, eventBus);

            Guid     productId = product.Id;
            string   name      = "first product variant";
            string   ean       = "Ean001";
            string   sku       = "Sku001";
            Currency price     = new Currency {
                Code = "EUR", Amount = 100
            };

            await commands.AddProductVariant(productId, name, ean, sku, price);

            var variantAdded = _database.Products.VariantsOf(productId).FirstOrDefault(v => v.EanCode == ean && v.Sku == sku);

            Assert.NotNull(variantAdded);
            Assert.Equal(name, variantAdded.Name);
            Assert.Equal(ean, variantAdded.EanCode);
            Assert.Equal(sku, variantAdded.Sku);
            Assert.Equal(price, variantAdded.Price);
        }
        public MainViewModel()
        {
            try
            {
                productCommands = new ProductCommands(_connectionString);
                Products.AddRange(productCommands.GetList());

                ProdCategoryCommands prodCategoryCommands = new ProdCategoryCommands(_connectionString);
                ProdCategories.AddRange(prodCategoryCommands.GetList());

                LocationCommands locationCommands = new LocationCommands(_connectionString);
                Locations.AddRange(locationCommands.GetList());

                LocCategoryCommands locCategoryCommands = new LocCategoryCommands(_connectionString);
                LocationCategories.AddRange(locCategoryCommands.GetList());

                UnitCommands unitCommands = new UnitCommands(_connectionString);
                Units.AddRange(unitCommands.GetList());

                UpdateAppStatus($"Database tables fetched.", Brushes.DarkGreen);
            }
            catch (Exception ex) { UpdateAppStatus($"Error on retrieving tables from SQL database:\n{ex.Message}", Brushes.Red); }

            GenerateTableProductsToDisplay();
            InitializeAllPropertyFields();
            Scheduler();
        }
 public ProductViewModel()
 {
     productOperationObj = new ProductOperations();
     LoadData();
     CurrentProduct              = new Product();
     saveProductCommand          = new ProductCommands(Save);
     searchProductCommand        = new ProductCommands(Search);
     updateProductCommand        = new ProductCommands(Update);
     deleteProductCommand        = new ProductCommands(Delete);
     updateTempProductCommand    = new ProductCommands(UpdateTemp);
     openFileImageProductCommand = new ProductCommands(OpenFileDialog);
 }
Пример #4
0
        public async Task Edit_Product_Information_Should_Change_Product_Values()
        {
            var product = _database.Products.FirstOrDefault(p => p.Name == "First Product" && p.Url == "first-product");

            Guid     productId = product.Id;
            string   ean       = "newEAN";
            string   sku       = "newSKU";
            string   name      = "First Product";
            string   url       = "first-product";
            Currency price     = new Currency {
                Code = "EUR", Amount = 10
            };
            string   description = "description";
            int      unitInStock = 2;
            bool     isOnSale    = true;
            DateTime?onSaleFrom  = DateTime.Today;
            DateTime?onSaleTo    = DateTime.Today.AddMonths(6);

            var eventBus = new Mock <IEventBus>().Object;
            var commands = new ProductCommands(_repository, eventBus);

            await commands.UpdateProductInfo(productId, ean, sku, name, url, price, description, unitInStock, isOnSale, onSaleFrom, onSaleTo);

            var updatedProduct = _database.Products.FirstOrDefault(p => p.Id == productId);

            Assert.Equal(ean, updatedProduct.EanCode);
            Assert.Equal(sku, updatedProduct.Sku);
            Assert.Equal(name, updatedProduct.Name);
            Assert.Equal(url, updatedProduct.Url);
            Assert.Equal(price, updatedProduct.Price);
            Assert.Equal(description, updatedProduct.Description);
            Assert.Equal(unitInStock, updatedProduct.UnitInStock);
            Assert.Equal(isOnSale, updatedProduct.IsOnSale);
            Assert.Equal(onSaleFrom, updatedProduct.OnSaleFrom);
            Assert.Equal(onSaleTo, updatedProduct.OnSaleTo);
        }
Пример #5
0
        public async Task <IActionResult> Post([FromBody] string title)
        {
            var product = ProductCommands.createProduct(Guid.NewGuid(), title);

            return(Ok(product));
        }