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 })); }
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(); } }
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(); }
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; }
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(); } ; }
// 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; }
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; }
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(); }