コード例 #1
0
        public void ProductWithNoStockHasShipDate()
        {
            var product  = "NoStock";
            var order_no = "order";
            var date     = DateTime.Today;

            using (var data = new StockTablesData(new List <Mpcportalprodlist> {
                new Mpcportalprodlist("WH", product, key_core_slow: "K", free_stock: 0)
            },
                                                  null,
                                                  new List <poheadm> {
                new poheadm(status: "O", order_no: order_no)
            },
                                                  new List <podetm>
            {
                new podetm(order_no, qty_ordered: 2, warehouse: "LV", product: product, date_required: date.AddDays(2), status: ""),
                new podetm(order_no, qty_ordered: 4, warehouse: "00", product: product, date_required: date.AddDays(4), status: "")
            }))
            {
                using (var dal = GetDal())
                {
                    var stockData = dal.GetFreeStock(product);
                    Assert.IsNotNull(stockData);
                    Assert.IsNotNull(stockData.ship_date);
                    Assert.AreEqual(date.AddDays(2), stockData.ship_date);
                }
            }
        }
コード例 #2
0
 public void ProductWithFreeStock10()
 {
     using (var data = new StockTablesData(new Mpcportalprodlist("WH", "Stock10", free_stock: 10)))
     {
         using (var dal = GetDal())
         {
             var stockData = dal.GetFreeStock("Stock10");
             Assert.IsNotNull(stockData);
             Assert.AreEqual(10, stockData.quantity);
             Assert.AreEqual(false, stockData.madeToOrder);
         }
     }
 }
コード例 #3
0
        public void ProductWithKeyCoreSlowMTO()
        {
            var product = "KeyMTO";

            using (var data = new StockTablesData(new Mpcportalprodlist("WH", product, key_core_slow: "MTO", free_stock: 10)))
            {
                using (var dal = GetDal())
                {
                    var stockData = dal.GetFreeStock(product);
                    Assert.IsNotNull(stockData);
                    Assert.AreEqual(true, stockData.madeToOrder);
                }
            }
        }
コード例 #4
0
        public void ProductWithNoStockNoOrder()
        {
            var product = "NoStock";

            using (var data = new StockTablesData(new List <Mpcportalprodlist> {
                new Mpcportalprodlist("WH", product, key_core_slow: "K", free_stock: 0)
            }))
            {
                using (var dal = GetDal())
                {
                    var stockData = dal.GetFreeStock(product);
                    Assert.IsNotNull(stockData);
                    Assert.IsNull(stockData.ship_date);
                }
            }
        }
コード例 #5
0
        public void ProductWithMTOInPinnStock()
        {
            var product = "MTOPinnStock";

            using (var data = new StockTablesData(new List <Mpcportalprodlist> {
                new Mpcportalprodlist("WH", product, key_core_slow: "K", free_stock: 10)
            },
                                                  new List <PINNstock3> {
                new PINNstock3(warehouse: "LV", product: product, key_core_slow: "MTO"), new PINNstock3(warehouse: "service", product: product, key_core_slow: "K")
            }))
            {
                using (var dal = GetDal())
                {
                    var stockData = dal.GetFreeStock(product);
                    Assert.IsNotNull(stockData);
                    Assert.AreEqual(true, stockData.madeToOrder);
                }
            }
        }
コード例 #6
0
        public void ProductDiscontinuedBeforeThisYear()
        {
            var product = "DiscBefore";

            using (var data = new StockTablesData(new List <Mpcportalprodlist> {
                new Mpcportalprodlist("WH", product, key_core_slow: "K", free_stock: 10)
            },
                                                  new List <PINNstock3> {
                new PINNstock3(warehouse: "LV", product: product, key_core_slow: "XX")
            }))
            {
                using (var dal = GetDal())
                {
                    var stockData = dal.GetFreeStock(product);
                    Assert.IsNotNull(stockData);
                    Assert.AreEqual(true, stockData.discontinued);
                    Assert.AreEqual(false, stockData.expiresThisYear);
                }
            }
        }
コード例 #7
0
        public void ProductDiscontinuedThisYear()
        {
            var product      = "DiscThisYear";
            var thisYearCode = "X" + DateTime.Now.ToString("yy");

            using (var data = new StockTablesData(new List <Mpcportalprodlist> {
                new Mpcportalprodlist("WH", product, key_core_slow: "K", free_stock: 10)
            },
                                                  new List <PINNstock3> {
                new PINNstock3(warehouse: "LV", product: product, key_core_slow: "XX"), new PINNstock3(warehouse: "service", product: product, key_core_slow: thisYearCode)
            }))
            {
                using (var dal = GetDal())
                {
                    var stockData = dal.GetFreeStock(product);
                    Assert.IsNotNull(stockData);
                    Assert.AreEqual(false, stockData.discontinued);
                    Assert.AreEqual(true, stockData.expiresThisYear);
                }
            }
        }
コード例 #8
0
        public void ProductWithNoStockOrderNoStartsWithS()
        {
            var product  = "NoStock";
            var order_no = "Sorder";

            using (var data = new StockTablesData(new List <Mpcportalprodlist> {
                new Mpcportalprodlist("WH", product, key_core_slow: "K", free_stock: 0)
            },
                                                  null,
                                                  new List <poheadm> {
                new poheadm(status: "O", order_no: order_no)
            },
                                                  new List <podetm> {
                new podetm(order_no, warehouse: "LV", product: product, ship_date: DateTime.Now)
            }))
            {
                using (var dal = GetDal())
                {
                    var stockData = dal.GetFreeStock(product);
                    Assert.IsNotNull(stockData);
                    Assert.IsNull(stockData.ship_date);
                }
            }
        }