Esempio n. 1
0
        private int UsageOfOffer(ScannedSku scannedSku)
        {
            var offer = _specialOffers.FirstOrDefault(o => o.Sku == scannedSku.Sku);

            double s = scannedSku.NumberOfScans / offer.Quantity;

            return((int)Math.Floor(s));
        }
Esempio n. 2
0
        private decimal GetOfferPrice(ScannedSku scannedSku)
        {
            if (!SkuHasOffer(scannedSku))
            {
                return(0m);
            }

            var offer = _specialOffers.FirstOrDefault(o => o.Sku == scannedSku.Sku);

            var numberOfTimesOfferUsed = UsageOfOffer(scannedSku);

            return(numberOfTimesOfferUsed * offer.OfferPrice);
        }
Esempio n. 3
0
        private int QuantityEligibleForOffer(ScannedSku scannedSku)
        {
            if (!SkuHasOffer(scannedSku))
            {
                return(0m);
            }


            var offer = _specialOffers.FirstOrDefault(o => o.Sku == scannedSku.Sku);


            return(UsageOfOffer(scannedSku) * offer.Quantity);
        }
Esempio n. 4
0
 private bool SkuHasOffer(ScannedSku scannedSku) => _specialOffers.FirstOrDefault(o => o.Sku == scannedSku.Sku) != null;