private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            SelectedProduct = cbProducts.SelectedItem as RegisteredProduct;
            if (SelectedProduct != null)
            {
                int quantity = Convert.ToInt32(UpDownQuantity.Value);
                if (ProductsOrdered.Count == 0 || SelectedProduct.Supplier.SupplierId == ProductsOrdered[0].Supplier.SupplierId)
                {
                    for (int i = 0; i < quantity; i++)
                    {
                        ProductsOrdered.Add(new Product()
                        {
                            RegisteredProduct = SelectedProduct,
                            BarCode           = SelectedProduct.BarCode,
                            Name            = SelectedProduct.Name,
                            Description     = SelectedProduct.Description,
                            Price           = SelectedProduct.Price,
                            Supplier        = SelectedSupplier,
                            Sold            = false,
                            ProductCategory = SelectedProduct.ProductCategory
                        });
                    }

                    tbPrice.Text = Convert.ToString(CalculateTotal());
                }
                else
                {
                    MessageBox.Show("Purchase orders for each supplier must be made seperately. You can only add products from one supplier.");
                }
            }
            else
            {
                MessageBox.Show("You must select a product");
            }
        }
        public IActionResult IndexPost()
        {
            List <int> lstCartItems = HttpContext.Session.Get <List <int> >("ssShoppingCart");  //gives a list of cart items

            Orders orders = ShoppingCartVM.Orders;

            _db.Orders.Add(orders);
            _db.SaveChanges();         //taking the orders and saving it in the db

            int orderId = orders.Id;

            foreach (int productId in lstCartItems)
            {
                ProductsOrdered productsOrdered = new ProductsOrdered()
                {
                    OrderId   = orderId,
                    ProductId = productId
                };
                _db.ProductsOrdered.Add(productsOrdered);
            }
            _db.SaveChanges();
            lstCartItems = new List <int>();
            HttpContext.Session.Set("ssShoppingCart", lstCartItems);

            return(RedirectToAction("OrderConfirmation", "ShoppingCart", new { Id = orderId }));
        }
Beispiel #3
0
        private void btnRemove_Click(object sender, RoutedEventArgs e)
        {
            ProductsOrdered prodMod = dgvProducts.SelectedItem as ProductsOrdered;

            if (prodMod != null)
            {
                lstProductForDrugstores.Remove(prodMod);
                dgvProducts.ItemsSource = lstProductForDrugstores;
                dgvProducts.Items.Refresh();
            }
        }
Beispiel #4
0
        private void btnDeleteProduct_Click(object sender, RoutedEventArgs e)
        {
            lvOrderedProducts.SelectedItem = ((Button)sender).DataContext;


            Product selectedProduct = lvOrderedProducts.SelectedItem as Product;

            ProductsOrdered.RemoveAt(lvOrderedProducts.SelectedIndex);
            selectedProduct.Sold = false;
            tbPrice.Text         = Convert.ToString(CalculateTotal());
            lblLeft.Content      = ReturnQuantityInStock(selectedProduct).ToString() + " left in stock";
            Ctx.SaveChanges();
        }
Beispiel #5
0
        public void AddProduct(IProduct productOrdered, int qtyOrdered)
        {
            IOrderItem currentProductOrdered;

            if (_tryGetProductOrdered(productOrdered.Id, out currentProductOrdered))
            {
                currentProductOrdered.AddQuantity(qtyOrdered);
                TotalQuantityOrdered += qtyOrdered;
                return;
            }

            var newOrderItem = new OrderItem(productOrdered, qtyOrdered);

            ProductsOrdered.Add(newOrderItem);
            TotalQuantityOrdered += qtyOrdered;
        }
Beispiel #6
0
        public void RemoveProduct(IProduct productOrdered, int qtyOrdered)
        {
            IOrderItem currentProductOrdered;

            if (!_tryGetProductOrdered(productOrdered.Id, out currentProductOrdered))
            {
                return;
            }
            currentProductOrdered.RemoveQuantity(qtyOrdered);

            if (TotalQuantityOrdered > 0)
            {
                TotalQuantityOrdered -= qtyOrdered;
            }
            if (currentProductOrdered.QtyOrdered == 0)
            {
                ProductsOrdered.Remove(currentProductOrdered);
            }
        }
        //====================================================================================================================
        private void DataGridProductsButtonclick(object obj)
        {
            //Console.WriteLine("datagrid doubleclick => " + SelectedProductFromAssortiment.ProductTitle);

            int maxCountToOrder = SelectedProductFromAssortiment.CountInStock -
                                  ProductsOrdered
                                  .Where(x => x.EAN == SelectedProductFromAssortiment.EAN)
                                  .Select(x => x.Count)
                                  .Sum();

            if (maxCountToOrder < 1)
            {
                MessageBox.Show("Je kan dit produkt niet verkopen, de stock is leeg");
                return;
            }


            FrmSetNumberOfProductsByOrdersOut frm = new FrmSetNumberOfProductsByOrdersOut(
                _transactionControl, SelectedProductFromAssortiment, maxCountToOrder);



            if (frm.ShowDialog() == true)
            {
                float prijsZonderBtw = frm.SelectedCount * SelectedProductFromAssortiment.SellingPriceRecommended;
                float btwToeslag     = prijsZonderBtw / 100 * SelectedProductFromAssortiment.BTWpercentage;
                ProductsOrdered.Add(new InternalOrderlineHelper()
                {
                    Count                      = frm.SelectedCount,
                    EAN                        = SelectedProductFromAssortiment.EAN,
                    _BTWaddition               = btwToeslag,
                    UnitPrice                  = SelectedProductFromAssortiment.SellingPriceRecommended,
                    _BtwPercentage             = SelectedProductFromAssortiment.BTWpercentage,
                    _calculatedPriceWithoutBTW = prijsZonderBtw,
                    _calculatedPriceWithBtw    = prijsZonderBtw + btwToeslag,
                    _ProduktTitle              = SelectedProductFromAssortiment.ProductTitle,
                });
                //Console.WriteLine("update" + ProductsOrdered.Count);
                CalculateTotals();
            }
            ;
        }
Beispiel #8
0
        // adds selected products to observable collection which is shown in list view (order overview)
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            SelectedProduct = cbProducts.SelectedItem as Product;
            if (SelectedProduct != null)
            {
                int numberLeftinStock = ReturnQuantityInStock(SelectedProduct);

                int quantity = Convert.ToInt32(UpDownQuantity.Value);

                //mark products as sold in databse and add to order overview
                if (quantity <= numberLeftinStock)
                {
                    var orderedProducts = Ctx.Products.Where(p => p.BarCode == SelectedProduct.BarCode && p.Sold == false).Take(quantity).ToList();
                    foreach (var product in orderedProducts)
                    {
                        product.Sold = true;
                        Ctx.SaveChanges();
                    }

                    foreach (var product in orderedProducts)
                    {
                        ProductsOrdered.Add(product);
                    }

                    //update quantity left
                    lblLeft.Content = ReturnQuantityInStock(SelectedProduct).ToString() + " left in stock";
                }
                else
                {
                    MessageBox.Show("Products cannot be added. Not enough of this item in stock.");
                }


                tbPrice.Text = Convert.ToString(CalculateTotal());
            }
            else
            {
                MessageBox.Show("No product is selected. Select a product.");
            }
        }
        private void ClearOrder(object obj)
        {
            if (_isSavedToDB)
            {
                RefreshData();
            }


            else if (ProductsOrdered.Count > 0)
            {
                if (MessageBoxResult.No ==
                    MessageBox.Show("U hebt de gegevens nog niet geregistreerd, wil u toch opnieuw beginnen?", "opnieuw",
                                    MessageBoxButton.YesNo, MessageBoxImage.Question))
                {
                    return;
                }
            }
            SelectedClient = null;
            ProductsOrdered.Clear();
            CalculateTotals();
            _isSavedToDB = false;
        }
Beispiel #10
0
        private async void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            Products prodAdd = cmbProducts.SelectedItem as Products;
            bool     x       = await checkFields();

            if (x)
            {
                productsOrdered.ProductName = prodAdd.ProductName;
                productsOrdered.Qty         = Convert.ToInt32(txtQuantity.Text);
                productsOrdered.Price       = Convert.ToDouble(txtTotal.Text);
                productsOrdered.Total       = Convert.ToDouble(txtTotal.Text);
                productsOrdered.Id          = prodAdd.Id;
                lstProductForDrugstores.Add(productsOrdered);
                dgvProducts.ItemsSource = lstProductForDrugstores;
                dgvProducts.Items.Refresh();
                productsOrdered = new ProductsOrdered();
                clearFields();
            }

            //ProductModel proAdd = cmbProducts.SelectedItem as ProductModel;
            //ProductModel pp = new ProductModel();
            //bool x = await checkFields();
            //if (x)
            //{

            //    pp.ID = proAdd.ProductID;
            //    pp.Quantity = txtQuantity.Text;
            //    pp.ProductName = proAdd.ProductName;
            //    pp.TotalAmount = (Convert.ToDouble(pp.Quantity) * Convert.ToDouble(txtPrice.Text)).ToString();
            //    pp.newlyAdded = true;
            //    lstProdsMods.Add(pp);
            //    pp = new ProductModel();
            //}
            //dgvProducts.Items.Refresh();
            //dgvProducts.ItemsSource = lstProdsMods;
        }
Beispiel #11
0
 private bool _tryGetProductOrdered(int productId, out IOrderItem orderItem)
 {
     orderItem = ProductsOrdered.FirstOrDefault(pd => pd.ProductOrdered.Id == productId);
     return(orderItem != null);
 }
 private void DataGridOrdersButtonclick(object obj)
 {
     ProductsOrdered.Remove(SelectedProductOrdered);
     CalculateTotals();
 }