Example #1
0
        internal static int GetToShoppingListQuantity(int articleId, int?minQuantity = null, int?prefQuantity = null)
        {
            if ((minQuantity == null) || (prefQuantity == null))
            {
                ArticleData article = Database.GetArticleData(articleId);

                // Artikle ist noch (gar) nicht angelegt?
                // (Laut Absturzbericht ist so ein Fall vorhanden, konnte aber nicht reproduziert werden.)
                if (article == null)
                {
                    return(-1);
                }

                minQuantity  = article.MinQuantity.HasValue  ? article.MinQuantity.Value  : 0;
                prefQuantity = article.PrefQuantity.HasValue ? article.PrefQuantity.Value : 0;
            }

            int isQuantityInStorage = (int)Database.GetArticleQuantityInStorage(articleId);

            int toBuyQuantity = ShoppingListHelper.GetToBuyQuantity(minQuantity.Value, prefQuantity.Value, isQuantityInStorage);

            int shoppingListQuantiy = (int)Database.GetShoppingListQuantiy(articleId);

            toBuyQuantity = toBuyQuantity - shoppingListQuantiy;

            if (toBuyQuantity < 0) // Mehr auf der Einkaufsliste als berechnet?
            {
                return(0);
            }

            return(toBuyQuantity);
        }
Example #2
0
        internal static int GetToShoppingListQuantity(int articleId, int minQuantity, int prefQuantity)
        {
            int isQuantity = (int)Database.GetArticleQuantityInStorage(articleId);

            int toBuyQuantity = ShoppingListHelper.GetToBuyQuantity(minQuantity, prefQuantity, isQuantity);

            int shoppingListQuantiy = (int)Database.GetShoppingListQuantiy(articleId);

            toBuyQuantity = toBuyQuantity - shoppingListQuantiy;

            if (toBuyQuantity < 0) // Mehr auf der Einkaufsliste als berechnet?
            {
                return(0);
            }

            return(toBuyQuantity);
        }
        public static void UnitTest()
        {
            //                                               MinQuantity  PrefQuantity IsQuantity ToBuy
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(0, 0, 4) == 0);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(0, 0, 3) == 0);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(0, 0, 2) == 0);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(0, 0, 1) == 0);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(0, 0, 0) == 0);

            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(5, 0, 6) == 0);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(5, 0, 5) == 0);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(5, 0, 4) == 1);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(5, 0, 3) == 2);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(5, 0, 2) == 3);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(5, 0, 1) == 4);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(5, 0, 0) == 5);

            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(0, 8, 9) == 0);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(0, 8, 8) == 0);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(0, 8, 7) == 1);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(0, 8, 6) == 2);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(0, 8, 5) == 3);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(0, 8, 4) == 4);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(0, 8, 3) == 5);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(0, 8, 2) == 6);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(0, 8, 1) == 7);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(0, 8, 0) == 8);

            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(5, 8, 9) == 0);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(5, 8, 8) == 0);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(5, 8, 7) == 0);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(5, 8, 6) == 0);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(5, 8, 5) == 0);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(5, 8, 4) == 4);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(5, 8, 3) == 5);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(5, 8, 2) == 6);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(5, 8, 1) == 7);
            Trace.Assert(ShoppingListHelper.GetToBuyQuantity(5, 8, 0) == 8);
        }