|
|
|
@ -0,0 +1,78 @@
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using Volo.Abp.Domain.Entities;
|
|
|
|
|
|
|
|
|
|
namespace Volo.Abp.Domain.Repositories
|
|
|
|
|
{
|
|
|
|
|
public abstract class RepositoryBase<TEntity, TPrimaryKey> : IRepository<TEntity, TPrimaryKey>
|
|
|
|
|
where TEntity : class, IEntity<TPrimaryKey>
|
|
|
|
|
{
|
|
|
|
|
public abstract List<TEntity> GetAllList();
|
|
|
|
|
|
|
|
|
|
public virtual Task<List<TEntity>> GetAllListAsync()
|
|
|
|
|
{
|
|
|
|
|
return Task.FromResult(GetAllList());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public abstract TEntity Get(TPrimaryKey id);
|
|
|
|
|
|
|
|
|
|
public virtual Task<TEntity> GetAsync(TPrimaryKey id)
|
|
|
|
|
{
|
|
|
|
|
return Task.FromResult(Get(id));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public abstract TEntity FirstOrDefault(TPrimaryKey id);
|
|
|
|
|
|
|
|
|
|
public virtual Task<TEntity> FirstOrDefaultAsync(TPrimaryKey id)
|
|
|
|
|
{
|
|
|
|
|
return Task.FromResult(FirstOrDefault(id));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public abstract TEntity Insert(TEntity entity);
|
|
|
|
|
|
|
|
|
|
public virtual Task<TEntity> InsertAsync(TEntity entity)
|
|
|
|
|
{
|
|
|
|
|
return Task.FromResult(Insert(entity));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public virtual TPrimaryKey InsertAndGetId(TEntity entity)
|
|
|
|
|
{
|
|
|
|
|
return Insert(entity).Id;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public virtual Task<TPrimaryKey> InsertAndGetIdAsync(TEntity entity)
|
|
|
|
|
{
|
|
|
|
|
return Task.FromResult(InsertAndGetId(entity));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public abstract TEntity Update(TEntity entity);
|
|
|
|
|
|
|
|
|
|
public virtual Task<TEntity> UpdateAsync(TEntity entity)
|
|
|
|
|
{
|
|
|
|
|
return Task.FromResult(Update(entity));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public abstract void Delete(TEntity entity);
|
|
|
|
|
|
|
|
|
|
public virtual Task DeleteAsync(TEntity entity)
|
|
|
|
|
{
|
|
|
|
|
Delete(entity);
|
|
|
|
|
return Task.CompletedTask;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public abstract void Delete(TPrimaryKey id);
|
|
|
|
|
|
|
|
|
|
public virtual Task DeleteAsync(TPrimaryKey id)
|
|
|
|
|
{
|
|
|
|
|
Delete(id);
|
|
|
|
|
return Task.CompletedTask;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public abstract int Count();
|
|
|
|
|
|
|
|
|
|
public virtual Task<int> CountAsync()
|
|
|
|
|
{
|
|
|
|
|
return Task.FromResult(Count());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|