/// <summary> /// Deletes an <see cref="IOfferRedeemed"/> /// </summary> /// <param name="offerRedeemed"> /// The offer redeemed. /// </param> /// <param name="raiseEvents"> /// Optional boolean indicating whether or not to raise events /// </param> public void Delete(IOfferRedeemed offerRedeemed, bool raiseEvents = true) { if (raiseEvents) { if (Deleting.IsRaisedEventCancelled(new DeleteEventArgs <IOfferRedeemed>(offerRedeemed), this)) { ((OfferRedeemed)offerRedeemed).WasCancelled = true; return; } } using (new WriteLock(Locker)) { var uow = UowProvider.GetUnitOfWork(); using (var repository = RepositoryFactory.CreateOfferRedeemedRepository(uow)) { repository.Delete(offerRedeemed); uow.Commit(); } } if (raiseEvents) { Deleted.RaiseEvent(new DeleteEventArgs <IOfferRedeemed>(offerRedeemed), this); } }
/// <summary> /// Saves an <see cref="IOfferRedeemed"/> /// </summary> /// <param name="offerRedeemed"> /// The offer redeemed. /// </param> /// <param name="raiseEvents"> /// Optional boolean indicating whether or not to raise events /// </param> public void Save(IOfferRedeemed offerRedeemed, bool raiseEvents = true) { if (raiseEvents) if (Saving.IsRaisedEventCancelled(new SaveEventArgs<IOfferRedeemed>(offerRedeemed), this)) { ((OfferRedeemed)offerRedeemed).WasCancelled = true; return; } using (new WriteLock(Locker)) { var uow = UowProvider.GetUnitOfWork(); using (var repository = RepositoryFactory.CreateOfferRedeemedRepository(uow)) { repository.AddOrUpdate(offerRedeemed); uow.Commit(); } } if (raiseEvents) Saved.RaiseEvent(new SaveEventArgs<IOfferRedeemed>(offerRedeemed), this); }