示例#1
0
        /// <summary>
        /// Method to send a queued order
        /// </summary>
        /// <param name="queuedOrder">Object of a queued order</param>
        public async Task SendOrder(QueuedOrder queuedOrder)
        {
            var product = FindProduct(queuedOrder.Merchandise.ItemName);

            if (product.Qty - queuedOrder.Merchandise.Qty >= 0)
            {
                RemoveFromStock(product, queuedOrder.Merchandise.Qty);
                // Remove from collection, the collection starts at 0
                // but IDs at 1 so ID - 1 gets you the correct number
                _app.QueuedOrders.RemoveAt(queuedOrder.QueueID - 1);
                // Update the remaining objects with a new qID
                foreach (var item in _app.QueuedOrders)
                {
                    if (item.QueueID > 1)
                    {
                        item.QueueID -= 1;
                    }
                    else
                    {
                        continue;
                    }
                }
                _app.GetDefaultCustomerOrdersList().Add(queuedOrder.ConvertFromQueued());
                await MessageToUser("Order sent!");
            }
            else
            {
                await MessageToUser("Not enough in stock to send order!");
            }
        }
示例#2
0
        /// <summary>
        /// Overload to create a queued order.
        /// </summary>
        /// <param name="customer">A customer object, preferably of the customer who placed the order.</param>
        /// <param name="merch">The merchandise to be shipped</param>
        /// <param name="queueID">What place in line to place the order, generate from querying the ObsColl</param>
        public void CreateOrder(CustomerClass customer, StockClass merch, int amount, int queueID)
        {
            // Define CultureInfo
            CultureInfo cultureInfo     = new CultureInfo("sv-SV");
            DateTime    dateTimeOfOrder = DateTime.UtcNow;

            QueuedOrder order = new QueuedOrder(customer, new StockClass(merch.ItemName, merch.Supplier, amount), dateTimeOfOrder, queueID);

            _app.QueuedOrders.Add(order);
        }
示例#3
0
        /// <summary>
        /// Locate a queued order
        /// </summary>
        /// <param name="name">Name of customer</param>
        /// <returns></returns>
        public QueuedOrder FindQueued(string name)
        {
            QueuedOrder queuedOrder = null;

            foreach (var item in _app.QueuedOrders)
            {
                if (item.Customer.CustomerName == name)
                {
                    queuedOrder = item;
                }
            }
            return(queuedOrder);
        }