private void Product_DeleteClickedEventHandler(object sender, RoutedEventArgs e)
        {
            RegisteredProduct product = ProductDataGrid.SelectedItem as RegisteredProduct;

            if (product != null)
            {
                MessageBoxResult result = MessageBox.Show($"Are you sure you want to delete the following product: {product.Name}?", "Confirm", MessageBoxButton.YesNo);


                if (result == MessageBoxResult.Yes)
                {
                    RegisteredProducts.Remove(product);
                    Ctx.SaveChanges();
                    MessageBox.Show($"The product {product.Name} is succussfully deleted.", "Deleted");
                }
                else
                {
                    MessageBox.Show($"The product has not been deleted.", "Action Cancelled");
                }
            }
            else
            {
                MessageBox.Show("No product has been selected.");
            }
        }
        private void Product_EditClickedEventHandler(object sender, RoutedEventArgs e)
        {
            RegisteredProduct product         = ProductDataGrid.SelectedItem as RegisteredProduct;
            Product_AddEdit   editProductForm = new Product_AddEdit(Ctx, RegisteredProducts, product);

            editProductForm.Show();
        }
示例#3
0
        public static void Main(string[] args)
        {
            TestDataBase();
            ProductManager productManager = new ProductManager();
            NewProduct     newProduct     = new NewProduct();

            newProduct.Price = 10;
            newProduct.Title = "Caramelo";
            RegisteredProduct registeredProduct = productManager.RegisterNewProduct(newProduct).Result;

            Console.WriteLine(registeredProduct.Id);
            Console.ReadKey();
        }
示例#4
0
        private void btnSave_Click_1(object sender, RoutedEventArgs e)
        {
            Supplier supplier = cbSupplier.SelectedItem as Supplier;

            if (SelectedProduct == null)
            {
                RegisteredProduct newProduct = new RegisteredProduct()
                {
                    Name            = tbName.Text,
                    Description     = tbDescription.Text,
                    BarCode         = tbBarcode.Text,
                    Price           = Convert.ToDouble(tbPrice.Text),
                    Supplier        = supplier,
                    ProductCategory = (ProductCategory)cbProductType.SelectedItem
                };

                Ctx.RegisteredProducts.Add(newProduct);
                Ctx.SaveChanges();
                this.Close();
            }
            else
            {
                SelectedProduct.Name            = tbName.Text;
                SelectedProduct.Description     = tbDescription.Text;
                SelectedProduct.BarCode         = tbBarcode.Text;
                SelectedProduct.Price           = Convert.ToDouble(tbPrice.Text);
                SelectedProduct.Supplier        = supplier;
                SelectedProduct.ProductCategory = (ProductCategory)cbProductType.SelectedItem;


                var productsInStock = Ctx.Products.Where(p => p.BarCode == OriginalBarcode).ToList();

                foreach (var item in productsInStock)
                {
                    item.Name            = tbName.Text;
                    item.Description     = tbDescription.Text;
                    item.BarCode         = tbBarcode.Text;
                    item.Price           = Convert.ToDouble(tbPrice.Text);
                    item.Supplier        = supplier;
                    item.ProductCategory = (ProductCategory)cbProductType.SelectedItem;
                }
                Ctx.SaveChanges();



                CollectionViewSource.GetDefaultView(Products).Refresh();
                Ctx.SaveChanges();
                this.Close();
            }
        }
示例#5
0
        public async Task <RegisteredProduct> RegisterNewProduct(NewProduct newProduct)
        {
            using (Shop shop = new Shop())
            {
                Product product = new Product();
                product.Name  = newProduct.Title;
                product.Price = newProduct.Price;
                shop.Products.Add(product);
                await shop.SaveChangesAsync();

                RegisteredProduct registerProduct = new RegisteredProduct();
                registerProduct.Id    = product.Id;
                registerProduct.Price = product.Price;
                registerProduct.Title = product.Name;
                return(registerProduct);
            }
        }
示例#6
0
        //edit constructor
        public Product_AddEdit(ProjectApplicationContext ctx, ObservableCollection <RegisteredProduct> products, RegisteredProduct selectedProduct)
        {
            Ctx             = ctx;
            Products        = products;
            SelectedProduct = selectedProduct;
            OriginalBarcode = SelectedProduct.BarCode;
            InitializeComponent();
            this.Title = "Edit Product";
            cbProductType.ItemsSource = Enum.GetValues(typeof(ProductCategory));


            var productAndSupplier = Ctx.RegisteredProducts.Include("Supplier").Where(rp => rp.RegisteredProductId == selectedProduct.RegisteredProductId).ToList();

            this.DataContext = productAndSupplier;

            var suppliers = Ctx.Suppliers.ToList();

            cbSupplier.DataContext = suppliers;
            cbSupplier.ItemsSource = suppliers;
            Supplier selectedSupplier = null;

            foreach (var item in suppliers)
            {
                if (item.SupplierId == productAndSupplier[0].Supplier.SupplierId)
                {
                    selectedSupplier = item;
                }
            }
            cbSupplier.SelectedItem = selectedSupplier;


            int numberOfProducts = Ctx.Products.Where(p => p.RegisteredProductId == selectedProduct.RegisteredProductId).ToList().Count();

            tbQuantity.Text = numberOfProducts.ToString();


            tbQuantity.IsEnabled  = false;
            tbProductId.IsEnabled = false;
            cbSupplier.IsEnabled  = false;
        }