static public void ReCalcForecastItems()
        {
            forecastItems.Clear();

            foreach (ProductMasterItem productMasterItem in _productMasterList)
            {
                ForecastItem newForecastItem = new ForecastItem();
                newForecastItem.ProductCode        = productMasterItem.ProductionCode;
                newForecastItem.ProductDescription = productMasterItem.Description;

                double inventory =
                    InventoryItems.Where(x => x.ProductCode == productMasterItem.ProductionCode).Sum(x => x.Units);

                for (Int32 i = 0; i < newForecastItem.UnitsPerMonth.Length; i++)
                {
                    SalesItem[] foundItems = SalesItems.Where(x => x.MasterID == productMasterItem.MasterID &&
                                                              x.Date.Month == DateTime.Now.AddMonths(-(i + 1)).Month&& x.Date.AddYears(1).AddMonths(1) >= DateTime.Now).ToArray();

                    newForecastItem.UnitsPerMonth[i] = foundItems.Sum(x => (x.Units / productMasterItem.PiecesPerUnit));
                }

                newForecastItem.Units = inventory;

                forecastItems.Add(newForecastItem);
            }
        }
Esempio n. 2
0
        public void TestMethod1()
        {
            // Create Object for test this application
            Program p = new Program();

            //SalesReceipt
            SalesItems[] item = new SalesItems[2];

            // Create SalesItems Object
            for (int i = 0; i < 2; i++)
            {
                item[i] = new SalesItems();
            }

            // Initilize 1st
            item[0].Name       = "imported box of chocolates";
            item[0].Price      = 10.00;
            item[0].ImportFlag = true;
            item[0].NoOfItems  = 1;
            item[0].ExemptFlag = true;

            // Initilize 2nd
            item[1].Name       = "imported bottle of perfume";
            item[1].Price      = 47.50;
            item[1].ImportFlag = true;
            item[1].NoOfItems  = 1;
            item[1].ExemptFlag = false;

            // invoke the test case
            p.test(item);
        }
Esempio n. 3
0
        public void TestMethod3()
        {
            Program p = new Program();

            //SalesReceipt
            SalesItems[] item = new SalesItems[4];

            //SalesItems item = new SalesItems();
            try
            {
                // Create SalesItems Object
                for (int i = 0; i < 4; i++)
                {
                    item[i] = new SalesItems();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }



            // Initilize 1st
            item[0].Name       = "imported bottle of perfume";
            item[0].Price      = 27.99;
            item[0].ImportFlag = true;
            item[0].NoOfItems  = 1;
            item[0].ExemptFlag = false;



            // Initilize 2nd
            item[1].Name       = "bottle of perfume";
            item[1].Price      = 18.99;
            item[1].ImportFlag = false;
            item[1].NoOfItems  = 1;
            item[1].ExemptFlag = false;

            // Initialize 3rd
            item[2].Name       = "packet of headache pills";
            item[2].Price      = 9.75;
            item[2].ImportFlag = false;
            item[2].NoOfItems  = 1;
            item[2].ExemptFlag = true;


            // Initialize 3rd
            item[3].Name       = "box of imported chocolates";
            item[3].Price      = 11.25;
            item[3].ImportFlag = true;
            item[3].NoOfItems  = 1;
            item[3].ExemptFlag = true;


            p.test(item);
        }
Esempio n. 4
0
        public NavProduct getNavProduct(string ProductCode)
        {
            SalesItems_Service ProductsSVC = new SalesItems_Service();

            ProductsSVC.UseDefaultCredentials = true;

            NavProduct salesItem = new NavProduct();
            SalesItems NavItem   = ProductsSVC.Read(ProductCode);

            NavProduct currProduct = ConvertItemToProduct(NavItem);

            return(currProduct);
        }
        /// <summary>
        /// Gets the sale with the soonest due date.
        /// </summary>
        /// <param name="nextItem"></param>
        /// <returns></returns>
        public static SalesItem GetPrioritySale(ProductMasterItem nextItem)
        {
            SalesItem sale = null;

            DateTime minDate = DateTime.MaxValue;

            foreach (var item in SalesItems.Where(s => s.Fulfilled < s.Units))
            {
                if (item.Date < minDate)
                {
                    minDate = item.Date;
                    sale    = item;
                }
            }

            return(sale);
        }
Esempio n. 6
0
        public NavProduct ConvertItemToProduct(SalesItems NavItemRec)
        {
            //transpose Nav Product to Router Product Rec
            NavProduct newItemRec = new NavProduct();

            newItemRec.ProdGroup     = NavItemRec.Item_Category_Code; //create the lookups for this
            newItemRec.ProductID     = NavItemRec.No;
            newItemRec.Name          = NavItemRec.Description;
            newItemRec.UOM           = NavItemRec.Base_Unit_of_Measure; //create the lookups for this
            newItemRec.Pack          = NavItemRec.Pack;
            newItemRec.Family        = NavItemRec.Family;
            newItemRec.UnitPrice     = NavItemRec.Unit_Price;              //change this to look at an actual price ist
            newItemRec.InventGroup   = NavItemRec.Inventory_Posting_Group; //create the lookups for this
            newItemRec.Location      = newItemRec.getItemLocation(NavItemRec.No);
            newItemRec.ItemTrackngID = "LOT AAA";                          //major code for this operation

            return(newItemRec);
        }
Esempio n. 7
0
        public void TestMethod2()
        {
            Program p = new Program();

            //SalesReceipt
            SalesItems[] item = new SalesItems[3];

            //SalesItems item = new SalesItems();
            try
            {
                // Create SalesItems Object
                for (int i = 0; i < 3; i++)
                {
                    item[i] = new SalesItems();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            // Initilize 1st
            item[0].Name       = "book";
            item[0].Price      = 12.49;
            item[0].ImportFlag = false;
            item[0].NoOfItems  = 1;
            item[0].ExemptFlag = true;

            // Initilize 2nd
            item[1].Name       = "music CD";
            item[1].Price      = 14.99;
            item[1].ImportFlag = false;
            item[1].NoOfItems  = 1;
            item[1].ExemptFlag = false;

            // Initialize 3rd
            item[2].Name       = "chocolate bar";
            item[2].Price      = 0.85;
            item[2].ImportFlag = false;
            item[2].NoOfItems  = 1;
            item[2].ExemptFlag = true;

            p.test(item);
        }
Esempio n. 8
0
        public void TestMethod1()
        {
            //Arrange
            //inputs
            string[]     codes                    = new string[] { "sh3", "tr", "yt2" };
            int[]        orderQuantity            = new int[] { 12, 23, 15 };
            ProcessOrder p                        = new ProcessOrder();
            List <List <SalesItems> > itemsInCart = new List <List <SalesItems> >();
            //Outputs
            SalesItems sh  = new SalesItems("sh", 2, 5, 8.98);
            SalesItems tr  = new SalesItems("tr", 2, 9, 15.98);
            SalesItems tr2 = new SalesItems("tr", 1, 5, 4.45);
            SalesItems yt2 = new SalesItems("yt2", 1, 15, 43.36);
            //Hold expected outpun in a list
            List <SalesItems> expectedItems = new List <SalesItems>();

            expectedItems.Add(sh);
            expectedItems.Add(tr);
            expectedItems.Add(tr2);
            expectedItems.Add(yt2);

            List <SalesItems> testItems = new List <SalesItems>();

            double x;

            //Act
            for (int i = 0; i < codes.Length; i++)
            {
                List <SalesItems> salesItems = p.processQuantity(codes[i], orderQuantity[i]);
                foreach (SalesItems s in salesItems)
                {
                    testItems.Add(s);
                }
            }

            //Assert Compare two salesItemLists
            IEnumerable <SalesItems> list3;

            list3 = expectedItems.Except(testItems);
            foreach (SalesItems result in list3)
            {
                Console.WriteLine(result);
            }
        }