diff --git a/DigitalData.Core.Abstraction.Application/Repository/Extensions.cs b/DigitalData.Core.Abstraction.Application/Repository/Extensions.cs index 4e7b5a6..2b5888b 100644 --- a/DigitalData.Core.Abstraction.Application/Repository/Extensions.cs +++ b/DigitalData.Core.Abstraction.Application/Repository/Extensions.cs @@ -4,20 +4,6 @@ namespace DigitalData.Core.Abstraction.Application.Repository; public static class Extensions { - #region Create - public static Task CreateAsync(this IRepository repository, TDto dto, CancellationToken ct = default) - { - var entity = repository.Mapper.Map(dto); - return repository.CreateAsync(entity, ct); - } - - public static Task> CreateAsync(this IRepository repository, IEnumerable dtos, CancellationToken ct = default) - { - var entities = dtos.Select(dto => repository.Mapper.Map(dto)); - return repository.CreateAsync(entities, ct); - } - #endregion - #region IRepository #region Read public static IEnumerable GetAll(this IRepository repository) where TEntity : IEntity diff --git a/DigitalData.Core.Abstraction.Application/Repository/IRepository.cs b/DigitalData.Core.Abstraction.Application/Repository/IRepository.cs index 1e94a62..eaa8484 100644 --- a/DigitalData.Core.Abstraction.Application/Repository/IRepository.cs +++ b/DigitalData.Core.Abstraction.Application/Repository/IRepository.cs @@ -1,29 +1,38 @@ -using AutoMapper; -using System.Linq.Expressions; +using System.Linq.Expressions; namespace DigitalData.Core.Abstraction.Application.Repository; public interface IRepository { - public IMapper Mapper { get; } - + #region Create public Task CreateAsync(TEntity entity, CancellationToken cancel = default); public Task> CreateAsync(IEnumerable entities, CancellationToken cancel = default); + public Task CreateAsync(TDto dto, CancellationToken cancel = default); + + public Task> CreateAsync(IEnumerable dtos, CancellationToken cancel = default); + #endregion Create + + #region Read public IQueryable Where(Expression> expression); public IEnumerable GetAll(); public Task> GetAllAsync(CancellationToken cancel = default); + #endregion Read + #region Update public Task UpdateAsync(TDto dto, Expression> expression, CancellationToken cancel = default); public Task UpdateAsync(TDto dto, Func, IQueryable> query, CancellationToken cancel = default); + #endregion Update + #region Delete public Task DeleteAsync(Expression> expression, CancellationToken cancel = default); public Task DeleteAsync(Func, IQueryable> query, CancellationToken cancel = default); + #endregion Delete #region Obsolete [Obsolete("Use CreateAsync, UpdateAsync or DeleteAsync")]