563 Commits

Author SHA1 Message Date
e2853b64d1 refactor(repository): replace queryFactory with DbSetFactory in DbRepository
- Updated DbRepository constructor to use DbSetFactory<TDbContext, TEntity>
  instead of a Func<TDbContext, DbSet<TEntity>> queryFactory.
- Adjusted namespace imports to include DigitalData.Core.Infrastructure.Factory.
- Improved repository instantiation consistency and encapsulation.
2025-09-12 11:35:40 +02:00
db8c41368d arrange tests 2025-09-11 18:53:39 +02:00
8743325067 update DbRepository 2025-09-11 18:35:17 +02:00
be96bd0c07 refactor(repository): add query parameter to IRepository.Where and constrain IRepository.Entity
- Updated `IRepository<TEntity>.Where()` to accept an `Expression<Func<TEntity, bool>>` for filtering.
- Added `where TEntity : IEntity` constraint to `IRepository.Entity<TEntity>()` method.
- No functional logic changes, only interface refactoring for stronger typing and query support.
2025-09-11 18:30:38 +02:00
b181e1543f create IEntity and IDto interfaces 2025-09-11 18:03:55 +02:00
7c2a165479 feat(infrastructure): enhance repository DI with DbSetFactory and IRepositoryFactory
- Added `RegisterAllServices` method to centralize service registration
- Introduced `RegsDbSetFactory` queue for custom DbSetFactory registrations
- Extended `RegisterEntity` to support optional DbSetFactory
- Added `RegisterDbSetFactory` for explicit DbSetFactory registration
- Registered `IRepositoryFactory` with `DbRepositoryFactory` in DI
2025-09-11 17:56:45 +02:00
90a12f52bc feat(infrastructure): add DbSetFactory registration in DependencyInjection
- Introduced AddDbSetFactory to support DbSet factory registration for entities.
- Updated RepositoryConfiguration.RegisterFromAssembly to register both repositories and DbSet factories.
- Changed RegisterFromAssembly and RegisterEntity to void methods instead of fluent interface.
- Extracted DbRepositoryFactory into its own Factory namespace for better separation of concerns.
2025-09-11 17:20:47 +02:00
33f7ced3b2 refactor(dependency-injection): replace generic AddDbRepository with configurable registration
- Replaced `AddDbRepository<TDbContext, TEntity>` with `AddDbRepository(Action<RepositoryConfiguration>)` for more flexible DI registration.
- Added `RepositoryConfiguration` class to support:
  - Registering repositories from an assembly (`RegisterFromAssembly`)
  - Registering individual entities (`RegisterEntity`)
- Queues (`RegsFromAssembly` and `RegsEntity`) are used to defer registration until `InvokeAll` is called.
- Allows overriding and scanning multiple entities dynamically instead of static generic method.
2025-09-11 13:07:45 +02:00
84cd52cc45 feat(DbRepositoryFactory): implement IRepositoryFactory 2025-09-10 17:51:32 +02:00
272650d991 feat(IRepositoryFactory): create to capsulate repository geenration.
- update DbRepo to use IRepositoryFactory
2025-09-10 17:48:16 +02:00
7d3d3b5ae9 implement IRepository 2025-09-10 17:43:42 +02:00
453a0ccdf0 replace IEntityMapper<TEntity> with IMapper 2025-09-10 17:33:26 +02:00
0809d1215b refactor: rename Read/ReadOnly methods and mark them as obsolete
- Renamed `Read()` to `Where()` and `ReadOnly()` to `Get()` for clarity.
- Marked old `Read()` and `ReadOnly()` methods as `[Obsolete]` with guidance to use the new methods.
- Updated XML region to separate obsolete methods for better maintainability.
2025-09-10 17:30:47 +02:00
4972f05fdf refactor(repository): reorganize IRepository extensions and add missing overloads
- Added regions for Create, Update, and Delete for better structure
- Introduced `Where` extension for IRepository
- Added batch `CreateAsync` overloads for entities and DTOs
- Improved readability and consistency across IRepository extension methods
2025-09-10 17:27:33 +02:00
886a107c71 feat(repository): add extension methods for IRepository operations
- Added extensions for IRepository to support Get, Create, Update, and Delete operations.
- Maintains existing IRepository<TEntity> CreateAsync methods for DTO mapping.
- Improves consistency and usability across repository abstractions.
2025-09-10 17:22:56 +02:00
ce8e563e4e refactor(IRepository): rename Read/ReadOnly to Where/Get and mark as obsolete
- Replaced `Read()` with `Where()` and `ReadOnly()` with `Get()` in `IRepository<TEntity>`
- Marked `Read()` and `ReadOnly()` as `[Obsolete]` with guidance for the new methods
- Added non-generic `IRepository` interface with `Entity<TEntity>()` method
2025-09-10 17:04:52 +02:00
513f8c1ba3 chore: bump to x.x.1 2025-08-25 14:57:11 +02:00
75d0a6f1df feat(repository): refactor UpdateAsync and DeleteAsync to accept query functions
Changed UpdateAsync and DeleteAsync to accept Func<IQueryable<TEntity>, IQueryable<TEntity>> instead of IQueryable<TEntity>

Improved flexibility by allowing callers to compose queries dynamically

Updated overloads to wrap expressions with q => q.Where(expression) for compatibility
2025-08-25 14:56:19 +02:00
003636e243 chroe(Core.Inf); bump to 2.3.0 2025-08-25 14:46:26 +02:00
adf2ba00c3 chroe(Abstraction.Application); bump to 1.2.0 2025-08-25 14:45:53 +02:00
e80eb6aa1f rename CancellationTokens 2025-08-25 14:32:38 +02:00
70e3fe5dd7 Refactor(DbRepository): Add IQueryable overloads for UpdateAsync and DeleteAsync
- Added UpdateAsync<TDto>(TDto dto, IQueryable<TEntity> query, ...) overload
- Added DeleteAsync(IQueryable<TEntity> query, ...) overload
- Expression-based methods now delegate to the IQueryable overloads
- Reduces code duplication and allows more flexible queries
2025-08-25 14:27:55 +02:00
859c03177e Merge branch 'master' of http://git.dd:3000/AppStd/WebCoreModules 2025-08-21 18:21:59 +02:00
244ed3ebe4 chore: bump to related version 2025-08-21 18:21:00 +02:00
048ba35804 remove ReadQuery 2025-08-21 18:19:16 +02:00
Developer 02
9aa7673484 chore(Exceptions): Bump to 1.1.0 2025-08-05 19:37:46 +02:00
Developer 02
f01db9c2d7 feat(core): ForbiddenException hinzugefügt zur Behandlung von verbotenen Operationen 2025-08-05 19:36:44 +02:00
56cb3e247f fix(GlobalExceptionHandlerMiddleware): add await 2025-07-30 17:00:03 +02:00
0554cbf7bc refactor(API): upgrade auf 2.2.1 2025-07-30 15:43:45 +02:00
Developer 02
62e36f4459 refactor(DigitalData.Core.Infrastructure.AutoMapper): Upgrade 1.0.3 2025-05-27 18:36:32 +02:00
Developer 02
e09d40abc1 refactor(DigitalData.Core.Infrastructure.AutoMapper): Entfernen der Abhängigkeit von DigitalData.Core.Abstractions 2025-05-27 18:32:55 +02:00
Developer 02
9b286b023c refactor(Application.Abstractions): umbenennen in Abstractions.Application 2025-05-27 18:31:13 +02:00
Developer 02
0441f593d4 update project versions 2025-05-27 17:37:05 +02:00
Developer 02
7621d657ac refactor(DTO): Hinzufügen des Attributs Obsolete mit der Meldung „Use DigitalData.Core.Exceptions and .Middleware“ 2025-05-26 15:49:22 +02:00
Developer 02
e94efc8534 Aufrüstung auf 2.2.0 2025-05-26 15:24:27 +02:00
Developer 02
90db7a356a refactor(DigitalData.Core.API): Aktualisiert für aktuelle Application und Application.Abstraction 2025-05-26 13:55:41 +02:00
Developer 02
b6212fec55 chore(DigitalData.Core.Application.Abstraction): Build-Typ Release erstellen 2025-05-26 13:22:09 +02:00
Developer 02
63efde9e8a chore(DigitalData.Core.Application.Abstraction): Paketsymbol hinzufügen 2025-05-26 12:59:47 +02:00
Developer 02
0a9ba9be38 refactor(DigitalData.Core.Application): Aktualisiert auf 3.3.2 2025-05-26 12:52:10 +02:00
Developer 02
e05f1347f8 Enhance project metadata in .csproj file
Updated `DigitalData.Core.Application.Abstraction.csproj` to include new properties in the `<PropertyGroup>`, such as package generation, description, package ID, authors, company, product name, copyright, package icon, repository URL, tags, and versioning information. This improves project metadata and compliance with package management standards.
2025-05-26 12:47:07 +02:00
Developer 02
a0696c5e22 feat(Application.Abstraction): Erstellt, um Schnittstellen von Core.Application zu behandeln 2025-05-20 16:30:31 +02:00
Developer 02
01025ff36f refactor: update efcore 2025-05-20 16:14:52 +02:00
Developer 02
831f91ce16 Update EntityFrameworkCore to version 9.0.5
Updated the `Microsoft.EntityFrameworkCore` package version
from `9.0.4` to `9.0.5` for the target framework `net9.0`
in the `DigitalData.Core.Infrastructure.csproj` file.
2025-05-20 12:47:49 +02:00
Developer 02
980e21f27f Bump version to 3.3.1 in project file
Updated the version number, assembly version, and file version for the DigitalData.Core.Application project from 3.3.0 to 3.3.1 in DigitalData.Core.Application.csproj.
2025-05-20 12:44:54 +02:00
Developer 02
d49aaf61dc Update CreateAsync to return DataResult<TReadDto>
Modified the CreateAsync method in CRUDService.cs and ICRUDService.cs to change the return type from DataResult<TId> to DataResult<TReadDto>. The implementation now maps the created entity to a read DTO, providing the caller with the complete entity representation instead of just its ID.
2025-05-20 12:44:43 +02:00
Developer 02
b95baaef5f Enforce ID retrieval in UpdateAsync method
Updated the `UpdateAsync<TUpdateDto>` method in `CRUDService.cs` to replace the use of `GetIdOrDefault<TId>()` with `GetId<TId>()`. This change ensures that an ID must be present in the `updateDto`, enhancing the reliability of the update process.
2025-05-20 12:38:03 +02:00
Developer 02
68d78afafe Refactor GetId method and update ICRUDService comments
Modified the `GetId<TId>` method in the `EntityExtensions` class to change its return type from nullable `TId?` to non-nullable `TId`, ensuring stricter type safety by throwing an `InvalidOperationException` when the `Id` property is not readable.

Removed a summary comment in the `ICRUDService` interface related to the `CreateAsync` method, which may indicate ongoing documentation updates for clarity on the method's functionality and parameters.
2025-05-20 12:37:36 +02:00
Developer 02
dd679b79b4 Update target frameworks and version to 2.1.0
- Added support for net8.0 and net9.0 frameworks.
- Incremented package, assembly, and file versions to 2.1.0.
- Updated `Microsoft.Extensions.Options` to 7.0.1 for net7.0, 8.0.2 for net8.0, and 9.0.5 for net9.0.
- Updated `Microsoft.Extensions.Options.ConfigurationExtensions` to 8.0.0 for net8.0 and 9.0.5 for net9.0.
- Maintained existing project reference to `DigitalData.Core.Abstractions.csproj`.
2025-05-20 11:37:03 +02:00
Developer 02
cc2177e6d1 Update package for net9.0 and version 2.1.0
- Added net9.0 to target frameworks.
- Updated package description to reference DigitalData.Core.Application.
- Incremented version to 2.1.0 for package, assembly, and file versions.
- Changed package icon path to `..\Assets\core_icon.png`.
2025-05-20 10:56:49 +02:00
Developer 02
94ff231a71 Update project file and increment version to 3.3.0
- Added target frameworks: net7.0, net8.0, net9.0
- Shortened package description
- Updated versioning from 3.2.1 to 3.3.0
- Changed package icon path to ../Assets/core_icon.png
2025-05-20 10:50:28 +02:00