예제 #1
0
        public float Parse(List <SKUItems> listSKU)
        {
            float    totalCost      = 0;
            SKUItems eligibleItems1 = listSKU.Where(t => t.sKU.GetType() == offerSKU1.GetType()).FirstOrDefault();
            SKUItems eligibleItems2 = listSKU.Where(t => t.sKU.GetType() == offerSKU2.GetType()).FirstOrDefault();

            int maxEqual = 0;

            if (eligibleItems1 != null && eligibleItems2 != null)
            {
                if (eligibleItems1.count < eligibleItems2.count)
                {
                    maxEqual = eligibleItems1.count;
                    listSKU.Remove(eligibleItems1);
                    listSKU.Where(t => t == eligibleItems2).FirstOrDefault().count -= maxEqual;
                }
                else if (eligibleItems2.count < eligibleItems1.count)
                {
                    maxEqual = eligibleItems2.count;
                    listSKU.Remove(eligibleItems2);
                    listSKU.Where(t => t == eligibleItems1).FirstOrDefault().count -= maxEqual;
                }
                else
                {
                    maxEqual = eligibleItems2.count;
                    listSKU.Remove(eligibleItems1);
                    listSKU.Remove(eligibleItems2);
                }
            }
            totalCost = maxEqual * cost;
            return(totalCost);
        }
예제 #2
0
        public float Parse(List <SKUItems> listSKU)
        {
            float totalCost     = 0;
            var   eligibleItems = listSKU.Where(t => t.sKU.GetType() == offerSKU.GetType()).FirstOrDefault();

            if (eligibleItems != null)
            {
                int discountCount = (eligibleItems.count / countOfSKU);

                totalCost = discountCount * cost;
                if (eligibleItems.count > (discountCount * countOfSKU))
                {
                    listSKU.Where(t => t.sKU.GetType() == offerSKU.GetType()).FirstOrDefault().count -= (discountCount * countOfSKU);
                }
                else
                {
                    listSKU.Remove(eligibleItems);
                }
            }
            return(totalCost);
        }