public void Handle(PromotionUnapplied @event) { using (var context = _contextFactory.Invoke()) { var promotionUsageDetail = context.Find <PromotionUsageDetail>(@event.OrderId); if (promotionUsageDetail != null) { context.Set <PromotionUsageDetail>().Remove(promotionUsageDetail); context.Save(promotionUsageDetail); } } }
private void OnPromotionUnapplied(PromotionUnapplied @event) { Interlocked.Decrement(ref _usages); int usagesForThisUser; _usagesPerUser.TryGetValue(@event.AccountId, out usagesForThisUser); _usagesPerUser[@event.AccountId] = Interlocked.Decrement(ref usagesForThisUser); _orderIds.Remove(@event.OrderId); _usersWhiteList.Add(@event.AccountId); }