예제 #1
0
        public Promotion[] GetActivePromotions()
        {
            var now    = DateTime.UtcNow;
            var retVal = Promotions.Where(x => x.IsActive && (x.StartDate == null || now >= x.StartDate) && (x.EndDate == null || x.EndDate >= now))
                         .OrderByDescending(x => x.Priority).ToArray();

            return(retVal);
        }
        public PromotionEntity[] GetPromotionsByIds(string[] ids)
        {
            var retVal = Promotions.Where(x => ids.Contains(x.Id)).ToArray();
            var promotionsIdsWithCoupons = Coupons.Where(x => ids.Contains(x.PromotionId)).Select(x => x.PromotionId).Distinct().ToArray();

            foreach (var promotion in retVal)
            {
                promotion.HasCoupons = promotionsIdsWithCoupons.Contains(promotion.Id);
            }
            return(retVal);
        }