public cStock(StockClass stockClassIn, List <StockType> stockTypes) { stockCounts = new Dictionary <StockType, float>(); foreach (StockType stockType in stockTypes) { stockCounts.Add(stockType, 0); } stockClass = stockClassIn; productionEfficiency = 1.0f; upgradeCostModifier = 1.0f; }
private void BtnAddDeliveredMerchandise_Click(object sender, RoutedEventArgs e) // Adds incoming deliveries to stock { var parent = (sender as Button).Parent; TextBox valueToAdd = parent.GetChildrenOfType <TextBox>().First(x => x.Name == "TxtBoxAddQty"); TextBlock valueToCheck = parent.GetChildrenOfType <TextBlock>().First(x => x.Name == "QTY"); TextBlock itemToAdd = parent.GetChildrenOfType <TextBlock>().First(x => x.Name == "ItemName"); string toConvert = valueToAdd.Text; int intValueToAdd = 0; int intValueToCheck = Convert.ToInt32(valueToCheck.Text); // Add incoming deliveries to stock if (int.TryParse(toConvert, out intValueToAdd)) { if (intValueToAdd > intValueToCheck) { MessageToUser($"Enter the correct number of stock to submit, maximum number to submit is: {intValueToCheck} "); valueToAdd.Text = ""; } else { StockClass merch = null; foreach (var item in _app.GetDefaultStockList()) { if (item.ItemName == itemToAdd.Text) { merch = item; } } store.AddToStock(merch, intValueToAdd); MessageToUser($"You have added: {valueToAdd.Text} {itemToAdd.Text} to your stock"); valueToAdd.Text = ""; } } else { MessageToUser("You must enter an integer"); } }
private void BtnAddDeliveredMerchandise_Click(object sender, RoutedEventArgs e) { var parent = (sender as Button).Parent; TextBox valueToAdd = parent.GetChildrenOfType <TextBox>().First(x => x.Name == "TxtBoxAddQty"); TextBlock valueToCheck = parent.GetChildrenOfType <TextBlock>().First(x => x.Name == "QTY"); TextBlock itemToAdd = parent.GetChildrenOfType <TextBlock>().First(x => x.Name == "ItemName"); int intValueToAdd = Convert.ToInt32(valueToAdd.Text); int intValueToCheck = Convert.ToInt32(valueToCheck.Text); if (intValueToAdd > intValueToCheck) { MessageToUser($"Ange rätt antal att in leverera, max antal att in leverera: {intValueToCheck} "); valueToAdd.Text = ""; } else { StockClass merch = new StockClass(); foreach (var item in StockList) { if (item.ItemName == itemToAdd.Text) { merch = item; } } StoreClass.AddToStock(merch, intValueToAdd); MessageToUser($"You have added: {valueToAdd.Text} {itemToAdd.Text} to your stock"); valueToAdd.Text = ""; } Debug.WriteLine(valueToAdd.Text); Debug.WriteLine(valueToCheck.Text); }
//private void PopulateCustomerComboBox(StoreClass store) //{ // List<string> customers = new List<string>(); // foreach (var item in store.Customer) // { // customers.Add(item.Name); // } // //DataContext = customers; // this.CustomersTabComboBox.ItemsSource = customers; // this.CreateOrderTabCustomersComboBox.ItemsSource = customers; //} //private void PopulateCreateOrderComboBox(StoreClass store) //{ // List<string> merchandise = new List<string>(); // foreach (var item in store.Stock) // { // merchandise.Add(item.ItemName); // } // this.CreateOrderTabItemComboBox.ItemsSource = merchandise; //} #endregion #region Events private void AddOrderContent_Click(object sender, RoutedEventArgs e) { var parent = (sender as Button).Parent; CustomerClass customerOrderer = null; StockClass stockOrder = null; List <StockClass> stockClass = new List <StockClass>(); ComboBox customerCombo = parent.GetChildrenOfType <ComboBox>().First(x => x.Name == "CreateOrderTabCustomersComboBox"); // Måste fixas, hittar inte comboboxen. ComboBox merchCombo = parent.GetChildrenOfType <ComboBox>().First(x => x.Name == "CreateOrderTabItemComboBox"); foreach (var customer in CustomerList) { if (customerCombo.Text == customer.CustomerName) { customerOrderer = customer; } } foreach (var merch in StockList) { if (merchCombo.Text == merch.ItemName) { stockOrder = merch; stockClass.Add(stockOrder); } } foreach (var order in CustomerOrders) { if (order.Customer == customerOrderer) { order.Merchandise.Add(stockOrder); } else { CustomerOrders.Add(new CustomerOrderClass(customerOrderer, stockClass)); } } }
private void AddOrderContent_Click(object sender, RoutedEventArgs e) // Adds a new order { var parent = (sender as Button).Parent; CustomerClass customerOrderer = null; StockClass stockOrder = null; DateTime orderDate = DateTime.UtcNow; string orderQuantity = OrderQuantity.Text; int.TryParse(orderQuantity, out int amount); customerOrderer = (CustomerClass)CreateOrderTabCustomersComboBox.SelectedValue; stockOrder = (StockClass)CreateOrderTabItemComboBox.SelectedValue; if (customerOrderer == null || stockOrder == null) { MessageToUser("You must choose a customer and an item"); } else if (orderQuantity == "" || orderQuantity == "" || amount == 0) { MessageToUser("You must enter an integer"); } else { if (orderQuantity != "" && stockOrder.Qty - amount >= 0) { // if no orders are present, simply add an order to the collection. if (_app.GetDefaultCustomerOrdersList().Count == 0) { store.RemoveFromStock(stockOrder, amount); StockClass order = new StockClass(stockOrder.ItemName, stockOrder.Supplier, amount); store.CreateOrder(customerOrderer, order); MessageToUser($"You have successfully created a new Customer order \n\nCustomer: {customerOrderer.CustomerName} \nItem: {order.ItemName} " + $"\nAmount: {order.Qty} \nOrderdate: {orderDate.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss")}"); CreateOrderTabCustomersComboBox.SelectedIndex = -1; CreateOrderTabItemComboBox.SelectedIndex = -1; OrderQuantity.Text = ""; } // Otherwise create a new order object, prepared for future functionality else { store.RemoveFromStock(stockOrder, amount); StockClass order = new StockClass(stockOrder.ItemName, stockOrder.Supplier, amount); store.CreateOrder(customerOrderer, order); MessageToUser($"You have successfully created a new Customer order \n\nCustomer: {customerOrderer.CustomerName} \nItem: {order.ItemName} " + $"\nAmount: {order.Qty} \nOrderdate: {orderDate.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss")}"); CreateOrderTabCustomersComboBox.SelectedIndex = -1; CreateOrderTabItemComboBox.SelectedIndex = -1; OrderQuantity.Text = ""; } } else // If stock is missing item or low on stock order gets Queued { int currQ = _app.QueuedOrders.Count + 1; store.CreateOrder(customerOrderer, stockOrder, amount, currQ); MessageToUser($"You have successfully created a new Customer order \n\nCustomer: {customerOrderer.CustomerName} \nItem: {stockOrder.ItemName} " + $"\nAmount: {amount} \nOrderdate: {orderDate.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss")} \nYour order is placed at number {currQ} in the queue."); CreateOrderTabCustomersComboBox.SelectedIndex = -1; CreateOrderTabItemComboBox.SelectedIndex = -1; OrderQuantity.Text = ""; } } }
private void AddOrderContent_Click(object sender, RoutedEventArgs e) { var parent = (sender as Button).Parent; CustomerClass customerOrderer = null; StockClass stockOrder = null; List <StockClass> stockClass = new List <StockClass>(); DateTime orderDate = DateTime.UtcNow; string orderQuantity = OrderQuantity.Text; int.TryParse(orderQuantity, out int amount); customerOrderer = (CustomerClass)CreateOrderTabCustomersComboBox.SelectedValue; stockOrder = (StockClass)CreateOrderTabItemComboBox.SelectedValue; // If customer or merchandise are null if (customerOrderer == null || stockOrder == null) { MessageToUser("You must choose a customer and an item"); } // if orderQuantity is empty else if (orderQuantity == "" || orderQuantity == " " || amount == 0) { MessageToUser("You must enter an integer"); } else { // If orderQuantity is parseable, and orderQuantity isn't empty and stock - amount is larger or equal to zero if (orderQuantity != "" && stockOrder.Qty - amount >= 0) { // if no orders are present, simply add an order to the collection. if (CustomerOrders.Count == 0) { stockOrder.Qty -= amount; StockClass order = new StockClass(stockOrder.ItemName, stockOrder.Supplier, amount); stockClass.Add(order); CustomerOrders.Add(new CustomerOrderClass(customerOrderer, stockClass, orderDate)); MessageToUser($"You have successfully created a new Customer order \n\nCustomer:{customerOrderer.CustomerName} \nItem: {order.ItemName} \nAmount: {order.Qty} \nOrderdate: {orderDate.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss")}"); CreateOrderTabCustomersComboBox.SelectedIndex = -1; CreateOrderTabItemComboBox.SelectedIndex = -1; OrderQuantity.Text = ""; } // Otherwise create a new order object, prepared for future functionality else { stockOrder.Qty -= amount; StockClass orderToAdd = new StockClass(stockOrder.ItemName, stockOrder.Supplier, amount); stockClass.Add(orderToAdd); CustomerOrders.Add(new CustomerOrderClass(customerOrderer, stockClass, orderDate)); MessageToUser($"You have successfully created a new Customer order \n\nCustomer:{customerOrderer.CustomerName} \nItem: {orderToAdd.ItemName} \nAmount: {orderToAdd.Qty} \nOrderdate: {orderDate.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss")}"); CreateOrderTabCustomersComboBox.SelectedIndex = -1; CreateOrderTabItemComboBox.SelectedIndex = -1; OrderQuantity.Text = ""; } } else { MessageToUser("Not enough items in stock, order more from supplier, or change amount to add"); OrderQuantity.Text = ""; } } }