public static TEntity AddOrUpdate <TEntity, TTransaction>(this IHasTransactionRepository <TEntity, TTransaction> repository, TEntity entity) where TEntity : class, IStateAware where TTransaction : ITransaction { using (var tran = repository.GetTransaction()) { if (entity.IsNew) { entity = repository.Add(entity); } else { entity = repository.Update(entity); } tran.CommitIfOwner(); return(entity); } }
public EntityCacheService(IHasTransactionRepository <TEntity, TTransaction> repository, ICacheService <IList <TEntity> > cacheService) { _repository = repository; _cacheService = cacheService; }