Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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");
            }
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        //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));
                }
            }
        }
Ejemplo n.º 5
0
        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 = "";
                }
            }
        }
Ejemplo n.º 6
0
        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 = "";
                }
            }
        }