From 3c1bbc115196476d49365c740a2cb62c3236f032 Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Tue, 22 Apr 2025 11:21:21 +0200 Subject: [PATCH] =?UTF-8?q?feat(Repository):=20CreateAsync-Methoden=20f?= =?UTF-8?q?=C3=BCr=20DTO=20wurden=20in=20Erweiterungsmethoden=20konvertier?= =?UTF-8?q?t?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Infrastructure/Extensions.cs | 16 ++++++++++++++++ .../Infrastructure/IRepository.cs | 6 +----- DigitalData.Core.Infrastructure/DbRepository.cs | 12 ------------ 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/DigitalData.Core.Abstractions/Infrastructure/Extensions.cs b/DigitalData.Core.Abstractions/Infrastructure/Extensions.cs index abd0742..a7c510d 100644 --- a/DigitalData.Core.Abstractions/Infrastructure/Extensions.cs +++ b/DigitalData.Core.Abstractions/Infrastructure/Extensions.cs @@ -4,6 +4,21 @@ namespace DigitalData.Core.Abstractions.Infrastructure; 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 Read public static async Task ReadFirstOrDefaultAsync(this IRepository repository, Expression>? expression = null) => (await repository.ReadAsync(expression)).FirstOrDefault(); @@ -15,4 +30,5 @@ public static class Extensions public static async Task ReadSingleAsync(this IRepository repository, Expression>? expression = null) => (await repository.ReadAsync(expression)).Single(); + #endregion } diff --git a/DigitalData.Core.Abstractions/Infrastructure/IRepository.cs b/DigitalData.Core.Abstractions/Infrastructure/IRepository.cs index af5eda4..f0e72c9 100644 --- a/DigitalData.Core.Abstractions/Infrastructure/IRepository.cs +++ b/DigitalData.Core.Abstractions/Infrastructure/IRepository.cs @@ -9,11 +9,7 @@ public interface IRepository public Task CreateAsync(TEntity entity, CancellationToken ct = default); public Task> CreateAsync(IEnumerable entities, CancellationToken ct = default); - - public Task CreateAsync(TDto dto, CancellationToken ct = default); - - public Task> CreateAsync(IEnumerable dtos, CancellationToken ct = default); - + public Task> ReadAsync(Expression>? expression = null, CancellationToken ct = default); public Task UpdateAsync(TDto dto, Expression> expression, CancellationToken ct = default); diff --git a/DigitalData.Core.Infrastructure/DbRepository.cs b/DigitalData.Core.Infrastructure/DbRepository.cs index eec8ef5..39ac1df 100644 --- a/DigitalData.Core.Infrastructure/DbRepository.cs +++ b/DigitalData.Core.Infrastructure/DbRepository.cs @@ -32,18 +32,6 @@ public class DbRepository : IRepository where TDbC return entities; } - public virtual Task CreateAsync(TDto dto, CancellationToken ct = default) - { - var entity = Mapper.Map(dto); - return CreateAsync(entity, ct); - } - - public virtual Task> CreateAsync(IEnumerable dtos, CancellationToken ct = default) - { - var entities = dtos.Select(dto => Mapper.Map(dto)); - return CreateAsync(entities, ct); - } - public virtual async Task> ReadAsync(Expression>? expression = null, CancellationToken ct = default) => expression is null ? await Entities.AsNoTracking().ToListAsync(ct)