Ejemplo n.º 1
0
        private Dictionary <string, List <PromoModels.MarkedItem> > ApplyGet(PromoModels.Get get, Dictionary <string, List <PromoModels.MarkedItem> > groupedItems, PromoModels.Promo promo)
        {
            if (!groupedItems.TryGetValue(get.Category, out List <PromoModels.MarkedItem> val))
            {
                return(groupedItems);
            }

            groupedItems = MarkGetItems(groupedItems, get, promo);

            return(groupedItems);
        }
Ejemplo n.º 2
0
        private Dictionary <string, List <PromoModels.MarkedItem> > MarkGetItems(Dictionary <string, List <PromoModels.MarkedItem> > groupedItems, PromoModels.Get get, PromoModels.Promo promo)
        {
            var markCount = 0;

            for (int i = 0; i < groupedItems[get.Category].Count; i++)
            {
                var item = groupedItems[get.Category][i];

                if (get.All == false && markCount == get.Count)
                {
                    break;
                }

                var isMarkedBuy = item.MarkedBuys.TryGetValue(promo.Id, out bool val1);
                var isMarkedGet = item.MarkedGets.TryGetValue(promo.Id, out float val2);

                if (!isMarkedBuy && !isMarkedGet)
                {
                    groupedItems[get.Category][i].MarkedGets[promo.Id] = ComputeOffPrice(item.Item.Price, get.Off);
                    markCount += 1;
                }
            }

            return(groupedItems);
        }