コード例 #1
0
        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);
            }
        }
コード例 #2
0
 public EntityCacheService(IHasTransactionRepository <TEntity, TTransaction> repository,
                           ICacheService <IList <TEntity> > cacheService)
 {
     _repository   = repository;
     _cacheService = cacheService;
 }