public CouponEntity[] GetCouponsByIds(string[] ids) { var retVal = Coupons.Where(x => ids.Contains(x.Id)).ToArray(); var couponCodes = retVal.Select(x => x.Code).ToArray(); var couponUsagesTotals = PromotionUsages.Where(x => couponCodes.Contains(x.CouponCode)).GroupBy(x => x.CouponCode) .Select(x => new { CouponCode = x.Key, TotalUsesCount = x.Count() }).ToArray(); foreach (var totalsUses in couponUsagesTotals) { var coupon = retVal.FirstOrDefault(x => x.Code.EqualsInvariant(totalsUses.CouponCode)); if (coupon != null) { coupon.TotalUsesCount = totalsUses.TotalUsesCount; } } return(retVal); }
public PromotionUsageEntity[] GetMarketingUsagesByIds(string[] ids) { var retVal = PromotionUsages.Where(x => ids.Contains(x.Id)).ToArray(); return(retVal); }