diff --git a/Directory.Packages.props b/Directory.Packages.props index fbf26e8a..217875fe 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -5,10 +5,10 @@ - - - - + + + + diff --git a/src/Application/Extensions/QueryableExtensions.cs b/src/Application/Extensions/QueryableExtensions.cs index 55484c7c..10c9c394 100644 --- a/src/Application/Extensions/QueryableExtensions.cs +++ b/src/Application/Extensions/QueryableExtensions.cs @@ -1,9 +1,9 @@ using Application.Features.Requests; +using Domain.Entities.Attendance; +using Domain.Entities.Documents; +using Domain.Entities.Finance; using Domain.Enumerators.Attendance; -using Domain.Models.Attendance; -using Domain.Models.Documents; -using Domain.Models.Finance; namespace Application.Extensions; @@ -36,9 +36,9 @@ public static IQueryable FilterByParameters(this IQueryable /// The query to filter. /// The parameters to filter by. /// The filtered . - public static IQueryable FilterByParameters(this IQueryable query, AttendanceParameters parameters) + public static IQueryable FilterByParameters(this IQueryable query, AttendanceParameters parameters) { - IQueryable filteredQuery = query + IQueryable filteredQuery = query .FilterByYear(parameters.Year) .FilterByMonth(parameters.Month) .FilterByDateRange(parameters.MinDate, parameters.MaxDate) @@ -53,9 +53,9 @@ public static IQueryable FilterByParameters(this IQueryableThe query to filter. /// The parameters to filter by. /// The filtered . - public static IQueryable FilterByParameters(this IQueryable query, DocumentParameters parameters) + public static IQueryable FilterByParameters(this IQueryable query, DocumentParameters parameters) { - IQueryable filteredQuery = query + IQueryable filteredQuery = query .FilterByDirectory(parameters.Directory) .FilterByExtension(parameters.ExtensionName) .FilterByName(parameters.Name); @@ -69,9 +69,9 @@ public static IQueryable FilterByParameters(this IQueryable /// The query to filter. /// The parameters to filter by. /// The filtered . - public static IQueryable FilterByParameters(this IQueryable query, TransactionParameters parameters) + public static IQueryable FilterByParameters(this IQueryable query, TransactionParameters parameters) { - IQueryable filteredQuery = query + IQueryable filteredQuery = query .FilterByBookingDate(parameters.BookingDate) .FilterByValueDate(parameters.ValueDate) .FilterByBeneficiary(parameters.Beneficiary) @@ -90,7 +90,7 @@ public static IQueryable FilterByParameters(this IQueryableThe query to filter. /// The name to search for. /// The filtered . - private static IQueryable FilterByName(this IQueryable query, string? name) + private static IQueryable FilterByName(this IQueryable query, string? name) => name is not null ? query.Where(x => x.Name.Contains(name)) : query; /// @@ -99,7 +99,7 @@ private static IQueryable FilterByName(this IQueryable query /// The query to filter. /// The directory to search for. /// The filtered . - private static IQueryable FilterByDirectory(this IQueryable query, string? directory) + private static IQueryable FilterByDirectory(this IQueryable query, string? directory) => directory is not null ? query.Where(x => x.Directory.Contains(directory)) : query; /// @@ -108,7 +108,7 @@ private static IQueryable FilterByDirectory(this IQueryable /// The query to filter. /// The extension to search for. /// The filtered . - private static IQueryable FilterByExtension(this IQueryable query, string? extension) + private static IQueryable FilterByExtension(this IQueryable query, string? extension) => extension is not null ? query.Where(x => x.Extension.Name.Contains(extension)) : query; /// @@ -150,7 +150,7 @@ private static IQueryable FilterByDateRange(this IQueryable /// The query to filter. /// The year to be filtered. /// - private static IQueryable FilterByYear(this IQueryable query, int? year) + private static IQueryable FilterByYear(this IQueryable query, int? year) => year.HasValue ? query.Where(x => x.Date.Year.Equals(year)) : query; /// @@ -159,7 +159,7 @@ private static IQueryable FilterByYear(this IQueryableThe query to filter. /// The month to be filtered. /// - private static IQueryable FilterByMonth(this IQueryable query, int? month) + private static IQueryable FilterByMonth(this IQueryable query, int? month) => month.HasValue ? query.Where(x => x.Date.Month.Equals(month)) : query; /// @@ -169,7 +169,7 @@ private static IQueryable FilterByMonth(this IQueryableThe minimum date. /// The maximum date. /// - private static IQueryable FilterByDateRange(this IQueryable query, DateTime? minDate, DateTime? maxDate) + private static IQueryable FilterByDateRange(this IQueryable query, DateTime? minDate, DateTime? maxDate) { query = minDate.HasValue ? query.Where(x => x.Date >= minDate.Value.Date) : query; query = maxDate.HasValue ? query.Where(x => x.Date <= maxDate.Value.Date) : query; @@ -183,7 +183,7 @@ private static IQueryable FilterByDateRange(this IQueryableThe query to filter. /// The attendance type to be filtered. /// - private static IQueryable FilterByType(this IQueryable query, AttendanceType? type) + private static IQueryable FilterByType(this IQueryable query, AttendanceType? type) => type.HasValue ? query.Where(x => x.Type.Equals(type)) : query; /// @@ -192,7 +192,7 @@ private static IQueryable FilterByType(this IQueryableThe query to filter. /// The date to be filtered by. /// - private static IQueryable FilterByBookingDate(this IQueryable query, DateTime? dateTime) + private static IQueryable FilterByBookingDate(this IQueryable query, DateTime? dateTime) => dateTime.HasValue ? query.Where(x => x.BookingDate.Equals(dateTime.Value.Date)) : query; /// @@ -201,7 +201,7 @@ private static IQueryable FilterByBookingDate(this IQueryable< /// The query to filter. /// The date to be filtered by. /// - private static IQueryable FilterByValueDate(this IQueryable query, DateTime? dateTime) + private static IQueryable FilterByValueDate(this IQueryable query, DateTime? dateTime) => dateTime.HasValue ? query.Where(x => x.ValueDate.Equals(dateTime.Value.Date)) : query; /// @@ -210,7 +210,7 @@ private static IQueryable FilterByValueDate(this IQueryableThe query to filter. /// The client beneficiary to be filtered by. /// - private static IQueryable FilterByBeneficiary(this IQueryable query, string? beneficiary) + private static IQueryable FilterByBeneficiary(this IQueryable query, string? beneficiary) => beneficiary is not null ? query.Where(x => x.ClientBeneficiary.Contains(beneficiary)) : query; /// @@ -220,7 +220,7 @@ private static IQueryable FilterByBeneficiary(this IQueryable< /// The minimum value to be filtered by. /// The maximum value to be filtered by. /// - private static IQueryable FilterByAmountRange(this IQueryable query, decimal? minValue, decimal? maxValue) + private static IQueryable FilterByAmountRange(this IQueryable query, decimal? minValue, decimal? maxValue) { query = minValue.HasValue ? query.Where(x => x.AmountEur >= minValue) : query; query = maxValue.HasValue ? query.Where(x => x.AmountEur <= maxValue) : query; diff --git a/src/Application/Interfaces/Infrastructure/Persistence/IRepositoryContext.cs b/src/Application/Interfaces/Infrastructure/Persistence/IRepositoryContext.cs index c4825cc6..ffabd8fc 100644 --- a/src/Application/Interfaces/Infrastructure/Persistence/IRepositoryContext.cs +++ b/src/Application/Interfaces/Infrastructure/Persistence/IRepositoryContext.cs @@ -1,9 +1,9 @@ using BB84.EntityFrameworkCore.Repositories.Abstractions; -using Domain.Models.Attendance; -using Domain.Models.Documents; -using Domain.Models.Finance; -using Domain.Models.Todo; +using Domain.Entities.Attendance; +using Domain.Entities.Documents; +using Domain.Entities.Finance; +using Domain.Entities.Todo; using Microsoft.EntityFrameworkCore; @@ -15,25 +15,25 @@ namespace Application.Interfaces.Infrastructure.Persistence; public interface IRepositoryContext : IDbContext { /// - DbSet Accounts { get; } + DbSet Accounts { get; } /// - DbSet Attendances { get; } + DbSet Attendances { get; } /// - DbSet Cards { get; } + DbSet Cards { get; } /// - DbSet Documents { get; } + DbSet Documents { get; } /// - DbSet Transactions { get; } + DbSet Transactions { get; } /// - DbSet TodoLists { get; } + DbSet TodoLists { get; } /// - DbSet TodoItems { get; } + DbSet TodoItems { get; } /// /// This function returns the last day of the month containing a specified date. diff --git a/src/Application/Interfaces/Infrastructure/Persistence/Repositories/Documents/IDocumentDataRepository.cs b/src/Application/Interfaces/Infrastructure/Persistence/Repositories/Documents/IDocumentDataRepository.cs index 586e6637..4f2dae75 100644 --- a/src/Application/Interfaces/Infrastructure/Persistence/Repositories/Documents/IDocumentDataRepository.cs +++ b/src/Application/Interfaces/Infrastructure/Persistence/Repositories/Documents/IDocumentDataRepository.cs @@ -1,6 +1,6 @@ using BB84.EntityFrameworkCore.Repositories.Abstractions; -using Domain.Models.Documents; +using Domain.Entities.Documents; namespace Application.Interfaces.Infrastructure.Persistence.Repositories.Documents; @@ -8,5 +8,5 @@ namespace Application.Interfaces.Infrastructure.Persistence.Repositories.Documen /// The interface for the document data entity. /// /// -public interface IDocumentDataRepository : IIdentityRepository +public interface IDocumentDataRepository : IIdentityRepository { } diff --git a/src/Application/Interfaces/Infrastructure/Persistence/Repositories/Documents/IDocumentExtensionRepository.cs b/src/Application/Interfaces/Infrastructure/Persistence/Repositories/Documents/IDocumentExtensionRepository.cs index 8ccab9c1..626020ea 100644 --- a/src/Application/Interfaces/Infrastructure/Persistence/Repositories/Documents/IDocumentExtensionRepository.cs +++ b/src/Application/Interfaces/Infrastructure/Persistence/Repositories/Documents/IDocumentExtensionRepository.cs @@ -1,6 +1,6 @@ using BB84.EntityFrameworkCore.Repositories.Abstractions; -using Domain.Models.Documents; +using Domain.Entities.Documents; namespace Application.Interfaces.Infrastructure.Persistence.Repositories.Documents; @@ -8,5 +8,5 @@ namespace Application.Interfaces.Infrastructure.Persistence.Repositories.Documen /// The interface for the document extension entity. /// /// -public interface IDocumentExtensionRepository : IIdentityRepository +public interface IDocumentExtensionRepository : IIdentityRepository { } diff --git a/src/Application/Interfaces/Infrastructure/Persistence/Repositories/Documents/IDocumentRepository.cs b/src/Application/Interfaces/Infrastructure/Persistence/Repositories/Documents/IDocumentRepository.cs index aa8ae4f6..62785b35 100644 --- a/src/Application/Interfaces/Infrastructure/Persistence/Repositories/Documents/IDocumentRepository.cs +++ b/src/Application/Interfaces/Infrastructure/Persistence/Repositories/Documents/IDocumentRepository.cs @@ -1,6 +1,6 @@ using BB84.EntityFrameworkCore.Repositories.Abstractions; -using Domain.Models.Documents; +using Domain.Entities.Documents; namespace Application.Interfaces.Infrastructure.Persistence.Repositories.Documents; @@ -8,5 +8,5 @@ namespace Application.Interfaces.Infrastructure.Persistence.Repositories.Documen /// The interface for the document entity. /// /// -public interface IDocumentRepository : IIdentityRepository +public interface IDocumentRepository : IIdentityRepository { } diff --git a/src/Application/Interfaces/Infrastructure/Persistence/Repositories/IAccountRepository.cs b/src/Application/Interfaces/Infrastructure/Persistence/Repositories/IAccountRepository.cs index 6306056f..6fa28de4 100644 --- a/src/Application/Interfaces/Infrastructure/Persistence/Repositories/IAccountRepository.cs +++ b/src/Application/Interfaces/Infrastructure/Persistence/Repositories/IAccountRepository.cs @@ -1,6 +1,6 @@ using BB84.EntityFrameworkCore.Repositories.Abstractions; -using Domain.Models.Finance; +using Domain.Entities.Finance; namespace Application.Interfaces.Infrastructure.Persistence.Repositories; @@ -8,5 +8,5 @@ namespace Application.Interfaces.Infrastructure.Persistence.Repositories; /// The account repository interface. /// /// -public interface IAccountRepository : IIdentityRepository +public interface IAccountRepository : IIdentityRepository { } diff --git a/src/Application/Interfaces/Infrastructure/Persistence/Repositories/IAttendanceRepository.cs b/src/Application/Interfaces/Infrastructure/Persistence/Repositories/IAttendanceRepository.cs index 9be028c2..c088571d 100644 --- a/src/Application/Interfaces/Infrastructure/Persistence/Repositories/IAttendanceRepository.cs +++ b/src/Application/Interfaces/Infrastructure/Persistence/Repositories/IAttendanceRepository.cs @@ -1,6 +1,6 @@ using BB84.EntityFrameworkCore.Repositories.Abstractions; -using Domain.Models.Attendance; +using Domain.Entities.Attendance; namespace Application.Interfaces.Infrastructure.Persistence.Repositories; @@ -8,5 +8,5 @@ namespace Application.Interfaces.Infrastructure.Persistence.Repositories; /// The attendance repository interface. /// /// -public interface IAttendanceRepository : IIdentityRepository +public interface IAttendanceRepository : IIdentityRepository { } diff --git a/src/Application/Interfaces/Infrastructure/Persistence/Repositories/ICardRepository.cs b/src/Application/Interfaces/Infrastructure/Persistence/Repositories/ICardRepository.cs index cdd6c859..f097a7c1 100644 --- a/src/Application/Interfaces/Infrastructure/Persistence/Repositories/ICardRepository.cs +++ b/src/Application/Interfaces/Infrastructure/Persistence/Repositories/ICardRepository.cs @@ -1,6 +1,6 @@ using BB84.EntityFrameworkCore.Repositories.Abstractions; -using Domain.Models.Finance; +using Domain.Entities.Finance; namespace Application.Interfaces.Infrastructure.Persistence.Repositories; @@ -8,5 +8,5 @@ namespace Application.Interfaces.Infrastructure.Persistence.Repositories; /// The card repository interface. /// /// -public interface ICardRepository : IIdentityRepository +public interface ICardRepository : IIdentityRepository { } diff --git a/src/Application/Interfaces/Infrastructure/Persistence/Repositories/ITransactionRepository.cs b/src/Application/Interfaces/Infrastructure/Persistence/Repositories/ITransactionRepository.cs index 305517eb..95f30d82 100644 --- a/src/Application/Interfaces/Infrastructure/Persistence/Repositories/ITransactionRepository.cs +++ b/src/Application/Interfaces/Infrastructure/Persistence/Repositories/ITransactionRepository.cs @@ -1,6 +1,6 @@ using BB84.EntityFrameworkCore.Repositories.Abstractions; -using Domain.Models.Finance; +using Domain.Entities.Finance; namespace Application.Interfaces.Infrastructure.Persistence.Repositories; @@ -8,5 +8,5 @@ namespace Application.Interfaces.Infrastructure.Persistence.Repositories; /// The transaction repository interface. /// /// -public interface ITransactionRepository : IIdentityRepository +public interface ITransactionRepository : IIdentityRepository { } diff --git a/src/Application/Interfaces/Infrastructure/Persistence/Repositories/Todo/IItemRepository.cs b/src/Application/Interfaces/Infrastructure/Persistence/Repositories/Todo/IItemRepository.cs index 37cf4246..9890be0f 100644 --- a/src/Application/Interfaces/Infrastructure/Persistence/Repositories/Todo/IItemRepository.cs +++ b/src/Application/Interfaces/Infrastructure/Persistence/Repositories/Todo/IItemRepository.cs @@ -1,6 +1,6 @@ using BB84.EntityFrameworkCore.Repositories.Abstractions; -using Domain.Models.Todo; +using Domain.Entities.Todo; namespace Application.Interfaces.Infrastructure.Persistence.Repositories.Todo; @@ -8,5 +8,5 @@ namespace Application.Interfaces.Infrastructure.Persistence.Repositories.Todo; /// The interface for the todo item repository. /// /// -public interface IItemRepository : IIdentityRepository +public interface IItemRepository : IIdentityRepository { } diff --git a/src/Application/Interfaces/Infrastructure/Persistence/Repositories/Todo/IListRepository.cs b/src/Application/Interfaces/Infrastructure/Persistence/Repositories/Todo/IListRepository.cs index 3fde7c21..729426a7 100644 --- a/src/Application/Interfaces/Infrastructure/Persistence/Repositories/Todo/IListRepository.cs +++ b/src/Application/Interfaces/Infrastructure/Persistence/Repositories/Todo/IListRepository.cs @@ -1,6 +1,6 @@ using BB84.EntityFrameworkCore.Repositories.Abstractions; -using Domain.Models.Todo; +using Domain.Entities.Todo; namespace Application.Interfaces.Infrastructure.Persistence.Repositories.Todo; @@ -8,5 +8,5 @@ namespace Application.Interfaces.Infrastructure.Persistence.Repositories.Todo; /// Theinterface for the todo list repository. /// /// -public interface IListRepository : IIdentityRepository +public interface IListRepository : IIdentityRepository { } diff --git a/src/Application/Profiles/Requests/AttendanceRequestProfile.cs b/src/Application/Profiles/Requests/AttendanceRequestProfile.cs index 0a10a76b..71fac931 100644 --- a/src/Application/Profiles/Requests/AttendanceRequestProfile.cs +++ b/src/Application/Profiles/Requests/AttendanceRequestProfile.cs @@ -2,7 +2,7 @@ using AutoMapper; -using Domain.Models.Attendance; +using Domain.Entities.Attendance; namespace Application.Profiles.Requests; @@ -14,7 +14,7 @@ internal sealed class AttendanceRequestProfile : Profile { public AttendanceRequestProfile() { - CreateMap(); - CreateMap(); + CreateMap(); + CreateMap(); } } diff --git a/src/Application/Profiles/Requests/DocumentsRequestProfile.cs b/src/Application/Profiles/Requests/DocumentsRequestProfile.cs index 28f67436..a22e9821 100644 --- a/src/Application/Profiles/Requests/DocumentsRequestProfile.cs +++ b/src/Application/Profiles/Requests/DocumentsRequestProfile.cs @@ -2,7 +2,7 @@ using AutoMapper; -using Domain.Models.Documents; +using Domain.Entities.Documents; namespace Application.Profiles.Requests; @@ -14,7 +14,7 @@ internal sealed class DocumentsRequestProfile : Profile { public DocumentsRequestProfile() { - CreateMap(); - CreateMap(); + CreateMap(); + CreateMap(); } } diff --git a/src/Application/Profiles/Requests/FinanceRequestProfile.cs b/src/Application/Profiles/Requests/FinanceRequestProfile.cs index 781df05b..8ce583ef 100644 --- a/src/Application/Profiles/Requests/FinanceRequestProfile.cs +++ b/src/Application/Profiles/Requests/FinanceRequestProfile.cs @@ -2,7 +2,7 @@ using AutoMapper; -using Domain.Models.Finance; +using Domain.Entities.Finance; namespace Application.Profiles.Requests; @@ -14,13 +14,13 @@ internal sealed class FinanceRequestProfile : Profile { public FinanceRequestProfile() { - CreateMap(); - CreateMap(); + CreateMap(); + CreateMap(); - CreateMap(); - CreateMap(); + CreateMap(); + CreateMap(); - CreateMap(); - CreateMap(); + CreateMap(); + CreateMap(); } } diff --git a/src/Application/Profiles/Requests/IdentityRequestProfile.cs b/src/Application/Profiles/Requests/IdentityRequestProfile.cs index a4534ed2..0d84fb93 100644 --- a/src/Application/Profiles/Requests/IdentityRequestProfile.cs +++ b/src/Application/Profiles/Requests/IdentityRequestProfile.cs @@ -2,6 +2,7 @@ using AutoMapper; +using Domain.Entities.Identity; using Domain.Models.Identity; namespace Application.Profiles.Requests; diff --git a/src/Application/Profiles/Requests/TodoRequestProfile.cs b/src/Application/Profiles/Requests/TodoRequestProfile.cs index 7c4c602c..4e6ed6c0 100644 --- a/src/Application/Profiles/Requests/TodoRequestProfile.cs +++ b/src/Application/Profiles/Requests/TodoRequestProfile.cs @@ -6,7 +6,7 @@ using BB84.Extensions; -using Domain.Models.Todo; +using Domain.Entities.Todo; namespace Application.Profiles.Requests; @@ -18,12 +18,12 @@ internal sealed class TodoRequestProfile : Profile { public TodoRequestProfile() { - CreateMap() + CreateMap() .ForMember(t => t.Color, o => o.MapFrom(s => MapColor(s.Color))); - CreateMap() + CreateMap() .ForMember(t => t.Color, o => o.MapFrom(s => MapColor(s.Color))); - CreateMap(); - CreateMap(); + CreateMap(); + CreateMap(); } private static Color? MapColor(string? color) diff --git a/src/Application/Profiles/Responses/AttendanceResponseProfile.cs b/src/Application/Profiles/Responses/AttendanceResponseProfile.cs index 5c1b970d..a036b785 100644 --- a/src/Application/Profiles/Responses/AttendanceResponseProfile.cs +++ b/src/Application/Profiles/Responses/AttendanceResponseProfile.cs @@ -2,8 +2,8 @@ using AutoMapper; +using Domain.Entities.Attendance; using Domain.Extensions; -using Domain.Models.Attendance; namespace Application.Profiles.Responses; @@ -15,7 +15,7 @@ internal sealed class AttendanceResponseProfile : Profile { public AttendanceResponseProfile() { - CreateMap() + CreateMap() .ForMember(dest => dest.WorkingHours, opt => opt.MapFrom(src => src.GetResultingWorkingHours())); } } \ No newline at end of file diff --git a/src/Application/Profiles/Responses/DocumentsResponseProfile.cs b/src/Application/Profiles/Responses/DocumentsResponseProfile.cs index 3c9773a9..5e8490c8 100644 --- a/src/Application/Profiles/Responses/DocumentsResponseProfile.cs +++ b/src/Application/Profiles/Responses/DocumentsResponseProfile.cs @@ -2,7 +2,7 @@ using AutoMapper; -using Domain.Models.Documents; +using Domain.Entities.Documents; namespace Application.Profiles.Responses; @@ -14,7 +14,7 @@ internal sealed class DocumentsResponseProfile : Profile { public DocumentsResponseProfile() { - CreateMap() + CreateMap() .ForMember(dest => dest.MD5Hash, opt => opt.MapFrom(src => HasData(src) ? src.Data.MD5Hash : default)) .ForMember(dest => dest.Length, opt => opt.MapFrom(src => HasData(src) ? src.Data.Length : default)) .ForMember(dest => dest.Content, opt => opt.MapFrom(src => HasData(src) ? src.Data.Content : default)) @@ -22,9 +22,9 @@ public DocumentsResponseProfile() .ForMember(dest => dest.MimeType, opt => opt.MapFrom(src => HasExtension(src) ? src.Extension.MimeType : default)); } - private static bool HasData(Document document) + private static bool HasData(DocumentEntity document) => document.Data is not null; - private static bool HasExtension(Document document) + private static bool HasExtension(DocumentEntity document) => document.Extension is not null; } diff --git a/src/Application/Profiles/Responses/FinanceResponseProfile.cs b/src/Application/Profiles/Responses/FinanceResponseProfile.cs index e970793a..0205c1a1 100644 --- a/src/Application/Profiles/Responses/FinanceResponseProfile.cs +++ b/src/Application/Profiles/Responses/FinanceResponseProfile.cs @@ -2,7 +2,7 @@ using AutoMapper; -using Domain.Models.Finance; +using Domain.Entities.Finance; namespace Application.Profiles.Responses; @@ -14,8 +14,8 @@ internal sealed class FinanceResponseProfile : Profile { public FinanceResponseProfile() { - CreateMap(); - CreateMap(); - CreateMap(); + CreateMap(); + CreateMap(); + CreateMap(); } } diff --git a/src/Application/Profiles/Responses/IdentityResponseProfile.cs b/src/Application/Profiles/Responses/IdentityResponseProfile.cs index e4d03edc..6b59cd4a 100644 --- a/src/Application/Profiles/Responses/IdentityResponseProfile.cs +++ b/src/Application/Profiles/Responses/IdentityResponseProfile.cs @@ -2,6 +2,7 @@ using AutoMapper; +using Domain.Entities.Identity; using Domain.Models.Identity; namespace Application.Profiles.Responses; diff --git a/src/Application/Profiles/Responses/TodoResponseProfile.cs b/src/Application/Profiles/Responses/TodoResponseProfile.cs index f5291e5c..b19adf2f 100644 --- a/src/Application/Profiles/Responses/TodoResponseProfile.cs +++ b/src/Application/Profiles/Responses/TodoResponseProfile.cs @@ -6,7 +6,7 @@ using BB84.Extensions; -using Domain.Models.Todo; +using Domain.Entities.Todo; namespace Application.Profiles.Responses; @@ -18,8 +18,8 @@ internal sealed class TodoResponseProfile : Profile { public TodoResponseProfile() { - CreateMap(); - CreateMap() + CreateMap(); + CreateMap() .ForMember(t => t.Color, o => o.MapFrom(s => MapColor(s.Color))); } diff --git a/src/Application/Services/Attendance/AttendanceService.cs b/src/Application/Services/Attendance/AttendanceService.cs index 941f30d8..39ec8312 100644 --- a/src/Application/Services/Attendance/AttendanceService.cs +++ b/src/Application/Services/Attendance/AttendanceService.cs @@ -11,8 +11,8 @@ using BB84.Extensions; +using Domain.Entities.Attendance; using Domain.Errors; -using Domain.Models.Attendance; using Domain.Results; using Microsoft.Extensions.Logging; @@ -34,14 +34,14 @@ public async Task> Create(Guid id, AttendanceCreateRequest requ { try { - AttendanceModel? entity = await repositoryService.AttendanceRepository + AttendanceEntity? entity = await repositoryService.AttendanceRepository .GetByConditionAsync(expression: x => x.UserId.Equals(id) && x.Date.Equals(request.Date), token: token) .ConfigureAwait(false); if (entity is not null) return AttendanceServiceErrors.CreateConflict(request.Date); - AttendanceModel newEntity = mapper.Map(request); + AttendanceEntity newEntity = mapper.Map(request); newEntity.UserId = id; await repositoryService.AttendanceRepository.CreateAsync(newEntity, token) @@ -64,18 +64,18 @@ public async Task> CreateMultiple(Guid id, IEnumerable entities = await repositoryService.AttendanceRepository + IEnumerable entities = await repositoryService.AttendanceRepository .GetManyByConditionAsync(expression: x => x.UserId.Equals(id) && requests.Select(x => x.Date).Contains(x.Date), token: token) .ConfigureAwait(false); if (entities.Any()) return AttendanceServiceErrors.CreateMultipleConflict(entities.Select(x => x.Date)); - List newEntities = []; + List newEntities = []; foreach (AttendanceCreateRequest request in requests) { - AttendanceModel newAttendance = mapper.Map(request); + AttendanceEntity newAttendance = mapper.Map(request); newAttendance.UserId = id; newEntities.Add(newAttendance); } @@ -100,7 +100,7 @@ public async Task> DeleteById(Guid id, CancellationToken token { try { - AttendanceModel? entity = await repositoryService.AttendanceRepository + AttendanceEntity? entity = await repositoryService.AttendanceRepository .GetByIdAsync(id, token: token) .ConfigureAwait(false); @@ -127,7 +127,7 @@ public async Task> DeleteByIds(IEnumerable ids, Cancellat { try { - IEnumerable entities = await repositoryService.AttendanceRepository + IEnumerable entities = await repositoryService.AttendanceRepository .GetByIdsAsync(ids, token: token) .ConfigureAwait(false); @@ -155,7 +155,7 @@ public async Task>> GetPagedByParameters( { try { - IEnumerable attendances = await repositoryService.AttendanceRepository + IEnumerable attendances = await repositoryService.AttendanceRepository .GetManyByConditionAsync( expression: x => x.UserId.Equals(userId), queryFilter: x => x.FilterByParameters(parameters), @@ -187,7 +187,7 @@ public async Task> GetByDate(Guid userId, DateTime d { try { - AttendanceModel? attendanceEntry = await repositoryService.AttendanceRepository + AttendanceEntity? attendanceEntry = await repositoryService.AttendanceRepository .GetByConditionAsync(expression: x => x.UserId.Equals(userId) && x.Date.Equals(date.Date), token: token) .ConfigureAwait(false); @@ -210,7 +210,7 @@ public async Task> Update(AttendanceUpdateRequest request, Canc { try { - AttendanceModel? entity = await repositoryService.AttendanceRepository + AttendanceEntity? entity = await repositoryService.AttendanceRepository .GetByIdAsync(request.Id, trackChanges: true, token: token) .ConfigureAwait(false); @@ -235,14 +235,14 @@ public async Task> UpdateMultiple(IEnumerable entities = await repositoryService.AttendanceRepository + IEnumerable entities = await repositoryService.AttendanceRepository .GetByIdsAsync(requests.Select(x => x.Id), trackChanges: true, token: token) .ConfigureAwait(false); if (entities.Any().IsFalse()) return AttendanceServiceErrors.GetByIdsNotFound(requests.Select(x => x.Id)); - foreach (AttendanceModel entity in entities) + foreach (AttendanceEntity entity in entities) _ = mapper.Map(requests.Single(x => x.Id.Equals(entity.Id)), entity); _ = await repositoryService.CommitChangesAsync(token) diff --git a/src/Application/Services/Documents/DocumentService.cs b/src/Application/Services/Documents/DocumentService.cs index bcdbb876..f8a20b3c 100644 --- a/src/Application/Services/Documents/DocumentService.cs +++ b/src/Application/Services/Documents/DocumentService.cs @@ -14,8 +14,8 @@ using BB84.Extensions; using BB84.Extensions.Serialization; +using Domain.Entities.Documents; using Domain.Errors; -using Domain.Models.Documents; using Domain.Results; using Microsoft.Extensions.Logging; @@ -34,7 +34,7 @@ public async Task> Create(Guid userId, DocumentCreateRequest re { try { - Document document = await PrepareDocumentForCreate(userId, request, token) + DocumentEntity document = await PrepareDocumentForCreate(userId, request, token) .ConfigureAwait(false); await repositoryService.DocumentRepository.CreateAsync(document, token) @@ -62,11 +62,11 @@ public async Task> Create(Guid userId, IEnumerable documents = []; + List documents = []; foreach (DocumentCreateRequest request in requests) { - Document document = await PrepareDocumentForCreate(userId, request, token) + DocumentEntity document = await PrepareDocumentForCreate(userId, request, token) .ConfigureAwait(false); documents.Add(document); @@ -94,7 +94,7 @@ public async Task> DeleteById(Guid id, CancellationToken token { try { - Document? document = await repositoryService.DocumentRepository + DocumentEntity? document = await repositoryService.DocumentRepository .GetByIdAsync(id, token: token) .ConfigureAwait(false); @@ -120,7 +120,7 @@ public async Task> DeleteByIds(Guid userId, IEnumerable i { try { - IEnumerable documents = await repositoryService.DocumentRepository + IEnumerable documents = await repositoryService.DocumentRepository .GetManyByConditionAsync( expression: x => x.UserId.Equals(userId) && ids.Contains(x.Id), token: token) @@ -148,8 +148,8 @@ public async Task> GetById(Guid id, CancellationToken { try { - Document? document = await repositoryService.DocumentRepository - .GetByIdAsync(id, token: token, includeProperties: [nameof(Document.Data), nameof(Document.Extension)]) + DocumentEntity? document = await repositoryService.DocumentRepository + .GetByIdAsync(id, token: token, includeProperties: [nameof(DocumentEntity.Data), nameof(DocumentEntity.Extension)]) .ConfigureAwait(false); if (document is null) @@ -170,7 +170,7 @@ public async Task>> GetPagedByParameters(Gu { try { - IEnumerable documents = await repositoryService.DocumentRepository + IEnumerable documents = await repositoryService.DocumentRepository .GetManyByConditionAsync( expression: x => x.UserId.Equals(userId), queryFilter: x => x.FilterByParameters(parameters), @@ -203,8 +203,8 @@ public async Task> Update(DocumentUpdateRequest request, Cancel { try { - Document? document = await repositoryService.DocumentRepository - .GetByIdAsync(request.Id, default, true, token, [nameof(Document.Extension), nameof(Document.Data)]) + DocumentEntity? document = await repositoryService.DocumentRepository + .GetByIdAsync(request.Id, default, true, token, [nameof(DocumentEntity.Extension), nameof(DocumentEntity.Data)]) .ConfigureAwait(false); if (document is null) @@ -233,18 +233,18 @@ public async Task> Update(Guid userId, IEnumerable documents = await repositoryService.DocumentRepository + IEnumerable documents = await repositoryService.DocumentRepository .GetManyByConditionAsync( expression: x => x.UserId.Equals(userId) && requests.Select(x => x.Id).Contains(x.Id), trackChanges: true, token: token, - includeProperties: [nameof(Document.Extension), nameof(Document.Data)]) + includeProperties: [nameof(DocumentEntity.Extension), nameof(DocumentEntity.Data)]) .ConfigureAwait(false); if (documents.Any().IsFalse()) return DocumentServiceErrors.UpdateByIdsNotFound(requests.Select(x => x.Id)); - foreach (Document document in documents) + foreach (DocumentEntity document in documents) { DocumentUpdateRequest request = requests.Single(x => x.Id.Equals(document.Id)); @@ -265,15 +265,15 @@ public async Task> Update(Guid userId, IEnumerable PrepareDocumentForCreate(Guid userId, DocumentCreateRequest request, CancellationToken token) + private async Task PrepareDocumentForCreate(Guid userId, DocumentCreateRequest request, CancellationToken token) { - Data data = await PrepareDocumentData(request, token) + DataEntity data = await PrepareDocumentData(request, token) .ConfigureAwait(false); - Extension extension = await PrepareDocumentExtension(request, token) + ExtensionEntity extension = await PrepareDocumentExtension(request, token) .ConfigureAwait(false); - Document document = mapper.Map(request); + DocumentEntity document = mapper.Map(request); document.UserId = userId; document.Extension = extension; document.Data = data; @@ -281,17 +281,17 @@ private async Task PrepareDocumentForCreate(Guid userId, DocumentCreat return document; } - private async Task PrepareDocumentForUpdate(Document document, DocumentUpdateRequest request, CancellationToken token) + private async Task PrepareDocumentForUpdate(DocumentEntity document, DocumentUpdateRequest request, CancellationToken token) { _ = mapper.Map(request, document); - Data data = await PrepareDocumentData(request, token) + DataEntity data = await PrepareDocumentData(request, token) .ConfigureAwait(false); if (document.Data.Id.Equals(data.Id).IsFalse()) document.Data = data; - Extension extension = await PrepareDocumentExtension(request, token) + ExtensionEntity extension = await PrepareDocumentExtension(request, token) .ConfigureAwait(false); if (document.Extension.Id.Equals(extension.Id).IsFalse()) @@ -300,9 +300,9 @@ private async Task PrepareDocumentForUpdate(Document document, Documen return document; } - private async Task PrepareDocumentExtension(DocumentBaseRequest request, CancellationToken token) + private async Task PrepareDocumentExtension(DocumentBaseRequest request, CancellationToken token) { - Extension? extension = await repositoryService.DocumentExtensionRepository + ExtensionEntity? extension = await repositoryService.DocumentExtensionRepository .GetByConditionAsync(x => x.Name == request.ExtensionName, token: token) .ConfigureAwait(false); @@ -315,11 +315,11 @@ private async Task PrepareDocumentExtension(DocumentBaseRequest reque return extension; } - private async Task PrepareDocumentData(DocumentBaseRequest request, CancellationToken token) + private async Task PrepareDocumentData(DocumentBaseRequest request, CancellationToken token) { byte[] md5Hash = request.Content.GetMD5(); - Data? data = await repositoryService.DocumentDataRepository + DataEntity? data = await repositoryService.DocumentDataRepository .GetByConditionAsync(x => x.MD5Hash.SequenceEqual(md5Hash), token: token) .ConfigureAwait(false); diff --git a/src/Application/Services/Finance/AccountService.cs b/src/Application/Services/Finance/AccountService.cs index d24a0213..3dbcd198 100644 --- a/src/Application/Services/Finance/AccountService.cs +++ b/src/Application/Services/Finance/AccountService.cs @@ -6,8 +6,8 @@ using AutoMapper; +using Domain.Entities.Finance; using Domain.Errors; -using Domain.Models.Finance; using Domain.Results; using Microsoft.Extensions.Logging; @@ -29,7 +29,7 @@ public async Task> Create(Guid id, AccountCreateRequest request { try { - AccountModel? accountEntity = await repositoryService.AccountRepository + AccountEntity? accountEntity = await repositoryService.AccountRepository .GetByConditionAsync(expression: x => x.IBAN == request.IBAN, token: token) .ConfigureAwait(false); @@ -40,7 +40,7 @@ public async Task> Create(Guid id, AccountCreateRequest request { foreach (CardCreateRequest cardRequest in request.Cards) { - CardModel? cardEntity = await repositoryService.CardRepository + CardEntity? cardEntity = await repositoryService.CardRepository .GetByConditionAsync(expression: x => x.PAN == cardRequest.PAN, token: token) .ConfigureAwait(false); @@ -49,11 +49,11 @@ public async Task> Create(Guid id, AccountCreateRequest request } } - AccountModel account = mapper.Map(request); + AccountEntity account = mapper.Map(request); if (account.Cards is not null && account.Cards.Count > 0) { - foreach (CardModel card in account.Cards) + foreach (CardEntity card in account.Cards) card.UserId = id; } @@ -78,7 +78,7 @@ public async Task> Delete(Guid id, CancellationToken token = de { try { - AccountModel? accountEntity = await repositoryService.AccountRepository + AccountEntity? accountEntity = await repositoryService.AccountRepository .GetByIdAsync(id, token: token) .ConfigureAwait(false); @@ -105,8 +105,8 @@ public async Task> GetById(Guid id, CancellationToken t { try { - AccountModel? accountEntity = await repositoryService.AccountRepository - .GetByIdAsync(id, token: token, includeProperties: nameof(AccountModel.Cards)) + AccountEntity? accountEntity = await repositoryService.AccountRepository + .GetByIdAsync(id, token: token, includeProperties: nameof(AccountEntity.Cards)) .ConfigureAwait(false); if (accountEntity is null) @@ -127,7 +127,7 @@ public async Task>> GetByUserId(Guid id, Ca { try { - IEnumerable accountEntities = await repositoryService.AccountRepository + IEnumerable accountEntities = await repositoryService.AccountRepository .GetManyByConditionAsync(x => x.AccountUsers.Select(x => x.UserId).Contains(id), token: token) .ConfigureAwait(false); @@ -146,7 +146,7 @@ public async Task> Update(Guid id, AccountUpdateRequest request { try { - AccountModel? account = await repositoryService.AccountRepository + AccountEntity? account = await repositoryService.AccountRepository .GetByIdAsync(id, trackChanges: true, token: token) .ConfigureAwait(false); diff --git a/src/Application/Services/Finance/CardService.cs b/src/Application/Services/Finance/CardService.cs index 0bd66d36..1a2a86d8 100644 --- a/src/Application/Services/Finance/CardService.cs +++ b/src/Application/Services/Finance/CardService.cs @@ -6,8 +6,8 @@ using AutoMapper; +using Domain.Entities.Finance; using Domain.Errors; -using Domain.Models.Finance; using Domain.Results; using Microsoft.Extensions.Logging; @@ -29,21 +29,21 @@ public async Task> Create(Guid userId, Guid accountId, CardCrea { try { - AccountModel? accountEntity = await repositoryService.AccountRepository + AccountEntity? accountEntity = await repositoryService.AccountRepository .GetByIdAsync(accountId, token: token) .ConfigureAwait(false); if (accountEntity is null) return CardServiceErrors.CreateAccountIdNotFound(accountId); - CardModel? cardEntity = await repositoryService.CardRepository + CardEntity? cardEntity = await repositoryService.CardRepository .GetByConditionAsync(x => x.PAN == request.PAN, token: token) .ConfigureAwait(false); if (cardEntity is not null) return CardServiceErrors.CreateNumberConflict(request.PAN); - CardModel newCard = mapper.Map(request); + CardEntity newCard = mapper.Map(request); newCard.UserId = userId; newCard.AccountId = accountId; @@ -68,7 +68,7 @@ public async Task> Delete(Guid id, CancellationToken token = de { try { - CardModel? cardEntity = await repositoryService.CardRepository + CardEntity? cardEntity = await repositoryService.CardRepository .GetByIdAsync(id, token: token) .ConfigureAwait(false); @@ -94,7 +94,7 @@ public async Task> GetById(Guid id, CancellationToken toke { try { - CardModel? cardEntity = await repositoryService.CardRepository + CardEntity? cardEntity = await repositoryService.CardRepository .GetByIdAsync(id, token: token) .ConfigureAwait(false); @@ -116,7 +116,7 @@ public async Task>> GetByUserId(Guid id, Cance { try { - IEnumerable cardEntries = await repositoryService.CardRepository + IEnumerable cardEntries = await repositoryService.CardRepository .GetManyByConditionAsync(x => x.UserId.Equals(id), token: token) .ConfigureAwait(false); @@ -135,7 +135,7 @@ public async Task> Update(Guid id, CardUpdateRequest request, C { try { - CardModel? cardEntity = await repositoryService.CardRepository + CardEntity? cardEntity = await repositoryService.CardRepository .GetByIdAsync(id, trackChanges: true, token: token) .ConfigureAwait(false); diff --git a/src/Application/Services/Finance/TransactionService.cs b/src/Application/Services/Finance/TransactionService.cs index 5d5ddacb..8196bdd5 100644 --- a/src/Application/Services/Finance/TransactionService.cs +++ b/src/Application/Services/Finance/TransactionService.cs @@ -9,8 +9,8 @@ using AutoMapper; +using Domain.Entities.Finance; using Domain.Errors; -using Domain.Models.Finance; using Domain.Results; using Microsoft.Extensions.Logging; @@ -32,14 +32,14 @@ public async Task> CreateByAccountId(Guid accountId, Transactio { try { - AccountModel? accountEntity = await repositoryService.AccountRepository + AccountEntity? accountEntity = await repositoryService.AccountRepository .GetByIdAsync(accountId, token: token) .ConfigureAwait(false); if (accountEntity is null) return TransactionServiceErrors.CreateByAccountIdNotFound(accountId); - TransactionModel transaction = mapper.Map(request); + TransactionEntity transaction = mapper.Map(request); transaction.AccountTransactions = [new() { Account = accountEntity, Transaction = transaction }]; @@ -62,14 +62,14 @@ public async Task> CreateByCardId(Guid cardId, TransactionCreat { try { - CardModel? cardEntity = await repositoryService.CardRepository + CardEntity? cardEntity = await repositoryService.CardRepository .GetByIdAsync(cardId, token: token) .ConfigureAwait(false); if (cardEntity is null) return TransactionServiceErrors.CreateByCardIdNotFound(cardId); - TransactionModel transaction = mapper.Map(request); + TransactionEntity transaction = mapper.Map(request); transaction.CardTransactions = [new() { Card = cardEntity, Transaction = transaction }]; @@ -92,7 +92,7 @@ public async Task> DeleteByAccountId(Guid accountId, Guid id, C { try { - TransactionModel? entity = await repositoryService.TransactionRepository + TransactionEntity? entity = await repositoryService.TransactionRepository .GetByConditionAsync(x => x.Id.Equals(id) && x.AccountTransactions.Select(x => x.AccountId).Contains(accountId), token: token) .ConfigureAwait(false); @@ -120,7 +120,7 @@ public async Task> DeleteByCardId(Guid cardId, Guid id, Cancell { try { - TransactionModel? entity = await repositoryService.TransactionRepository + TransactionEntity? entity = await repositoryService.TransactionRepository .GetByConditionAsync(x => x.Id.Equals(id) && x.CardTransactions.Select(x => x.CardId).Contains(cardId), token: token) .ConfigureAwait(false); @@ -148,7 +148,7 @@ public async Task> GetByAccountId(Guid accountId, G { try { - TransactionModel? entity = await repositoryService.TransactionRepository + TransactionEntity? entity = await repositoryService.TransactionRepository .GetByConditionAsync(x => x.Id.Equals(id) && x.AccountTransactions.Select(x => x.AccountId).Contains(accountId), token: token) .ConfigureAwait(false); @@ -171,7 +171,7 @@ public async Task> GetByCardId(Guid cardId, Guid id { try { - TransactionModel? entity = await repositoryService.TransactionRepository + TransactionEntity? entity = await repositoryService.TransactionRepository .GetByConditionAsync(x => x.Id.Equals(id) && x.CardTransactions.Select(x => x.CardId).Contains(cardId), token: token) .ConfigureAwait(false); @@ -194,7 +194,7 @@ public async Task>> GetPagedByAccountId( { try { - IEnumerable entities = await repositoryService.TransactionRepository + IEnumerable entities = await repositoryService.TransactionRepository .GetManyByConditionAsync( expression: x => x.AccountTransactions.Select(x => x.AccountId).Contains(id), queryFilter: x => x.FilterByParameters(parameters), @@ -226,7 +226,7 @@ public async Task>> GetPagedByCardId(Gui { try { - IEnumerable entities = await repositoryService.TransactionRepository + IEnumerable entities = await repositoryService.TransactionRepository .GetManyByConditionAsync( expression: x => x.CardTransactions.Select(x => x.CardId).Contains(id), queryFilter: x => x.FilterByParameters(parameters), @@ -258,7 +258,7 @@ public async Task> UpdateByAccountId(Guid accountId, Guid id, T { try { - TransactionModel? entity = await repositoryService.TransactionRepository + TransactionEntity? entity = await repositoryService.TransactionRepository .GetByConditionAsync(x => x.Id.Equals(id) && x.AccountTransactions.Select(x => x.AccountId).Contains(accountId), trackChanges: true, token: token) .ConfigureAwait(false); @@ -284,7 +284,7 @@ public async Task> UpdateByCardId(Guid cardId, Guid id, Transac { try { - TransactionModel? entity = await repositoryService.TransactionRepository + TransactionEntity? entity = await repositoryService.TransactionRepository .GetByConditionAsync(x => x.Id.Equals(id) && x.CardTransactions.Select(x => x.CardId).Contains(cardId), trackChanges: true, token: token) .ConfigureAwait(false); diff --git a/src/Application/Services/Todo/TodoService.cs b/src/Application/Services/Todo/TodoService.cs index a22dc1d8..98f81b9c 100644 --- a/src/Application/Services/Todo/TodoService.cs +++ b/src/Application/Services/Todo/TodoService.cs @@ -6,8 +6,8 @@ using AutoMapper; +using Domain.Entities.Todo; using Domain.Errors; -using Domain.Models.Todo; using Domain.Results; using Microsoft.Extensions.Logging; @@ -29,7 +29,7 @@ public async Task> CreateListByUserId(Guid userId, ListCreateRe { try { - List list = MapFromRequest(request); + ListEntity list = MapFromRequest(request); list.UserId = userId; await repositoryService.TodoListRepository.CreateAsync(list, token) @@ -51,14 +51,14 @@ public async Task> CreateItemByListId(Guid listId, ItemCreateRe { try { - List? list = await repositoryService.TodoListRepository + ListEntity? list = await repositoryService.TodoListRepository .GetByIdAsync(listId, token: token) .ConfigureAwait(false); if (list is null) return TodoServiceErrors.GetListByIdNotFound(listId); - Item item = MapFromRequest(request); + ItemEntity item = MapFromRequest(request); item.ListId = listId; await repositoryService.TodoItemRepository.CreateAsync(item, token) @@ -80,7 +80,7 @@ public async Task> DeleteListById(Guid listId, CancellationToke { try { - List? listEntity = await repositoryService.TodoListRepository + ListEntity? listEntity = await repositoryService.TodoListRepository .GetByIdAsync(listId, token: token) .ConfigureAwait(false); @@ -107,7 +107,7 @@ public async Task> DeleteItemById(Guid itemId, CancellationToke { try { - Item? itemEntity = await repositoryService.TodoItemRepository + ItemEntity? itemEntity = await repositoryService.TodoItemRepository .GetByIdAsync(itemId, token: token) .ConfigureAwait(false); @@ -134,8 +134,8 @@ public async Task> GetListById(Guid listId, CancellationTo { try { - List? todoList = await repositoryService.TodoListRepository - .GetByIdAsync(listId, token: token, includeProperties: nameof(List.Items)) + ListEntity? todoList = await repositoryService.TodoListRepository + .GetByIdAsync(listId, token: token, includeProperties: nameof(ListEntity.Items)) .ConfigureAwait(false); if (todoList is null) @@ -156,7 +156,7 @@ public async Task>> GetListsByUserId(Guid user { try { - IEnumerable todoLists = await repositoryService.TodoListRepository + IEnumerable todoLists = await repositoryService.TodoListRepository .GetManyByConditionAsync(expression: x => x.UserId.Equals(userId), token: token) .ConfigureAwait(false); @@ -175,7 +175,7 @@ public async Task> UpdateListById(Guid listId, ListUpdateReques { try { - List? list = await repositoryService.TodoListRepository + ListEntity? list = await repositoryService.TodoListRepository .GetByIdAsync(listId, trackChanges: true, token: token) .ConfigureAwait(false); @@ -200,7 +200,7 @@ public async Task> UpdateItemById(Guid itemId, ItemUpdateReques { try { - Item? item = await repositoryService.TodoItemRepository + ItemEntity? item = await repositoryService.TodoItemRepository .GetByIdAsync(itemId, trackChanges: true, token: token) .ConfigureAwait(false); @@ -221,21 +221,21 @@ public async Task> UpdateItemById(Guid itemId, ItemUpdateReques } } - private List MapFromRequest(ListCreateRequest request) - => mapper.Map(request); + private ListEntity MapFromRequest(ListCreateRequest request) + => mapper.Map(request); - private Item MapFromRequest(ItemCreateRequest request) - => mapper.Map(request); + private ItemEntity MapFromRequest(ItemCreateRequest request) + => mapper.Map(request); - private ListResponse MapToResponse(List list) + private ListResponse MapToResponse(ListEntity list) => mapper.Map(list); - private IEnumerable MapToResponse(IEnumerable lists) + private IEnumerable MapToResponse(IEnumerable lists) => lists.Select(MapToResponse); - private List MapFromRequest(ListUpdateRequest request, List list) + private ListEntity MapFromRequest(ListUpdateRequest request, ListEntity list) => mapper.Map(request, list); - private Item MapFromRequest(ItemUpdateRequest request, Item item) + private ItemEntity MapFromRequest(ItemUpdateRequest request, ItemEntity item) => mapper.Map(request, item); } diff --git a/src/Domain/Domain.csproj b/src/Domain/Domain.csproj index 1113c351..949b502b 100644 --- a/src/Domain/Domain.csproj +++ b/src/Domain/Domain.csproj @@ -1,7 +1,7 @@  - + diff --git a/src/Domain/Models/Attendance/AttendanceModel.cs b/src/Domain/Entities/Attendance/AttendanceEntity.cs similarity index 81% rename from src/Domain/Models/Attendance/AttendanceModel.cs rename to src/Domain/Entities/Attendance/AttendanceEntity.cs index 5287f3ec..bd3b00b3 100644 --- a/src/Domain/Models/Attendance/AttendanceModel.cs +++ b/src/Domain/Entities/Attendance/AttendanceEntity.cs @@ -1,17 +1,14 @@ -using BB84.EntityFrameworkCore.Models; +using BB84.EntityFrameworkCore.Entities; using Domain.Enumerators.Attendance; using Domain.Models.Identity; -namespace Domain.Models.Attendance; +namespace Domain.Entities.Attendance; /// /// The attendance entity class. /// -/// -/// Derives from the class. -/// -public sealed class AttendanceModel : AuditedModel +public sealed class AttendanceEntity : AuditedEntity { /// /// The property. diff --git a/src/Domain/Models/Documents/Data.cs b/src/Domain/Entities/Documents/DataEntity.cs similarity index 72% rename from src/Domain/Models/Documents/Data.cs rename to src/Domain/Entities/Documents/DataEntity.cs index 3c20bc71..2b93971c 100644 --- a/src/Domain/Models/Documents/Data.cs +++ b/src/Domain/Entities/Documents/DataEntity.cs @@ -1,11 +1,11 @@ -using BB84.EntityFrameworkCore.Models; +using BB84.EntityFrameworkCore.Entities; -namespace Domain.Models.Documents; +namespace Domain.Entities.Documents; /// /// The document data entity. /// -public sealed class Data : AuditedModel +public sealed class DataEntity : AuditedEntity { /// /// The Message-Digest Algorithm 5 of the data. @@ -25,5 +25,5 @@ public sealed class Data : AuditedModel /// /// The navigational property. /// - public ICollection Documents { get; set; } = default!; + public ICollection Documents { get; set; } = default!; } diff --git a/src/Domain/Models/Documents/Document.cs b/src/Domain/Entities/Documents/DocumentEntity.cs similarity index 85% rename from src/Domain/Models/Documents/Document.cs rename to src/Domain/Entities/Documents/DocumentEntity.cs index acc0fffc..08a99762 100644 --- a/src/Domain/Models/Documents/Document.cs +++ b/src/Domain/Entities/Documents/DocumentEntity.cs @@ -1,14 +1,14 @@ -using BB84.EntityFrameworkCore.Models; +using BB84.EntityFrameworkCore.Entities; using Domain.Enumerators.Documents; using Domain.Models.Identity; -namespace Domain.Models.Documents; +namespace Domain.Entities.Documents; /// /// The document entity class. /// -public sealed class Document : AuditedModel +public sealed class DocumentEntity : AuditedEntity { /// /// The name of the document. @@ -58,12 +58,12 @@ public sealed class Document : AuditedModel /// /// The navigational property. /// - public Extension Extension { get; set; } = default!; + public ExtensionEntity Extension { get; set; } = default!; /// /// The navigational property. /// - public Data Data { get; set; } = default!; + public DataEntity Data { get; set; } = default!; /// /// The navigational property. diff --git a/src/Domain/Models/Documents/Extension.cs b/src/Domain/Entities/Documents/ExtensionEntity.cs similarity index 65% rename from src/Domain/Models/Documents/Extension.cs rename to src/Domain/Entities/Documents/ExtensionEntity.cs index b563d30b..a8e98dcb 100644 --- a/src/Domain/Models/Documents/Extension.cs +++ b/src/Domain/Entities/Documents/ExtensionEntity.cs @@ -1,11 +1,11 @@ -using BB84.EntityFrameworkCore.Models; +using BB84.EntityFrameworkCore.Entities; -namespace Domain.Models.Documents; +namespace Domain.Entities.Documents; /// /// The document extension entity. /// -public sealed class Extension : AuditedModel +public sealed class ExtensionEntity : AuditedEntity { /// /// The name of the document extenion. @@ -20,5 +20,5 @@ public sealed class Extension : AuditedModel /// /// The navigational property. /// - public ICollection Documents { get; set; } = default!; + public ICollection Documents { get; set; } = default!; } diff --git a/src/Domain/Models/Finance/AccountModel.cs b/src/Domain/Entities/Finance/AccountEntity.cs similarity index 66% rename from src/Domain/Models/Finance/AccountModel.cs rename to src/Domain/Entities/Finance/AccountEntity.cs index ba60eb43..3a1d6250 100644 --- a/src/Domain/Models/Finance/AccountModel.cs +++ b/src/Domain/Entities/Finance/AccountEntity.cs @@ -1,14 +1,14 @@ -using BB84.EntityFrameworkCore.Models; +using BB84.EntityFrameworkCore.Entities; using BB84.Extensions; using Domain.Enumerators.Finance; -namespace Domain.Models.Finance; +namespace Domain.Entities.Finance; /// -/// The account model class. +/// The account entity class. /// -public sealed class AccountModel : AuditedModel +public sealed class AccountEntity : AuditedEntity { private string _iban = default!; @@ -38,15 +38,15 @@ public string IBAN /// /// The property. /// - public ICollection AccountUsers { get; set; } = default!; + public ICollection AccountUsers { get; set; } = default!; /// /// The property. /// - public ICollection Transactions { get; set; } = default!; + public ICollection Transactions { get; set; } = default!; /// /// The property. /// - public ICollection Cards { get; set; } = default!; + public ICollection Cards { get; set; } = default!; } diff --git a/src/Domain/Models/Finance/AccountTransactionModel.cs b/src/Domain/Entities/Finance/AccountTransactionEntity.cs similarity index 62% rename from src/Domain/Models/Finance/AccountTransactionModel.cs rename to src/Domain/Entities/Finance/AccountTransactionEntity.cs index 2ed4356b..e2f66ce5 100644 --- a/src/Domain/Models/Finance/AccountTransactionModel.cs +++ b/src/Domain/Entities/Finance/AccountTransactionEntity.cs @@ -1,11 +1,11 @@ -using BB84.EntityFrameworkCore.Models; +using BB84.EntityFrameworkCore.Entities; -namespace Domain.Models.Finance; +namespace Domain.Entities.Finance; /// /// The account transaction model class. /// -public sealed class AccountTransactionModel : AuditedCompositeModel +public sealed class AccountTransactionEntity : AuditedCompositeEntity { /// /// The property. @@ -20,10 +20,10 @@ public sealed class AccountTransactionModel : AuditedCompositeModel /// /// The property. /// - public AccountModel Account { get; set; } = default!; + public AccountEntity Account { get; set; } = default!; /// /// The property. /// - public TransactionModel Transaction { get; set; } = default!; + public TransactionEntity Transaction { get; set; } = default!; } diff --git a/src/Domain/Models/Finance/AccountUserModel.cs b/src/Domain/Entities/Finance/AccountUserEntity.cs similarity index 67% rename from src/Domain/Models/Finance/AccountUserModel.cs rename to src/Domain/Entities/Finance/AccountUserEntity.cs index 9bc3e90f..1c271e73 100644 --- a/src/Domain/Models/Finance/AccountUserModel.cs +++ b/src/Domain/Entities/Finance/AccountUserEntity.cs @@ -1,13 +1,13 @@ -using BB84.EntityFrameworkCore.Models; +using BB84.EntityFrameworkCore.Entities; using Domain.Models.Identity; -namespace Domain.Models.Finance; +namespace Domain.Entities.Finance; /// -/// The account user model class. +/// The account user entity class. /// -public sealed class AccountUserModel : AuditedCompositeModel +public sealed class AccountUserEntity : AuditedCompositeEntity { /// /// The property. @@ -22,7 +22,7 @@ public sealed class AccountUserModel : AuditedCompositeModel /// /// The property. /// - public AccountModel Account { get; set; } = default!; + public AccountEntity Account { get; set; } = default!; /// /// The property. diff --git a/src/Domain/Models/Finance/CardModel.cs b/src/Domain/Entities/Finance/CardEntity.cs similarity index 79% rename from src/Domain/Models/Finance/CardModel.cs rename to src/Domain/Entities/Finance/CardEntity.cs index 0973423e..62b30206 100644 --- a/src/Domain/Models/Finance/CardModel.cs +++ b/src/Domain/Entities/Finance/CardEntity.cs @@ -1,15 +1,15 @@ -using BB84.EntityFrameworkCore.Models; +using BB84.EntityFrameworkCore.Entities; using BB84.Extensions; using Domain.Enumerators.Finance; using Domain.Models.Identity; -namespace Domain.Models.Finance; +namespace Domain.Entities.Finance; /// -/// The card model class. +/// The card entity class. /// -public sealed class CardModel : AuditedModel +public sealed class CardEntity : AuditedEntity { private string _pan = default!; @@ -57,10 +57,10 @@ public string PAN /// /// The property. /// - public AccountModel Account { get; set; } = default!; + public AccountEntity Account { get; set; } = default!; /// /// The property. /// - public ICollection Transactions { get; set; } = default!; + public ICollection Transactions { get; set; } = default!; } diff --git a/src/Domain/Models/Finance/CardTransactionModel.cs b/src/Domain/Entities/Finance/CardTransactionEntity.cs similarity index 57% rename from src/Domain/Models/Finance/CardTransactionModel.cs rename to src/Domain/Entities/Finance/CardTransactionEntity.cs index bde24032..af4f3430 100644 --- a/src/Domain/Models/Finance/CardTransactionModel.cs +++ b/src/Domain/Entities/Finance/CardTransactionEntity.cs @@ -1,11 +1,11 @@ -using BB84.EntityFrameworkCore.Models; +using BB84.EntityFrameworkCore.Entities; -namespace Domain.Models.Finance; +namespace Domain.Entities.Finance; /// -/// The account transaction model class. +/// The account transaction entity class. /// -public sealed class CardTransactionModel : AuditedCompositeModel +public sealed class CardTransactionEntity : AuditedCompositeEntity { /// /// The property. @@ -20,10 +20,10 @@ public sealed class CardTransactionModel : AuditedCompositeModel /// /// The property. /// - public CardModel Card { get; set; } = default!; + public CardEntity Card { get; set; } = default!; /// /// The property. /// - public TransactionModel Transaction { get; set; } = default!; + public TransactionEntity Transaction { get; set; } = default!; } diff --git a/src/Domain/Models/Finance/TransactionModel.cs b/src/Domain/Entities/Finance/TransactionEntity.cs similarity index 82% rename from src/Domain/Models/Finance/TransactionModel.cs rename to src/Domain/Entities/Finance/TransactionEntity.cs index 6c96de7a..df3e8fcc 100644 --- a/src/Domain/Models/Finance/TransactionModel.cs +++ b/src/Domain/Entities/Finance/TransactionEntity.cs @@ -1,11 +1,11 @@ -using BB84.EntityFrameworkCore.Models; +using BB84.EntityFrameworkCore.Entities; -namespace Domain.Models.Finance; +namespace Domain.Entities.Finance; /// -/// The transaction model class. +/// The transaction entity class. /// -public sealed class TransactionModel : AuditedModel +public sealed class TransactionEntity : AuditedEntity { /// /// The property. @@ -65,10 +65,10 @@ public sealed class TransactionModel : AuditedModel /// /// The property. /// - public ICollection AccountTransactions { get; set; } = default!; + public ICollection AccountTransactions { get; set; } = default!; /// /// The property. /// - public ICollection CardTransactions { get; set; } = default!; + public ICollection CardTransactions { get; set; } = default!; } diff --git a/src/Domain/Models/Identity/PreferencesModel.cs b/src/Domain/Entities/Identity/PreferencesModel.cs similarity index 98% rename from src/Domain/Models/Identity/PreferencesModel.cs rename to src/Domain/Entities/Identity/PreferencesModel.cs index 21922d9a..773771bc 100644 --- a/src/Domain/Models/Identity/PreferencesModel.cs +++ b/src/Domain/Entities/Identity/PreferencesModel.cs @@ -6,7 +6,7 @@ using XmlElements = Domain.Common.DomainConstants.Xml.Elements; using XmlNameSpaces = Domain.Common.DomainConstants.Xml.NameSpaces; -namespace Domain.Models.Identity; +namespace Domain.Entities.Identity; /// /// The preferences model class. diff --git a/src/Domain/Models/Identity/RoleClaimModel.cs b/src/Domain/Entities/Identity/RoleClaimModel.cs similarity index 65% rename from src/Domain/Models/Identity/RoleClaimModel.cs rename to src/Domain/Entities/Identity/RoleClaimModel.cs index e9180dda..32f50439 100644 --- a/src/Domain/Models/Identity/RoleClaimModel.cs +++ b/src/Domain/Entities/Identity/RoleClaimModel.cs @@ -1,6 +1,8 @@ -using Microsoft.AspNetCore.Identity; +using Domain.Models.Identity; -namespace Domain.Models.Identity; +using Microsoft.AspNetCore.Identity; + +namespace Domain.Entities.Identity; /// public class RoleClaimModel : IdentityRoleClaim diff --git a/src/Domain/Models/Identity/RoleModel.References.cs b/src/Domain/Entities/Identity/RoleModel.References.cs similarity index 82% rename from src/Domain/Models/Identity/RoleModel.References.cs rename to src/Domain/Entities/Identity/RoleModel.References.cs index 8167e1f5..5fd0f8b5 100644 --- a/src/Domain/Models/Identity/RoleModel.References.cs +++ b/src/Domain/Entities/Identity/RoleModel.References.cs @@ -1,4 +1,6 @@ -namespace Domain.Models.Identity; +using Domain.Entities.Identity; + +namespace Domain.Models.Identity; public partial class RoleModel { diff --git a/src/Domain/Models/Identity/RoleModel.cs b/src/Domain/Entities/Identity/RoleModel.cs similarity index 100% rename from src/Domain/Models/Identity/RoleModel.cs rename to src/Domain/Entities/Identity/RoleModel.cs diff --git a/src/Domain/Models/Identity/UserClaimModel.cs b/src/Domain/Entities/Identity/UserClaimModel.cs similarity index 65% rename from src/Domain/Models/Identity/UserClaimModel.cs rename to src/Domain/Entities/Identity/UserClaimModel.cs index 309f72cb..3be9b6db 100644 --- a/src/Domain/Models/Identity/UserClaimModel.cs +++ b/src/Domain/Entities/Identity/UserClaimModel.cs @@ -1,6 +1,8 @@ -using Microsoft.AspNetCore.Identity; +using Domain.Models.Identity; -namespace Domain.Models.Identity; +using Microsoft.AspNetCore.Identity; + +namespace Domain.Entities.Identity; /// public class UserClaimModel : IdentityUserClaim diff --git a/src/Domain/Models/Identity/UserLoginModel.cs b/src/Domain/Entities/Identity/UserLoginModel.cs similarity index 65% rename from src/Domain/Models/Identity/UserLoginModel.cs rename to src/Domain/Entities/Identity/UserLoginModel.cs index 4ef63f5a..4f67125b 100644 --- a/src/Domain/Models/Identity/UserLoginModel.cs +++ b/src/Domain/Entities/Identity/UserLoginModel.cs @@ -1,6 +1,8 @@ -using Microsoft.AspNetCore.Identity; +using Domain.Models.Identity; -namespace Domain.Models.Identity; +using Microsoft.AspNetCore.Identity; + +namespace Domain.Entities.Identity; /// public class UserLoginModel : IdentityUserLogin diff --git a/src/Domain/Models/Identity/UserModel.References.cs b/src/Domain/Entities/Identity/UserModel.References.cs similarity index 65% rename from src/Domain/Models/Identity/UserModel.References.cs rename to src/Domain/Entities/Identity/UserModel.References.cs index 9df5407a..19c867b7 100644 --- a/src/Domain/Models/Identity/UserModel.References.cs +++ b/src/Domain/Entities/Identity/UserModel.References.cs @@ -1,7 +1,8 @@ -using Domain.Models.Attendance; -using Domain.Models.Documents; -using Domain.Models.Finance; -using Domain.Models.Todo; +using Domain.Entities.Attendance; +using Domain.Entities.Documents; +using Domain.Entities.Finance; +using Domain.Entities.Identity; +using Domain.Entities.Todo; namespace Domain.Models.Identity; @@ -30,25 +31,25 @@ public partial class UserModel /// /// The property. /// - public virtual ICollection Attendances { get; set; } = default!; + public virtual ICollection Attendances { get; set; } = default!; /// /// The property. /// - public virtual ICollection AccountUsers { get; set; } = default!; + public virtual ICollection AccountUsers { get; set; } = default!; /// /// The property. /// - public virtual ICollection Cards { get; set; } = default!; + public virtual ICollection Cards { get; set; } = default!; /// /// The property. /// - public virtual ICollection TodoLists { get; set; } = default!; + public virtual ICollection TodoLists { get; set; } = default!; /// /// The property. /// - public virtual ICollection Documents { get; set; } = default!; + public virtual ICollection Documents { get; set; } = default!; } diff --git a/src/Domain/Models/Identity/UserModel.cs b/src/Domain/Entities/Identity/UserModel.cs similarity index 91% rename from src/Domain/Models/Identity/UserModel.cs rename to src/Domain/Entities/Identity/UserModel.cs index ea93601a..8e1e2978 100644 --- a/src/Domain/Models/Identity/UserModel.cs +++ b/src/Domain/Entities/Identity/UserModel.cs @@ -1,4 +1,6 @@ -using Microsoft.AspNetCore.Identity; +using Domain.Entities.Identity; + +using Microsoft.AspNetCore.Identity; namespace Domain.Models.Identity; diff --git a/src/Domain/Models/Identity/UserRoleModel.References.cs b/src/Domain/Entities/Identity/UserRoleModel.References.cs similarity index 100% rename from src/Domain/Models/Identity/UserRoleModel.References.cs rename to src/Domain/Entities/Identity/UserRoleModel.References.cs diff --git a/src/Domain/Models/Identity/UserRoleModel.cs b/src/Domain/Entities/Identity/UserRoleModel.cs similarity index 100% rename from src/Domain/Models/Identity/UserRoleModel.cs rename to src/Domain/Entities/Identity/UserRoleModel.cs diff --git a/src/Domain/Models/Identity/UserTokenModel.cs b/src/Domain/Entities/Identity/UserTokenModel.cs similarity index 65% rename from src/Domain/Models/Identity/UserTokenModel.cs rename to src/Domain/Entities/Identity/UserTokenModel.cs index 4f568d0e..27c159a8 100644 --- a/src/Domain/Models/Identity/UserTokenModel.cs +++ b/src/Domain/Entities/Identity/UserTokenModel.cs @@ -1,6 +1,8 @@ -using Microsoft.AspNetCore.Identity; +using Domain.Models.Identity; -namespace Domain.Models.Identity; +using Microsoft.AspNetCore.Identity; + +namespace Domain.Entities.Identity; /// public class UserTokenModel : IdentityUserToken diff --git a/src/Domain/Models/Todo/Item.cs b/src/Domain/Entities/Todo/ItemEntity.cs similarity index 79% rename from src/Domain/Models/Todo/Item.cs rename to src/Domain/Entities/Todo/ItemEntity.cs index 55fb003f..39a3f5f5 100644 --- a/src/Domain/Models/Todo/Item.cs +++ b/src/Domain/Entities/Todo/ItemEntity.cs @@ -1,13 +1,13 @@ -using BB84.EntityFrameworkCore.Models; +using BB84.EntityFrameworkCore.Entities; using Domain.Enumerators.Todo; -namespace Domain.Models.Todo; +namespace Domain.Entities.Todo; /// -/// The todo item class. +/// The todo item entity class. /// -public sealed class Item : AuditedModel +public sealed class ItemEntity : AuditedEntity { /// /// The identifier of the todo list object. @@ -42,5 +42,5 @@ public sealed class Item : AuditedModel /// /// The navigational reference to the todo list object. /// - public List List { get; set; } = default!; + public ListEntity List { get; set; } = default!; } diff --git a/src/Domain/Models/Todo/List.cs b/src/Domain/Entities/Todo/ListEntity.cs similarity index 73% rename from src/Domain/Models/Todo/List.cs rename to src/Domain/Entities/Todo/ListEntity.cs index 6d5abe03..cb089c30 100644 --- a/src/Domain/Models/Todo/List.cs +++ b/src/Domain/Entities/Todo/ListEntity.cs @@ -1,15 +1,15 @@ using System.Drawing; -using BB84.EntityFrameworkCore.Models; +using BB84.EntityFrameworkCore.Entities; using Domain.Models.Identity; -namespace Domain.Models.Todo; +namespace Domain.Entities.Todo; /// -/// The todo list class. +/// The todo list entity class. /// -public class List : AuditedModel +public class ListEntity : AuditedEntity { /// /// The title of the todo list. @@ -29,7 +29,7 @@ public class List : AuditedModel /// /// The items within the todo list. /// - public virtual ICollection Items { get; set; } = default!; + public virtual ICollection Items { get; set; } = default!; /// /// The navigational property. diff --git a/src/Domain/Extensions/ModelExtensions.cs b/src/Domain/Extensions/ModelExtensions.cs index 5f7b1123..c69d0b87 100644 --- a/src/Domain/Extensions/ModelExtensions.cs +++ b/src/Domain/Extensions/ModelExtensions.cs @@ -1,4 +1,4 @@ -using Domain.Models.Attendance; +using Domain.Entities.Attendance; namespace Domain.Extensions; @@ -12,7 +12,7 @@ public static partial class ModelExtensions /// /// The attendance model to work with. /// The resulting working hours. - public static float GetResultingWorkingHours(this AttendanceModel model) + public static float GetResultingWorkingHours(this AttendanceEntity model) { if (model.Type.IsWorkingHoursRelevant().Equals(false)) return default; diff --git a/src/Infrastructure/Extensions/ServiceCollectionExtensions.cs b/src/Infrastructure/Extensions/ServiceCollectionExtensions.cs index 304a9a1b..61d0f026 100644 --- a/src/Infrastructure/Extensions/ServiceCollectionExtensions.cs +++ b/src/Infrastructure/Extensions/ServiceCollectionExtensions.cs @@ -39,7 +39,7 @@ internal static class ServiceCollectionExtensions /// The enriched service collection. internal static IServiceCollection RegisterScopedServices(this IServiceCollection services) { - services.TryAddScoped(); + services.TryAddScoped(); services.TryAddScoped(); services.TryAddScoped(); services.TryAddScoped(); diff --git a/src/Infrastructure/Persistence/Configurations/Attendance/AttendanceEntityConfiguration.cs b/src/Infrastructure/Persistence/Configurations/Attendance/AttendanceEntityConfiguration.cs new file mode 100644 index 00000000..13e8182d --- /dev/null +++ b/src/Infrastructure/Persistence/Configurations/Attendance/AttendanceEntityConfiguration.cs @@ -0,0 +1,39 @@ +using BB84.EntityFrameworkCore.Repositories.SqlServer.Configurations; +using BB84.EntityFrameworkCore.Repositories.SqlServer.Extensions; + +using Domain.Entities.Attendance; + +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Metadata.Builders; + +using static Infrastructure.Common.InfrastructureConstants; + +namespace Infrastructure.Persistence.Configurations.Attendance; + +/// +[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here.")] +internal sealed class AttendanceEntityConfiguration : AuditedConfiguration +{ + public override void Configure(EntityTypeBuilder builder) + { + builder.ToHistoryTable("Attendance", SqlSchema.Attendance, SqlSchema.History); + + builder.HasIndex(i => new { i.UserId, i.Date }) + .IsClustered(false) + .IsUnique(); + + builder.Property(p => p.Date) + .IsDateColumn(); + + builder.Property(p => p.StartTime) + .IsTimeColumn(0); + + builder.Property(p => p.EndTime) + .IsTimeColumn(0); + + builder.Property(p => p.BreakTime) + .IsTimeColumn(0); + + base.Configure(builder); + } +} diff --git a/src/Infrastructure/Persistence/Configurations/AttendanceConfiguration.AttendanceModel.cs b/src/Infrastructure/Persistence/Configurations/AttendanceConfiguration.AttendanceModel.cs deleted file mode 100644 index 24de1bb9..00000000 --- a/src/Infrastructure/Persistence/Configurations/AttendanceConfiguration.AttendanceModel.cs +++ /dev/null @@ -1,42 +0,0 @@ -using BB84.EntityFrameworkCore.Repositories.SqlServer.Configurations; -using BB84.EntityFrameworkCore.Repositories.SqlServer.Extensions; - -using Domain.Models.Attendance; - -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Metadata.Builders; - -using static Infrastructure.Common.InfrastructureConstants; - -namespace Infrastructure.Persistence.Configurations; - -[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here.")] -internal static partial class AttendanceConfiguration -{ - /// - internal sealed class AttendanceModelConfiguration : AuditedConfiguration - { - public override void Configure(EntityTypeBuilder builder) - { - builder.ToHistoryTable("Attendance", SqlSchema.Attendance, SqlSchema.History); - - builder.HasIndex(i => new { i.UserId, i.Date }) - .IsClustered(false) - .IsUnique(); - - builder.Property(p => p.Date) - .IsDateColumn(); - - builder.Property(p => p.StartTime) - .IsTimeColumn(0); - - builder.Property(p => p.EndTime) - .IsTimeColumn(0); - - builder.Property(p => p.BreakTime) - .IsTimeColumn(0); - - base.Configure(builder); - } - } -} diff --git a/src/Infrastructure/Persistence/Configurations/AttendanceConfiguration.cs b/src/Infrastructure/Persistence/Configurations/AttendanceConfiguration.cs deleted file mode 100644 index 5a178e97..00000000 --- a/src/Infrastructure/Persistence/Configurations/AttendanceConfiguration.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Infrastructure.Persistence.Configurations; - -/// -/// The attendance configuration class. -/// -internal static partial class AttendanceConfiguration -{ } diff --git a/src/Infrastructure/Persistence/Configurations/Documents/DataConfiguration.cs b/src/Infrastructure/Persistence/Configurations/Documents/DataEntityConfiguration.cs similarity index 78% rename from src/Infrastructure/Persistence/Configurations/Documents/DataConfiguration.cs rename to src/Infrastructure/Persistence/Configurations/Documents/DataEntityConfiguration.cs index b89e42e4..42809449 100644 --- a/src/Infrastructure/Persistence/Configurations/Documents/DataConfiguration.cs +++ b/src/Infrastructure/Persistence/Configurations/Documents/DataEntityConfiguration.cs @@ -1,7 +1,7 @@ using BB84.EntityFrameworkCore.Repositories.SqlServer.Configurations; using BB84.EntityFrameworkCore.Repositories.SqlServer.Extensions; -using Domain.Models.Documents; +using Domain.Entities.Documents; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; @@ -12,11 +12,11 @@ namespace Infrastructure.Persistence.Configurations.Documents; /// [SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, entity type configuration.")] -internal sealed class DataConfiguration : AuditedConfiguration +internal sealed class DataEntityConfiguration : AuditedConfiguration { - public override void Configure(EntityTypeBuilder builder) + public override void Configure(EntityTypeBuilder builder) { - builder.ToHistoryTable(nameof(Data), SqlSchema.Documents, SqlSchema.History); + builder.ToHistoryTable("Data", SqlSchema.Documents, SqlSchema.History); builder.Property(p => p.MD5Hash) .IsBinaryColumn(16) diff --git a/src/Infrastructure/Persistence/Configurations/Documents/DocumentConfiguration.cs b/src/Infrastructure/Persistence/Configurations/Documents/DocumentEntityConfiguration.cs similarity index 81% rename from src/Infrastructure/Persistence/Configurations/Documents/DocumentConfiguration.cs rename to src/Infrastructure/Persistence/Configurations/Documents/DocumentEntityConfiguration.cs index d10f38b5..cf3804b6 100644 --- a/src/Infrastructure/Persistence/Configurations/Documents/DocumentConfiguration.cs +++ b/src/Infrastructure/Persistence/Configurations/Documents/DocumentEntityConfiguration.cs @@ -1,7 +1,7 @@ using BB84.EntityFrameworkCore.Repositories.SqlServer.Configurations; using BB84.EntityFrameworkCore.Repositories.SqlServer.Extensions; -using Domain.Models.Documents; +using Domain.Entities.Documents; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; @@ -12,11 +12,11 @@ namespace Infrastructure.Persistence.Configurations.Documents; /// [SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, entity type configuration.")] -internal sealed class DocumentConfiguration : AuditedConfiguration +internal sealed class DocumentEntityConfiguration : AuditedConfiguration { - public override void Configure(EntityTypeBuilder builder) + public override void Configure(EntityTypeBuilder builder) { - builder.ToHistoryTable(nameof(Document), SqlSchema.Documents, SqlSchema.History); + builder.ToHistoryTable("Document", SqlSchema.Documents, SqlSchema.History); builder.Property(p => p.Name) .HasMaxLength(256) diff --git a/src/Infrastructure/Persistence/Configurations/Documents/ExtensionConfiguration.cs b/src/Infrastructure/Persistence/Configurations/Documents/ExtensionEntityConfiguration.cs similarity index 76% rename from src/Infrastructure/Persistence/Configurations/Documents/ExtensionConfiguration.cs rename to src/Infrastructure/Persistence/Configurations/Documents/ExtensionEntityConfiguration.cs index ab38b8b2..c2dcf56a 100644 --- a/src/Infrastructure/Persistence/Configurations/Documents/ExtensionConfiguration.cs +++ b/src/Infrastructure/Persistence/Configurations/Documents/ExtensionEntityConfiguration.cs @@ -1,7 +1,7 @@ using BB84.EntityFrameworkCore.Repositories.SqlServer.Configurations; using BB84.EntityFrameworkCore.Repositories.SqlServer.Extensions; -using Domain.Models.Documents; +using Domain.Entities.Documents; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; @@ -12,11 +12,11 @@ namespace Infrastructure.Persistence.Configurations.Documents; /// [SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, entity type configuration.")] -internal sealed class ExtensionConfiguration : AuditedConfiguration +internal sealed class ExtensionEntityConfiguration : AuditedConfiguration { - public override void Configure(EntityTypeBuilder builder) + public override void Configure(EntityTypeBuilder builder) { - builder.ToHistoryTable(nameof(Extension), SqlSchema.Documents, SqlSchema.History); + builder.ToHistoryTable("Extension", SqlSchema.Documents, SqlSchema.History); builder.Property(p => p.Name) .HasMaxLength(256) diff --git a/src/Infrastructure/Persistence/Configurations/Finance/AccountEntityConfiguration.cs b/src/Infrastructure/Persistence/Configurations/Finance/AccountEntityConfiguration.cs new file mode 100644 index 00000000..ea2595b8 --- /dev/null +++ b/src/Infrastructure/Persistence/Configurations/Finance/AccountEntityConfiguration.cs @@ -0,0 +1,52 @@ +using BB84.EntityFrameworkCore.Repositories.SqlServer.Configurations; +using BB84.EntityFrameworkCore.Repositories.SqlServer.Extensions; + +using Domain.Entities.Finance; + +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Metadata.Builders; + +using static Infrastructure.Common.InfrastructureConstants; + +namespace Infrastructure.Persistence.Configurations.Finance; + +/// +[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, entity type configuration.")] +internal sealed class AccountEntityConfiguration : AuditedConfiguration +{ + public override void Configure(EntityTypeBuilder builder) + { + builder.ToHistoryTable("Account", SqlSchema.Finance, SqlSchema.History); + + builder.HasIndex(i => i.IBAN) + .IsClustered(false) + .IsUnique(true); + + builder.Property(p => p.IBAN) + .HasMaxLength(25) + .IsUnicode(false); + + builder.Property(p => p.Provider) + .HasMaxLength(500); + + builder.HasMany(e => e.AccountUsers) + .WithOne(e => e.Account) + .HasForeignKey(e => e.AccountId) + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + builder.HasMany(e => e.Transactions) + .WithOne(e => e.Account) + .HasForeignKey(e => e.AccountId) + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + builder.HasMany(e => e.Cards) + .WithOne(e => e.Account) + .HasForeignKey(e => e.AccountId) + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + base.Configure(builder); + } +} diff --git a/src/Infrastructure/Persistence/Configurations/Finance/AccountTransactionEntityConfiguration.cs b/src/Infrastructure/Persistence/Configurations/Finance/AccountTransactionEntityConfiguration.cs new file mode 100644 index 00000000..64743c76 --- /dev/null +++ b/src/Infrastructure/Persistence/Configurations/Finance/AccountTransactionEntityConfiguration.cs @@ -0,0 +1,26 @@ +using BB84.EntityFrameworkCore.Repositories.SqlServer.Configurations; +using BB84.EntityFrameworkCore.Repositories.SqlServer.Extensions; + +using Domain.Entities.Finance; + +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Metadata.Builders; + +using static Infrastructure.Common.InfrastructureConstants; + +namespace Infrastructure.Persistence.Configurations.Finance; + +/// +[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, entity type configuration.")] +internal sealed class AccountTransactionEntityConfiguration : AuditedCompositeConfiguration +{ + public override void Configure(EntityTypeBuilder builder) + { + builder.ToHistoryTable("AccountTransaction", SqlSchema.Finance, SqlSchema.History); + + builder.HasKey(e => new { e.AccountId, e.TransactionId }) + .IsClustered(false); + + base.Configure(builder); + } +} \ No newline at end of file diff --git a/src/Infrastructure/Persistence/Configurations/Finance/AccountUserEntityConfiguration.cs b/src/Infrastructure/Persistence/Configurations/Finance/AccountUserEntityConfiguration.cs new file mode 100644 index 00000000..839d2c45 --- /dev/null +++ b/src/Infrastructure/Persistence/Configurations/Finance/AccountUserEntityConfiguration.cs @@ -0,0 +1,26 @@ +using BB84.EntityFrameworkCore.Repositories.SqlServer.Configurations; +using BB84.EntityFrameworkCore.Repositories.SqlServer.Extensions; + +using Domain.Entities.Finance; + +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Metadata.Builders; + +using static Infrastructure.Common.InfrastructureConstants; + +namespace Infrastructure.Persistence.Configurations.Finance; + +/// +[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, entity type configuration.")] +internal sealed class AccountUserEntityConfiguration : AuditedCompositeConfiguration +{ + public override void Configure(EntityTypeBuilder builder) + { + builder.ToHistoryTable("AccountUser", SqlSchema.Finance, SqlSchema.History); + + builder.HasKey(e => new { e.AccountId, e.UserId }) + .IsClustered(false); + + base.Configure(builder); + } +} diff --git a/src/Infrastructure/Persistence/Configurations/Finance/CardEntityConfiguration.cs b/src/Infrastructure/Persistence/Configurations/Finance/CardEntityConfiguration.cs new file mode 100644 index 00000000..4601d502 --- /dev/null +++ b/src/Infrastructure/Persistence/Configurations/Finance/CardEntityConfiguration.cs @@ -0,0 +1,40 @@ +using BB84.EntityFrameworkCore.Repositories.SqlServer.Configurations; +using BB84.EntityFrameworkCore.Repositories.SqlServer.Extensions; + +using Domain.Entities.Finance; + +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Metadata.Builders; + +using static Infrastructure.Common.InfrastructureConstants; + +namespace Infrastructure.Persistence.Configurations.Finance; + +/// +[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, entity type configuration.")] +internal sealed class CardEntityConfiguration : AuditedConfiguration +{ + public override void Configure(EntityTypeBuilder builder) + { + builder.ToHistoryTable("Card", SqlSchema.Finance, SqlSchema.History); + + builder.HasIndex(i => i.PAN) + .IsClustered(false) + .IsUnique(true); + + builder.Property(p => p.PAN) + .HasMaxLength(25) + .IsUnicode(false); + + builder.Property(p => p.ValidUntil) + .IsDateColumn(); + + builder.HasMany(e => e.Transactions) + .WithOne(e => e.Card) + .HasForeignKey(e => e.CardId) + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + base.Configure(builder); + } +} diff --git a/src/Infrastructure/Persistence/Configurations/Finance/CardTransactionEntityConfiguration.cs b/src/Infrastructure/Persistence/Configurations/Finance/CardTransactionEntityConfiguration.cs new file mode 100644 index 00000000..0086107c --- /dev/null +++ b/src/Infrastructure/Persistence/Configurations/Finance/CardTransactionEntityConfiguration.cs @@ -0,0 +1,26 @@ +using BB84.EntityFrameworkCore.Repositories.SqlServer.Configurations; +using BB84.EntityFrameworkCore.Repositories.SqlServer.Extensions; + +using Domain.Entities.Finance; + +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Metadata.Builders; + +using static Infrastructure.Common.InfrastructureConstants; + +namespace Infrastructure.Persistence.Configurations.Finance; + +/// +[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, entity type configuration.")] +internal sealed class CardTransactionEntityConfiguration : AuditedCompositeConfiguration +{ + public override void Configure(EntityTypeBuilder builder) + { + builder.ToHistoryTable("CardTransaction", SqlSchema.Finance, SqlSchema.History); + + builder.HasKey(e => new { e.CardId, e.TransactionId }) + .IsClustered(false); + + base.Configure(builder); + } +} diff --git a/src/Infrastructure/Persistence/Configurations/Finance/TransactionEntityConfiguration.cs b/src/Infrastructure/Persistence/Configurations/Finance/TransactionEntityConfiguration.cs new file mode 100644 index 00000000..d1da3b36 --- /dev/null +++ b/src/Infrastructure/Persistence/Configurations/Finance/TransactionEntityConfiguration.cs @@ -0,0 +1,70 @@ +using BB84.EntityFrameworkCore.Repositories.SqlServer.Configurations; +using BB84.EntityFrameworkCore.Repositories.SqlServer.Extensions; + +using Domain.Entities.Finance; + +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Metadata.Builders; + +using static Infrastructure.Common.InfrastructureConstants; + +namespace Infrastructure.Persistence.Configurations.Finance; + +/// +[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, entity type configuration.")] +internal sealed class TransactionEntityConfiguration : AuditedConfiguration +{ + public override void Configure(EntityTypeBuilder builder) + { + builder.ToHistoryTable("Transaction", SqlSchema.Finance, SqlSchema.History); + + builder.Property(p => p.BookingDate) + .IsDateColumn(); + + builder.Property(p => p.ValueDate) + .IsDateColumn(); + + builder.Property(p => p.PostingText) + .HasMaxLength(100); + + builder.Property(p => p.ClientBeneficiary) + .HasMaxLength(250); + + builder.Property(p => p.Purpose) + .HasMaxLength(4000); + + builder.Property(p => p.AccountNumber) + .HasMaxLength(25) + .IsUnicode(false); + + builder.Property(p => p.BankCode) + .HasMaxLength(25) + .IsUnicode(false); + + builder.Property(p => p.AmountEur) + .IsMoneyColumn(); + + builder.Property(p => p.CreditorId) + .HasMaxLength(25); + + builder.Property(p => p.MandateReference) + .HasMaxLength(50); + + builder.Property(p => p.CustomerReference) + .HasMaxLength(50); + + builder.HasMany(e => e.AccountTransactions) + .WithOne(e => e.Transaction) + .HasForeignKey(e => e.TransactionId) + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + builder.HasMany(e => e.CardTransactions) + .WithOne(e => e.Transaction) + .HasForeignKey(e => e.TransactionId) + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + base.Configure(builder); + } +} diff --git a/src/Infrastructure/Persistence/Configurations/FinanceConfiguration.AccountModel.cs b/src/Infrastructure/Persistence/Configurations/FinanceConfiguration.AccountModel.cs deleted file mode 100644 index 6828d814..00000000 --- a/src/Infrastructure/Persistence/Configurations/FinanceConfiguration.AccountModel.cs +++ /dev/null @@ -1,55 +0,0 @@ -using BB84.EntityFrameworkCore.Repositories.SqlServer.Configurations; -using BB84.EntityFrameworkCore.Repositories.SqlServer.Extensions; - -using Domain.Models.Finance; - -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Metadata.Builders; - -using static Infrastructure.Common.InfrastructureConstants; - -namespace Infrastructure.Persistence.Configurations; - -[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, entity type configuration.")] -internal static partial class FinanceConfiguration -{ - /// - internal sealed class AccountModelConfiguration : AuditedConfiguration - { - public override void Configure(EntityTypeBuilder builder) - { - builder.ToHistoryTable("Account", SqlSchema.Finance, SqlSchema.History); - - builder.HasIndex(i => i.IBAN) - .IsClustered(false) - .IsUnique(true); - - builder.Property(p => p.IBAN) - .HasMaxLength(25) - .IsUnicode(false); - - builder.Property(p => p.Provider) - .HasMaxLength(500); - - builder.HasMany(e => e.AccountUsers) - .WithOne(e => e.Account) - .HasForeignKey(e => e.AccountId) - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - builder.HasMany(e => e.Transactions) - .WithOne(e => e.Account) - .HasForeignKey(e => e.AccountId) - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - builder.HasMany(e => e.Cards) - .WithOne(e => e.Account) - .HasForeignKey(e => e.AccountId) - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - base.Configure(builder); - } - } -} diff --git a/src/Infrastructure/Persistence/Configurations/FinanceConfiguration.AccountTransactionModel.cs b/src/Infrastructure/Persistence/Configurations/FinanceConfiguration.AccountTransactionModel.cs deleted file mode 100644 index 68cc9fc7..00000000 --- a/src/Infrastructure/Persistence/Configurations/FinanceConfiguration.AccountTransactionModel.cs +++ /dev/null @@ -1,29 +0,0 @@ -using BB84.EntityFrameworkCore.Repositories.SqlServer.Configurations; -using BB84.EntityFrameworkCore.Repositories.SqlServer.Extensions; - -using Domain.Models.Finance; - -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Metadata.Builders; - -using static Infrastructure.Common.InfrastructureConstants; - -namespace Infrastructure.Persistence.Configurations; - -[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, entity type configuration.")] -internal static partial class FinanceConfiguration -{ - /// - internal sealed class AccountTransactionConfiguration : AuditedCompositeConfiguration - { - public override void Configure(EntityTypeBuilder builder) - { - builder.ToHistoryTable("AccountTransaction", SqlSchema.Finance, SqlSchema.History); - - builder.HasKey(e => new { e.AccountId, e.TransactionId }) - .IsClustered(false); - - base.Configure(builder); - } - } -} diff --git a/src/Infrastructure/Persistence/Configurations/FinanceConfiguration.AccountUserModel.cs b/src/Infrastructure/Persistence/Configurations/FinanceConfiguration.AccountUserModel.cs deleted file mode 100644 index d8f140ac..00000000 --- a/src/Infrastructure/Persistence/Configurations/FinanceConfiguration.AccountUserModel.cs +++ /dev/null @@ -1,29 +0,0 @@ -using BB84.EntityFrameworkCore.Repositories.SqlServer.Configurations; -using BB84.EntityFrameworkCore.Repositories.SqlServer.Extensions; - -using Domain.Models.Finance; - -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Metadata.Builders; - -using static Infrastructure.Common.InfrastructureConstants; - -namespace Infrastructure.Persistence.Configurations; - -[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, entity type configuration.")] -internal static partial class FinanceConfiguration -{ - /// - internal sealed class AccountUserConfiguration : AuditedCompositeConfiguration - { - public override void Configure(EntityTypeBuilder builder) - { - builder.ToHistoryTable("AccountUser", SqlSchema.Finance, SqlSchema.History); - - builder.HasKey(e => new { e.AccountId, e.UserId }) - .IsClustered(false); - - base.Configure(builder); - } - } -} diff --git a/src/Infrastructure/Persistence/Configurations/FinanceConfiguration.CardModel.cs b/src/Infrastructure/Persistence/Configurations/FinanceConfiguration.CardModel.cs deleted file mode 100644 index 3cc99612..00000000 --- a/src/Infrastructure/Persistence/Configurations/FinanceConfiguration.CardModel.cs +++ /dev/null @@ -1,43 +0,0 @@ -using BB84.EntityFrameworkCore.Repositories.SqlServer.Configurations; -using BB84.EntityFrameworkCore.Repositories.SqlServer.Extensions; - -using Domain.Models.Finance; - -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Metadata.Builders; - -using static Infrastructure.Common.InfrastructureConstants; - -namespace Infrastructure.Persistence.Configurations; - -[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, entity type configuration.")] -internal static partial class FinanceConfiguration -{ - /// - internal sealed class CardConfiguration : AuditedConfiguration - { - public override void Configure(EntityTypeBuilder builder) - { - builder.ToHistoryTable("Card", SqlSchema.Finance, SqlSchema.History); - - builder.HasIndex(i => i.PAN) - .IsClustered(false) - .IsUnique(true); - - builder.Property(p => p.PAN) - .HasMaxLength(25) - .IsUnicode(false); - - builder.Property(p => p.ValidUntil) - .IsDateColumn(); - - builder.HasMany(e => e.Transactions) - .WithOne(e => e.Card) - .HasForeignKey(e => e.CardId) - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - base.Configure(builder); - } - } -} diff --git a/src/Infrastructure/Persistence/Configurations/FinanceConfiguration.CardTransactionModel.cs b/src/Infrastructure/Persistence/Configurations/FinanceConfiguration.CardTransactionModel.cs deleted file mode 100644 index 2dfc8209..00000000 --- a/src/Infrastructure/Persistence/Configurations/FinanceConfiguration.CardTransactionModel.cs +++ /dev/null @@ -1,29 +0,0 @@ -using BB84.EntityFrameworkCore.Repositories.SqlServer.Configurations; -using BB84.EntityFrameworkCore.Repositories.SqlServer.Extensions; - -using Domain.Models.Finance; - -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Metadata.Builders; - -using static Infrastructure.Common.InfrastructureConstants; - -namespace Infrastructure.Persistence.Configurations; - -[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, entity type configuration.")] -internal static partial class FinanceConfiguration -{ - /// - internal sealed class CardTransactionConfiguration : AuditedCompositeConfiguration - { - public override void Configure(EntityTypeBuilder builder) - { - builder.ToHistoryTable("CardTransaction", SqlSchema.Finance, SqlSchema.History); - - builder.HasKey(e => new { e.CardId, e.TransactionId }) - .IsClustered(false); - - base.Configure(builder); - } - } -} diff --git a/src/Infrastructure/Persistence/Configurations/FinanceConfiguration.TransactionModel.cs b/src/Infrastructure/Persistence/Configurations/FinanceConfiguration.TransactionModel.cs deleted file mode 100644 index 779628ab..00000000 --- a/src/Infrastructure/Persistence/Configurations/FinanceConfiguration.TransactionModel.cs +++ /dev/null @@ -1,73 +0,0 @@ -using BB84.EntityFrameworkCore.Repositories.SqlServer.Configurations; -using BB84.EntityFrameworkCore.Repositories.SqlServer.Extensions; - -using Domain.Models.Finance; - -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Metadata.Builders; - -using static Infrastructure.Common.InfrastructureConstants; - -namespace Infrastructure.Persistence.Configurations; - -[SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, entity type configuration.")] -internal static partial class FinanceConfiguration -{ - /// - internal sealed class TransactionConfiguration : AuditedConfiguration - { - public override void Configure(EntityTypeBuilder builder) - { - builder.ToHistoryTable("Transaction", SqlSchema.Finance, SqlSchema.History); - - builder.Property(p => p.BookingDate) - .IsDateColumn(); - - builder.Property(p => p.ValueDate) - .IsDateColumn(); - - builder.Property(p => p.PostingText) - .HasMaxLength(100); - - builder.Property(p => p.ClientBeneficiary) - .HasMaxLength(250); - - builder.Property(p => p.Purpose) - .HasMaxLength(4000); - - builder.Property(p => p.AccountNumber) - .HasMaxLength(25) - .IsUnicode(false); - - builder.Property(p => p.BankCode) - .HasMaxLength(25) - .IsUnicode(false); - - builder.Property(p => p.AmountEur) - .IsMoneyColumn(); - - builder.Property(p => p.CreditorId) - .HasMaxLength(25); - - builder.Property(p => p.MandateReference) - .HasMaxLength(50); - - builder.Property(p => p.CustomerReference) - .HasMaxLength(50); - - builder.HasMany(e => e.AccountTransactions) - .WithOne(e => e.Transaction) - .HasForeignKey(e => e.TransactionId) - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - builder.HasMany(e => e.CardTransactions) - .WithOne(e => e.Transaction) - .HasForeignKey(e => e.TransactionId) - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - base.Configure(builder); - } - } -} diff --git a/src/Infrastructure/Persistence/Configurations/FinanceConfiguration.cs b/src/Infrastructure/Persistence/Configurations/FinanceConfiguration.cs deleted file mode 100644 index 5bfc72b7..00000000 --- a/src/Infrastructure/Persistence/Configurations/FinanceConfiguration.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Infrastructure.Persistence.Configurations; - -/// -/// The finance configuration class. -/// -internal static partial class FinanceConfiguration -{ } diff --git a/src/Infrastructure/Persistence/Configurations/IdentityConfiguration.RoleClaimModel.cs b/src/Infrastructure/Persistence/Configurations/IdentityConfiguration.RoleClaimModel.cs index 2ae44c50..91f38058 100644 --- a/src/Infrastructure/Persistence/Configurations/IdentityConfiguration.RoleClaimModel.cs +++ b/src/Infrastructure/Persistence/Configurations/IdentityConfiguration.RoleClaimModel.cs @@ -1,6 +1,6 @@ using BB84.EntityFrameworkCore.Repositories.SqlServer.Extensions; -using Domain.Models.Identity; +using Domain.Entities.Identity; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; diff --git a/src/Infrastructure/Persistence/Configurations/IdentityConfiguration.UserClaimModel.cs b/src/Infrastructure/Persistence/Configurations/IdentityConfiguration.UserClaimModel.cs index 60ea6c7c..907063df 100644 --- a/src/Infrastructure/Persistence/Configurations/IdentityConfiguration.UserClaimModel.cs +++ b/src/Infrastructure/Persistence/Configurations/IdentityConfiguration.UserClaimModel.cs @@ -1,6 +1,6 @@ using BB84.EntityFrameworkCore.Repositories.SqlServer.Extensions; -using Domain.Models.Identity; +using Domain.Entities.Identity; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; diff --git a/src/Infrastructure/Persistence/Configurations/IdentityConfiguration.UserLoginModel.cs b/src/Infrastructure/Persistence/Configurations/IdentityConfiguration.UserLoginModel.cs index ceb47032..efe5e509 100644 --- a/src/Infrastructure/Persistence/Configurations/IdentityConfiguration.UserLoginModel.cs +++ b/src/Infrastructure/Persistence/Configurations/IdentityConfiguration.UserLoginModel.cs @@ -1,6 +1,6 @@ using BB84.EntityFrameworkCore.Repositories.SqlServer.Extensions; -using Domain.Models.Identity; +using Domain.Entities.Identity; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; diff --git a/src/Infrastructure/Persistence/Configurations/IdentityConfiguration.UserTokenModel.cs b/src/Infrastructure/Persistence/Configurations/IdentityConfiguration.UserTokenModel.cs index d412f22b..c021befc 100644 --- a/src/Infrastructure/Persistence/Configurations/IdentityConfiguration.UserTokenModel.cs +++ b/src/Infrastructure/Persistence/Configurations/IdentityConfiguration.UserTokenModel.cs @@ -1,6 +1,6 @@ using BB84.EntityFrameworkCore.Repositories.SqlServer.Extensions; -using Domain.Models.Identity; +using Domain.Entities.Identity; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; diff --git a/src/Infrastructure/Persistence/Configurations/Todo/ItemConfiguration.cs b/src/Infrastructure/Persistence/Configurations/Todo/ItemEntityConfiguration.cs similarity index 70% rename from src/Infrastructure/Persistence/Configurations/Todo/ItemConfiguration.cs rename to src/Infrastructure/Persistence/Configurations/Todo/ItemEntityConfiguration.cs index bcb40fe4..fdd13081 100644 --- a/src/Infrastructure/Persistence/Configurations/Todo/ItemConfiguration.cs +++ b/src/Infrastructure/Persistence/Configurations/Todo/ItemEntityConfiguration.cs @@ -1,7 +1,7 @@ using BB84.EntityFrameworkCore.Repositories.SqlServer.Configurations; using BB84.EntityFrameworkCore.Repositories.SqlServer.Extensions; -using Domain.Models.Todo; +using Domain.Entities.Todo; using Microsoft.EntityFrameworkCore.Metadata.Builders; @@ -11,11 +11,11 @@ namespace Infrastructure.Persistence.Configurations.Todo; /// [SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, entity type configuration.")] -internal sealed class ItemConfiguration : AuditedConfiguration +internal sealed class ItemEntityConfiguration : AuditedConfiguration { - public override void Configure(EntityTypeBuilder builder) + public override void Configure(EntityTypeBuilder builder) { - builder.ToHistoryTable(nameof(Item), SqlSchema.Todo, SqlSchema.History); + builder.ToHistoryTable("Item", SqlSchema.Todo, SqlSchema.History); builder.Property(e => e.Title) .HasMaxLength(256); diff --git a/src/Infrastructure/Persistence/Configurations/Todo/ListConfiguration.cs b/src/Infrastructure/Persistence/Configurations/Todo/ListEntityConfiguration.cs similarity index 85% rename from src/Infrastructure/Persistence/Configurations/Todo/ListConfiguration.cs rename to src/Infrastructure/Persistence/Configurations/Todo/ListEntityConfiguration.cs index 206361e4..259da160 100644 --- a/src/Infrastructure/Persistence/Configurations/Todo/ListConfiguration.cs +++ b/src/Infrastructure/Persistence/Configurations/Todo/ListEntityConfiguration.cs @@ -1,7 +1,7 @@ using BB84.EntityFrameworkCore.Repositories.SqlServer.Configurations; using BB84.EntityFrameworkCore.Repositories.SqlServer.Extensions; -using Domain.Models.Todo; +using Domain.Entities.Todo; using Infrastructure.Persistence.Converters; @@ -14,9 +14,9 @@ namespace Infrastructure.Persistence.Configurations.Todo; /// [SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, entity type configuration.")] -internal sealed class ListConfiguration : AuditedConfiguration +internal sealed class ListEntityConfiguration : AuditedConfiguration { - public override void Configure(EntityTypeBuilder builder) + public override void Configure(EntityTypeBuilder builder) { builder.ToHistoryTable("List", SqlSchema.Todo, SqlSchema.History); diff --git a/src/Infrastructure/Persistence/Converters/PreferencesConverter.cs b/src/Infrastructure/Persistence/Converters/PreferencesConverter.cs index 82806b16..68481ba5 100644 --- a/src/Infrastructure/Persistence/Converters/PreferencesConverter.cs +++ b/src/Infrastructure/Persistence/Converters/PreferencesConverter.cs @@ -1,6 +1,6 @@ using BB84.Extensions.Serialization; -using Domain.Models.Identity; +using Domain.Entities.Identity; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; diff --git a/src/Infrastructure/Persistence/Interceptors/AuditingInterceptor.cs b/src/Infrastructure/Persistence/Interceptors/UserAuditingInterceptor.cs similarity index 56% rename from src/Infrastructure/Persistence/Interceptors/AuditingInterceptor.cs rename to src/Infrastructure/Persistence/Interceptors/UserAuditingInterceptor.cs index e88ef350..eb8e0f21 100644 --- a/src/Infrastructure/Persistence/Interceptors/AuditingInterceptor.cs +++ b/src/Infrastructure/Persistence/Interceptors/UserAuditingInterceptor.cs @@ -1,6 +1,6 @@ using Application.Interfaces.Presentation.Services; -using BB84.EntityFrameworkCore.Models.Abstractions.Components; +using BB84.EntityFrameworkCore.Entities.Abstractions.Components; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.ChangeTracking; @@ -9,42 +9,43 @@ namespace Infrastructure.Persistence.Interceptors; /// -/// The custom save changes interceptor class. +/// The user auditing save changes interceptor. /// /// The current user service. /// -public sealed class AuditingInterceptor(ICurrentUserService currentUserService) : SaveChangesInterceptor +public sealed class UserAuditingInterceptor(ICurrentUserService currentUserService) : SaveChangesInterceptor { private readonly ICurrentUserService _currentUserService = currentUserService; /// public override InterceptionResult SavingChanges(DbContextEventData eventData, InterceptionResult result) { - UpdateEntities(eventData.Context); + InterceptEntities(eventData.Context); return base.SavingChanges(eventData, result); } /// public override ValueTask> SavingChangesAsync(DbContextEventData eventData, InterceptionResult result, CancellationToken cancellationToken = default) { - UpdateEntities(eventData.Context); + InterceptEntities(eventData.Context); return base.SavingChangesAsync(eventData, result, cancellationToken); } - private void UpdateEntities(DbContext? context) + private void InterceptEntities(DbContext? context) { - if (context is null) - return; - - foreach (EntityEntry> entry in context.ChangeTracker.Entries>()) + if (context is not null) { - if (entry.State is EntityState.Added) - { - entry.Entity.CreatedBy = _currentUserService.UserName; - } - else if (entry.State is EntityState.Modified) + foreach (EntityEntry entry in context.ChangeTracker.Entries()) { - entry.Entity.ModifiedBy = _currentUserService.UserName; + switch (entry.State) + { + case EntityState.Added: + entry.Entity.Creator = _currentUserService.UserName; + break; + case EntityState.Modified: + entry.Entity.Editor = _currentUserService.UserName; + break; + } } } } diff --git a/src/Infrastructure/Persistence/Repositories/AccountRepository.cs b/src/Infrastructure/Persistence/Repositories/AccountRepository.cs deleted file mode 100644 index b54b373c..00000000 --- a/src/Infrastructure/Persistence/Repositories/AccountRepository.cs +++ /dev/null @@ -1,15 +0,0 @@ -using Application.Interfaces.Infrastructure.Persistence; -using Application.Interfaces.Infrastructure.Persistence.Repositories; - -using BB84.EntityFrameworkCore.Repositories; - -using Domain.Models.Finance; - -namespace Infrastructure.Persistence.Repositories; - -/// -/// The account repository class. -/// -/// The database context to work with. -internal sealed class AccountRepository(IRepositoryContext context) : IdentityRepository(context), IAccountRepository -{ } diff --git a/src/Infrastructure/Persistence/Repositories/AttendanceRepository.cs b/src/Infrastructure/Persistence/Repositories/AttendanceRepository.cs index 643c444e..dc4baad7 100644 --- a/src/Infrastructure/Persistence/Repositories/AttendanceRepository.cs +++ b/src/Infrastructure/Persistence/Repositories/AttendanceRepository.cs @@ -1,15 +1,15 @@ -using Application.Interfaces.Infrastructure.Persistence; -using Application.Interfaces.Infrastructure.Persistence.Repositories; +using Application.Interfaces.Infrastructure.Persistence.Repositories; using BB84.EntityFrameworkCore.Repositories; +using BB84.EntityFrameworkCore.Repositories.Abstractions; -using Domain.Models.Attendance; +using Domain.Entities.Attendance; namespace Infrastructure.Persistence.Repositories; /// /// The attendance repository class. /// -/// The database context to work with. -internal sealed class AttendanceRepository(IRepositoryContext context) : IdentityRepository(context), IAttendanceRepository +/// +internal sealed class AttendanceRepository(IDbContext dbContext) : IdentityRepository(dbContext), IAttendanceRepository { } diff --git a/src/Infrastructure/Persistence/Repositories/CardRepository.cs b/src/Infrastructure/Persistence/Repositories/CardRepository.cs deleted file mode 100644 index 42cf374f..00000000 --- a/src/Infrastructure/Persistence/Repositories/CardRepository.cs +++ /dev/null @@ -1,15 +0,0 @@ -using Application.Interfaces.Infrastructure.Persistence; -using Application.Interfaces.Infrastructure.Persistence.Repositories; - -using BB84.EntityFrameworkCore.Repositories; - -using Domain.Models.Finance; - -namespace Infrastructure.Persistence.Repositories; - -/// -/// The card repository class. -/// -/// The database context to work with. -internal sealed class CardRepository(IRepositoryContext context) : IdentityRepository(context), ICardRepository -{ } diff --git a/src/Infrastructure/Persistence/Repositories/Documents/DocumentDataRepository.cs b/src/Infrastructure/Persistence/Repositories/Documents/DocumentDataRepository.cs index d1194cb5..d0b2a0d9 100644 --- a/src/Infrastructure/Persistence/Repositories/Documents/DocumentDataRepository.cs +++ b/src/Infrastructure/Persistence/Repositories/Documents/DocumentDataRepository.cs @@ -1,15 +1,15 @@ -using Application.Interfaces.Infrastructure.Persistence; -using Application.Interfaces.Infrastructure.Persistence.Repositories.Documents; +using Application.Interfaces.Infrastructure.Persistence.Repositories.Documents; using BB84.EntityFrameworkCore.Repositories; +using BB84.EntityFrameworkCore.Repositories.Abstractions; -using Domain.Models.Documents; +using Domain.Entities.Documents; namespace Infrastructure.Persistence.Repositories.Documents; /// /// The document data repository class. /// -/// The repository context to use. -internal sealed class DocumentDataRepository(IRepositoryContext repositoryContext) : IdentityRepository(repositoryContext), IDocumentDataRepository +/// +internal sealed class DocumentDataRepository(IDbContext dbContext) : IdentityRepository(dbContext), IDocumentDataRepository { } diff --git a/src/Infrastructure/Persistence/Repositories/Documents/DocumentExtensionRepository.cs b/src/Infrastructure/Persistence/Repositories/Documents/DocumentExtensionRepository.cs index 56ea68a8..15385240 100644 --- a/src/Infrastructure/Persistence/Repositories/Documents/DocumentExtensionRepository.cs +++ b/src/Infrastructure/Persistence/Repositories/Documents/DocumentExtensionRepository.cs @@ -1,15 +1,15 @@ -using Application.Interfaces.Infrastructure.Persistence; -using Application.Interfaces.Infrastructure.Persistence.Repositories.Documents; +using Application.Interfaces.Infrastructure.Persistence.Repositories.Documents; using BB84.EntityFrameworkCore.Repositories; +using BB84.EntityFrameworkCore.Repositories.Abstractions; -using Domain.Models.Documents; +using Domain.Entities.Documents; namespace Infrastructure.Persistence.Repositories.Documents; /// /// The document extension repository class. /// -/// The repository context to use. -internal sealed class DocumentExtensionRepository(IRepositoryContext repositoryContext) : IdentityRepository(repositoryContext), IDocumentExtensionRepository +/// +internal sealed class DocumentExtensionRepository(IDbContext dbContext) : IdentityRepository(dbContext), IDocumentExtensionRepository { } diff --git a/src/Infrastructure/Persistence/Repositories/Documents/DocumentRepository.cs b/src/Infrastructure/Persistence/Repositories/Documents/DocumentRepository.cs index aa2687bd..fa3a6047 100644 --- a/src/Infrastructure/Persistence/Repositories/Documents/DocumentRepository.cs +++ b/src/Infrastructure/Persistence/Repositories/Documents/DocumentRepository.cs @@ -1,15 +1,15 @@ -using Application.Interfaces.Infrastructure.Persistence; -using Application.Interfaces.Infrastructure.Persistence.Repositories.Documents; +using Application.Interfaces.Infrastructure.Persistence.Repositories.Documents; using BB84.EntityFrameworkCore.Repositories; +using BB84.EntityFrameworkCore.Repositories.Abstractions; -using Domain.Models.Documents; +using Domain.Entities.Documents; namespace Infrastructure.Persistence.Repositories.Documents; /// /// The document repository class. /// -/// The repository context to use. -internal sealed class DocumentRepository(IRepositoryContext repositoryContext) : IdentityRepository(repositoryContext), IDocumentRepository +/// +internal sealed class DocumentRepository(IDbContext dbContext) : IdentityRepository(dbContext), IDocumentRepository { } diff --git a/src/Infrastructure/Persistence/Repositories/Finance/AccountRepository.cs b/src/Infrastructure/Persistence/Repositories/Finance/AccountRepository.cs new file mode 100644 index 00000000..cc529f48 --- /dev/null +++ b/src/Infrastructure/Persistence/Repositories/Finance/AccountRepository.cs @@ -0,0 +1,15 @@ +using Application.Interfaces.Infrastructure.Persistence.Repositories; + +using BB84.EntityFrameworkCore.Repositories; +using BB84.EntityFrameworkCore.Repositories.Abstractions; + +using Domain.Entities.Finance; + +namespace Infrastructure.Persistence.Repositories.Finance; + +/// +/// The account repository class. +/// +/// +internal sealed class AccountRepository(IDbContext dbContext) : IdentityRepository(dbContext), IAccountRepository +{ } diff --git a/src/Infrastructure/Persistence/Repositories/Finance/CardRepository.cs b/src/Infrastructure/Persistence/Repositories/Finance/CardRepository.cs new file mode 100644 index 00000000..b36a6bea --- /dev/null +++ b/src/Infrastructure/Persistence/Repositories/Finance/CardRepository.cs @@ -0,0 +1,15 @@ +using Application.Interfaces.Infrastructure.Persistence.Repositories; + +using BB84.EntityFrameworkCore.Repositories; +using BB84.EntityFrameworkCore.Repositories.Abstractions; + +using Domain.Entities.Finance; + +namespace Infrastructure.Persistence.Repositories.Finance; + +/// +/// The card repository class. +/// +/// +internal sealed class CardRepository(IDbContext dbContext) : IdentityRepository(dbContext), ICardRepository +{ } diff --git a/src/Infrastructure/Persistence/Repositories/Finance/TransactionRepository.cs b/src/Infrastructure/Persistence/Repositories/Finance/TransactionRepository.cs new file mode 100644 index 00000000..c1fa0c75 --- /dev/null +++ b/src/Infrastructure/Persistence/Repositories/Finance/TransactionRepository.cs @@ -0,0 +1,15 @@ +using Application.Interfaces.Infrastructure.Persistence.Repositories; + +using BB84.EntityFrameworkCore.Repositories; +using BB84.EntityFrameworkCore.Repositories.Abstractions; + +using Domain.Entities.Finance; + +namespace Infrastructure.Persistence.Repositories.Finance; + +/// +/// The transaction repository class. +/// +/// +internal sealed class TransactionRepository(IDbContext dbContext) : IdentityRepository(dbContext), ITransactionRepository +{ } diff --git a/src/Infrastructure/Persistence/Repositories/Todo/ItemRepository.cs b/src/Infrastructure/Persistence/Repositories/Todo/ItemRepository.cs index a55c417b..9688a6fe 100644 --- a/src/Infrastructure/Persistence/Repositories/Todo/ItemRepository.cs +++ b/src/Infrastructure/Persistence/Repositories/Todo/ItemRepository.cs @@ -1,15 +1,15 @@ -using Application.Interfaces.Infrastructure.Persistence; -using Application.Interfaces.Infrastructure.Persistence.Repositories.Todo; +using Application.Interfaces.Infrastructure.Persistence.Repositories.Todo; using BB84.EntityFrameworkCore.Repositories; +using BB84.EntityFrameworkCore.Repositories.Abstractions; -using Domain.Models.Todo; +using Domain.Entities.Todo; namespace Infrastructure.Persistence.Repositories.Todo; /// /// The item repository class. /// -/// The repository context to use. -internal sealed class ItemRepository(IRepositoryContext repositoryContext) : IdentityRepository(repositoryContext), IItemRepository +/// +internal sealed class ItemRepository(IDbContext dbContext) : IdentityRepository(dbContext), IItemRepository { } diff --git a/src/Infrastructure/Persistence/Repositories/Todo/ListRepository.cs b/src/Infrastructure/Persistence/Repositories/Todo/ListRepository.cs index f0115a47..cbffbf10 100644 --- a/src/Infrastructure/Persistence/Repositories/Todo/ListRepository.cs +++ b/src/Infrastructure/Persistence/Repositories/Todo/ListRepository.cs @@ -1,15 +1,15 @@ -using Application.Interfaces.Infrastructure.Persistence; -using Application.Interfaces.Infrastructure.Persistence.Repositories.Todo; +using Application.Interfaces.Infrastructure.Persistence.Repositories.Todo; using BB84.EntityFrameworkCore.Repositories; +using BB84.EntityFrameworkCore.Repositories.Abstractions; -using Domain.Models.Todo; +using Domain.Entities.Todo; namespace Infrastructure.Persistence.Repositories.Todo; /// /// The list repository class. /// -/// The repository context to use. -internal sealed class ListRepository(IRepositoryContext repositoryContext) : IdentityRepository(repositoryContext), IListRepository +/// +internal sealed class ListRepository(IDbContext dbContext) : IdentityRepository(dbContext), IListRepository { } diff --git a/src/Infrastructure/Persistence/Repositories/TransactionRepository.cs b/src/Infrastructure/Persistence/Repositories/TransactionRepository.cs deleted file mode 100644 index 0b27a17a..00000000 --- a/src/Infrastructure/Persistence/Repositories/TransactionRepository.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Application.Interfaces.Infrastructure.Persistence; -using Application.Interfaces.Infrastructure.Persistence.Repositories; - -using BB84.EntityFrameworkCore.Repositories; - -using Domain.Models.Finance; - -namespace Infrastructure.Persistence.Repositories; - -/// -/// The transaction repository class. -/// -/// -/// The database context to work with. -internal sealed class TransactionRepository(IRepositoryContext context) : IdentityRepository(context), ITransactionRepository -{ } diff --git a/src/Infrastructure/Persistence/RepositoryContext.DbSets.cs b/src/Infrastructure/Persistence/RepositoryContext.DbSets.cs index 418159c9..57a7602c 100644 --- a/src/Infrastructure/Persistence/RepositoryContext.DbSets.cs +++ b/src/Infrastructure/Persistence/RepositoryContext.DbSets.cs @@ -1,7 +1,7 @@ -using Domain.Models.Attendance; -using Domain.Models.Documents; -using Domain.Models.Finance; -using Domain.Models.Todo; +using Domain.Entities.Attendance; +using Domain.Entities.Documents; +using Domain.Entities.Finance; +using Domain.Entities.Todo; using Microsoft.EntityFrameworkCore; @@ -9,11 +9,11 @@ namespace Infrastructure.Persistence; internal sealed partial class RepositoryContext { - public required DbSet Attendances { get; init; } - public required DbSet Accounts { get; init; } - public required DbSet Cards { get; init; } - public required DbSet Documents { get; init; } - public required DbSet Transactions { get; init; } - public required DbSet TodoLists { get; init; } - public required DbSet TodoItems { get; init; } + public required DbSet Attendances { get; init; } + public required DbSet Accounts { get; init; } + public required DbSet Cards { get; init; } + public required DbSet Documents { get; init; } + public required DbSet Transactions { get; init; } + public required DbSet TodoLists { get; init; } + public required DbSet TodoItems { get; init; } } diff --git a/src/Infrastructure/Persistence/RepositoryContext.cs b/src/Infrastructure/Persistence/RepositoryContext.cs index e2963f84..a3f9798d 100644 --- a/src/Infrastructure/Persistence/RepositoryContext.cs +++ b/src/Infrastructure/Persistence/RepositoryContext.cs @@ -2,6 +2,7 @@ using BB84.EntityFrameworkCore.Repositories.SqlServer.Interceptors; +using Domain.Entities.Identity; using Domain.Models.Identity; using Infrastructure.Common; @@ -21,10 +22,10 @@ namespace Infrastructure.Persistence; /// Initializes a new instance of the class. /// /// The database context options. -/// The auditing save changes interceptor. +/// The auditing save changes interceptor. /// The soft deletable save changes interceptor. [SuppressMessage("Style", "IDE0058", Justification = "Not relevant here, repository context.")] -internal sealed partial class RepositoryContext(DbContextOptions dbContextOptions, AuditingInterceptor auditingInterceptor, SoftDeletableInterceptor softDeletableInterceptor) +internal sealed partial class RepositoryContext(DbContextOptions dbContextOptions, UserAuditingInterceptor userAuditingInterceptor, SoftDeletableInterceptor softDeletableInterceptor) : IdentityDbContext(dbContextOptions), IRepositoryContext { protected override void OnModelCreating(ModelBuilder builder) @@ -39,7 +40,7 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { base.OnConfiguring(optionsBuilder); - optionsBuilder.AddInterceptors(auditingInterceptor, softDeletableInterceptor); + optionsBuilder.AddInterceptors(userAuditingInterceptor, softDeletableInterceptor); optionsBuilder.ReplaceService(); } } diff --git a/src/Infrastructure/Services/RepositoryService.cs b/src/Infrastructure/Services/RepositoryService.cs index e3f74af3..a2832fa7 100644 --- a/src/Infrastructure/Services/RepositoryService.cs +++ b/src/Infrastructure/Services/RepositoryService.cs @@ -6,6 +6,7 @@ using Infrastructure.Persistence.Repositories; using Infrastructure.Persistence.Repositories.Documents; +using Infrastructure.Persistence.Repositories.Finance; using Infrastructure.Persistence.Repositories.Todo; namespace Infrastructure.Services; diff --git a/tests/ApplicationTests/Extensions/QueryableExtensionsTests.cs b/tests/ApplicationTests/Extensions/QueryableExtensionsTests.cs index 16514ed0..311863cf 100644 --- a/tests/ApplicationTests/Extensions/QueryableExtensionsTests.cs +++ b/tests/ApplicationTests/Extensions/QueryableExtensionsTests.cs @@ -3,9 +3,9 @@ using BB84.Extensions; +using Domain.Entities.Attendance; +using Domain.Entities.Finance; using Domain.Enumerators.Attendance; -using Domain.Models.Attendance; -using Domain.Models.Finance; using FluentAssertions; @@ -25,7 +25,7 @@ public void FilterByParametersWithAttendanceParametersValues() { DateTime minDate = new(2000, 1, 1), maxDate = new(2000, 1, 31); AttendanceType type = AttendanceType.HOLIDAY; - IQueryable models = GetAttendances(minDate, maxDate, type); + IQueryable models = GetAttendances(minDate, maxDate, type); AttendanceParameters parameters = new() { Year = minDate.Year, @@ -37,7 +37,7 @@ public void FilterByParametersWithAttendanceParametersValues() PageSize = maxDate.Day }; - IQueryable filteredModels = models.FilterByParameters(parameters); + IQueryable filteredModels = models.FilterByParameters(parameters); filteredModels.Should().HaveCount(parameters.PageSize); } @@ -48,10 +48,10 @@ public void FilterByParametersWithoutAttendanceParametersValues() { DateTime minDate = new(2000, 1, 1), maxDate = new(2000, 1, 31); AttendanceType type = AttendanceType.HOLIDAY; - IQueryable models = GetAttendances(minDate, maxDate, type); + IQueryable models = GetAttendances(minDate, maxDate, type); AttendanceParameters parameters = new(); - IQueryable filteredModels = models.FilterByParameters(parameters); + IQueryable filteredModels = models.FilterByParameters(parameters); filteredModels.Should().HaveCount(maxDate.Day); } @@ -61,7 +61,7 @@ public void FilterByParametersWithoutAttendanceParametersValues() public void FilterByParametersWithTransactionParametersValues() { DateTime minDate = new(2000, 1, 1), maxDate = new(2000, 1, 31); - IQueryable models = GetTransactions(minDate, maxDate); + IQueryable models = GetTransactions(minDate, maxDate); TransactionParameters parameters = new() { Beneficiary = GetString(250), @@ -73,7 +73,7 @@ public void FilterByParametersWithTransactionParametersValues() PageSize = maxDate.Day }; - IQueryable filteredModels = models.FilterByParameters(parameters); + IQueryable filteredModels = models.FilterByParameters(parameters); filteredModels.Should().HaveCount(0); } @@ -83,21 +83,21 @@ public void FilterByParametersWithTransactionParametersValues() public void FilterByParametersWithoutTransactionParametersValues() { DateTime minDate = new(2000, 1, 1), maxDate = new(2000, 1, 31); - IQueryable models = GetTransactions(minDate, maxDate); + IQueryable models = GetTransactions(minDate, maxDate); TransactionParameters parameters = new(); - IQueryable filteredModels = models.FilterByParameters(parameters); + IQueryable filteredModels = models.FilterByParameters(parameters); filteredModels.Should().HaveCount(maxDate.Day); } - private static IQueryable GetAttendances(DateTime minDate, DateTime maxDate, AttendanceType type) + private static IQueryable GetAttendances(DateTime minDate, DateTime maxDate, AttendanceType type) { DateTime currentDate = minDate; - List models = []; + List models = []; while (currentDate <= maxDate) { - AttendanceModel attendance = new() + AttendanceEntity attendance = new() { Id = Guid.NewGuid(), Date = currentDate, @@ -110,17 +110,17 @@ private static IQueryable GetAttendances(DateTime minDate, Date return models.AsQueryable(); } - private static IQueryable GetTransactions(DateTime minDate, DateTime maxDate) + private static IQueryable GetTransactions(DateTime minDate, DateTime maxDate) { DateTime currentDate = minDate; - List models = []; + List models = []; while (currentDate <= maxDate) { - TransactionModel transaction = new() + TransactionEntity transaction = new() { Id = Guid.NewGuid(), - CreatedBy = GetString(50), - ModifiedBy = GetString(50), + Creator = GetString(50), + Editor = GetString(50), BookingDate = currentDate, ValueDate = currentDate.AddDays(1), PostingText = GetString(100), diff --git a/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.Create.cs b/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.Create.cs index f9d11dc5..610e2853 100644 --- a/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.Create.cs +++ b/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.Create.cs @@ -7,8 +7,8 @@ using BaseTests.Helpers; +using Domain.Entities.Attendance; using Domain.Errors; -using Domain.Models.Attendance; using Domain.Results; using FluentAssertions; @@ -28,11 +28,11 @@ public async Task CreateShouldReturnConflictWhenExistingEntryFound() { Guid id = Guid.NewGuid(); AttendanceCreateRequest request = RequestHelper.GetAttendanceCreateRequest(); - AttendanceModel model = new() { Date = DateTime.Today }; + AttendanceEntity model = new() { Date = DateTime.Today }; string[] parameters = [$"{id}", $"{request.Date}"]; Mock mock = new(); mock.Setup(x => x.GetByConditionAsync(x => x.UserId.Equals(id) && x.Date.Equals(request.Date), null, false, false, default)) - .Returns(Task.FromResult(model)); + .Returns(Task.FromResult(model)); AttendanceService sut = CreateMockedInstance(mock.Object); ErrorOr result = await sut.Create(id, request) @@ -56,7 +56,7 @@ public async Task CreateShouldReturnCreatedWhenSuccessful() string[] parameters = [$"{id}", $"{request.Date}"]; Mock mock = new(); mock.Setup(x => x.GetByConditionAsync(x => x.UserId.Equals(id) && x.Date.Equals(request.Date), null, false, false, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); AttendanceService sut = CreateMockedInstance(mock.Object); ErrorOr result = await sut.Create(id, request) @@ -68,7 +68,7 @@ public async Task CreateShouldReturnCreatedWhenSuccessful() result.IsError.Should().BeFalse(); result.Errors.Should().BeEmpty(); result.Value.Should().Be(Result.Created); - mock.Verify(x => x.CreateAsync(It.IsAny(), default), Times.Once); + mock.Verify(x => x.CreateAsync(It.IsAny(), default), Times.Once); _repositoryServiceMock.Verify(x => x.CommitChangesAsync(default), Times.Once); _loggerServiceMock.Verify(x => x.Log(It.IsAny>(), parameters, It.IsAny()), Times.Never); }); diff --git a/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.CreateMultiple.cs b/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.CreateMultiple.cs index 47204b19..71ac4493 100644 --- a/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.CreateMultiple.cs +++ b/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.CreateMultiple.cs @@ -7,8 +7,8 @@ using BaseTests.Helpers; +using Domain.Entities.Attendance; using Domain.Errors; -using Domain.Models.Attendance; using Domain.Results; using FluentAssertions; @@ -28,7 +28,7 @@ public async Task CreateMultipleShouldReturnConflictWhenExistingEntriesFound() { Guid id = Guid.NewGuid(); IEnumerable requests = [RequestHelper.GetAttendanceCreateRequest()]; - IEnumerable models = [new() { Date = DateTime.Today }]; + IEnumerable models = [new() { Date = DateTime.Today }]; Mock mock = new(); mock.Setup(x => x.GetManyByConditionAsync(x => x.UserId.Equals(id) && requests.Select(x => x.Date).Contains(x.Date), null, false, null, null, null, false, default)) .Returns(Task.FromResult(models)); @@ -54,7 +54,7 @@ public async Task CreateMultipleShouldReturnCreatedWhenSuccessful() IEnumerable requests = [RequestHelper.GetAttendanceCreateRequest()]; Mock mock = new(); mock.Setup(x => x.GetManyByConditionAsync(x => x.UserId.Equals(id) && requests.Select(x => x.Date).Contains(x.Date), null, false, null, null, null, false, default)) - .Returns(Task.FromResult>([])); + .Returns(Task.FromResult>([])); AttendanceService sut = CreateMockedInstance(mock.Object); ErrorOr result = await sut.CreateMultiple(id, requests) @@ -66,7 +66,7 @@ public async Task CreateMultipleShouldReturnCreatedWhenSuccessful() result.IsError.Should().BeFalse(); result.Errors.Should().BeEmpty(); result.Value.Should().Be(Result.Created); - mock.Verify(x => x.CreateAsync(It.IsAny>(), default), Times.Once); + mock.Verify(x => x.CreateAsync(It.IsAny>(), default), Times.Once); _repositoryServiceMock.Verify(x => x.CommitChangesAsync(default), Times.Once); _loggerServiceMock.Verify(x => x.Log(It.IsAny>(), It.IsAny(), It.IsAny()), Times.Never); }); diff --git a/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.DeleteById.cs b/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.DeleteById.cs index 22d2bec5..66a15fe6 100644 --- a/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.DeleteById.cs +++ b/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.DeleteById.cs @@ -4,8 +4,8 @@ using BaseTests.Helpers; +using Domain.Entities.Attendance; using Domain.Errors; -using Domain.Models.Attendance; using Domain.Results; using FluentAssertions; @@ -45,7 +45,7 @@ public async Task DeleteByIdShouldReturnNotFoundWhenNotFound() Guid id = Guid.NewGuid(); Mock mock = new(); mock.Setup(x => x.GetByIdAsync(id, default, default, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); AttendanceService sut = CreateMockedInstance(mock.Object); ErrorOr result = await sut.DeleteById(id, default) @@ -66,10 +66,10 @@ public async Task DeleteByIdShouldReturnNotFoundWhenNotFound() public async Task DeleteByIdShouldReturnDeletedWhenSuccessful() { Guid id = Guid.NewGuid(); - AttendanceModel model = new(); + AttendanceEntity model = new(); Mock mock = new(); mock.Setup(x => x.GetByIdAsync(id, default, default, default)) - .Returns(Task.FromResult(model)); + .Returns(Task.FromResult(model)); mock.Setup(x => x.DeleteAsync(model, default)) .Returns(Task.CompletedTask); AttendanceService sut = CreateMockedInstance(mock.Object); diff --git a/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.DeleteByIds.cs b/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.DeleteByIds.cs index a78fcb9f..bce19b47 100644 --- a/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.DeleteByIds.cs +++ b/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.DeleteByIds.cs @@ -4,8 +4,8 @@ using BaseTests.Helpers; +using Domain.Entities.Attendance; using Domain.Errors; -using Domain.Models.Attendance; using Domain.Results; using FluentAssertions; @@ -46,7 +46,7 @@ public async Task DeleteByIdsShouldReturnNotFoundWhenNotFound() IEnumerable ids = [Guid.NewGuid(), Guid.NewGuid()]; Mock mock = new(); mock.Setup(x => x.GetByIdsAsync(ids, default, default, default)) - .Returns(Task.FromResult>([])); + .Returns(Task.FromResult>([])); AttendanceService sut = CreateMockedInstance(mock.Object); ErrorOr result = await sut.DeleteByIds(ids) @@ -67,7 +67,7 @@ public async Task DeleteByIdsShouldReturnNotFoundWhenNotFound() public async Task DeleteByIdsShouldReturnDeletedWhenSuccessful() { IEnumerable ids = [Guid.NewGuid(), Guid.NewGuid()]; - IEnumerable attendances = [new(), new()]; + IEnumerable attendances = [new(), new()]; Mock mock = new(); mock.Setup(x => x.GetByIdsAsync(ids, default, default, default)) .Returns(Task.FromResult(attendances)); diff --git a/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.GetByDate.cs b/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.GetByDate.cs index a91ee13b..4f68c6b0 100644 --- a/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.GetByDate.cs +++ b/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.GetByDate.cs @@ -5,9 +5,9 @@ using BaseTests.Helpers; +using Domain.Entities.Attendance; using Domain.Enumerators.Attendance; using Domain.Errors; -using Domain.Models.Attendance; using FluentAssertions; @@ -49,7 +49,7 @@ public async Task GetByDateShouldReturnNotFoundWhenNotFound() DateTime date = DateTime.Today; Mock mock = new(); mock.Setup(x => x.GetByConditionAsync(x => x.UserId.Equals(userId) && x.Date.Equals(date.Date), null, false, false, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); AttendanceService sut = CreateMockedInstance(mock.Object); ErrorOr result = await sut.GetByDate(userId, date) @@ -70,10 +70,10 @@ public async Task GetByDateShouldReturnValidResultWhenSuccessful() { Guid userId = Guid.NewGuid(); DateTime date = DateTime.Today; - AttendanceModel model = new() { Id = userId, Date = date.Date, Type = AttendanceType.WORKDAY, StartTime = TimeSpan.MinValue, EndTime = TimeSpan.MinValue, BreakTime = TimeSpan.MinValue }; + AttendanceEntity model = new() { Id = userId, Date = date.Date, Type = AttendanceType.WORKDAY, StartTime = TimeSpan.MinValue, EndTime = TimeSpan.MinValue, BreakTime = TimeSpan.MinValue }; Mock mock = new(); mock.Setup(x => x.GetByConditionAsync(x => x.UserId.Equals(userId) && x.Date.Equals(date.Date), null, false, false, default)) - .Returns(Task.FromResult(model)); + .Returns(Task.FromResult(model)); AttendanceService sut = CreateMockedInstance(mock.Object); ErrorOr result = await sut.GetByDate(userId, date) diff --git a/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.GetPagedByParameters.cs b/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.GetPagedByParameters.cs index 834787b8..9456fe78 100644 --- a/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.GetPagedByParameters.cs +++ b/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.GetPagedByParameters.cs @@ -9,8 +9,8 @@ using BaseTests.Helpers; +using Domain.Entities.Attendance; using Domain.Errors; -using Domain.Models.Attendance; using FluentAssertions; @@ -51,8 +51,8 @@ public async Task GetPagedByParametersShouldReturnResultWhenSuccessful() AttendanceParameters parameters = new(); Mock mock = new(); mock.Setup(x => x.CountAsync( - It.IsAny>?>(), - It.IsAny, IQueryable>?>(), false, default) + It.IsAny>?>(), + It.IsAny, IQueryable>?>(), false, default) ).Returns(Task.FromResult(10)); AttendanceService sut = CreateMockedInstance(mock.Object); diff --git a/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.Update.cs b/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.Update.cs index 87a7337b..57efb0d1 100644 --- a/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.Update.cs +++ b/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.Update.cs @@ -7,9 +7,9 @@ using BaseTests.Helpers; +using Domain.Entities.Attendance; using Domain.Enumerators.Attendance; using Domain.Errors; -using Domain.Models.Attendance; using Domain.Results; using FluentAssertions; @@ -30,7 +30,7 @@ public async Task UpdateShouldReturnNotFoundWhenNotFound() AttendanceUpdateRequest request = RequestHelper.GetAttendanceUpdateRequest(); Mock mock = new(); mock.Setup(x => x.GetByIdAsync(request.Id, false, true, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); AttendanceService sut = CreateMockedInstance(mock.Object); ErrorOr result = await sut.Update(request) @@ -50,10 +50,10 @@ public async Task UpdateShouldReturnNotFoundWhenNotFound() public async Task UpdateShouldReturnCreatedWhenSuccessful() { AttendanceUpdateRequest request = RequestHelper.GetAttendanceUpdateRequest(); - AttendanceModel model = new() { Type = AttendanceType.WORKDAY, StartTime = TimeSpan.Zero, EndTime = TimeSpan.Zero, BreakTime = TimeSpan.Zero }; + AttendanceEntity model = new() { Type = AttendanceType.WORKDAY, StartTime = TimeSpan.Zero, EndTime = TimeSpan.Zero, BreakTime = TimeSpan.Zero }; Mock mock = new(); mock.Setup(x => x.GetByIdAsync(request.Id, false, true, default)) - .Returns(Task.FromResult(model)); + .Returns(Task.FromResult(model)); AttendanceService sut = CreateMockedInstance(mock.Object); ErrorOr result = await sut.Update(request) diff --git a/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.UpdateMultiple.cs b/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.UpdateMultiple.cs index 7baf0c09..2b0dd3ed 100644 --- a/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.UpdateMultiple.cs +++ b/tests/ApplicationTests/Services/Attendance/AttendanceServiceTests.UpdateMultiple.cs @@ -7,9 +7,9 @@ using BaseTests.Helpers; +using Domain.Entities.Attendance; using Domain.Enumerators.Attendance; using Domain.Errors; -using Domain.Models.Attendance; using Domain.Results; using FluentAssertions; @@ -30,7 +30,7 @@ public async Task UpdateMultipleShouldReturnNotFoundWhenNotFound() IEnumerable requests = [RequestHelper.GetAttendanceUpdateRequest()]; Mock mock = new(); mock.Setup(x => x.GetByIdsAsync(It.IsAny>(), It.IsAny(), It.IsAny(), default)) - .Returns(Task.FromResult>([])); + .Returns(Task.FromResult>([])); AttendanceService sut = CreateMockedInstance(mock.Object); ErrorOr result = await sut.UpdateMultiple(requests) @@ -50,7 +50,7 @@ public async Task UpdateMultipleShouldReturnNotFoundWhenNotFound() public async Task UpdateMultipleShouldReturnCreatedWhenSuccessful() { IEnumerable requests = [RequestHelper.GetAttendanceUpdateRequest()]; - IEnumerable models = [new() { Id = requests.First().Id, Type = AttendanceType.VACATION }]; + IEnumerable models = [new() { Id = requests.First().Id, Type = AttendanceType.VACATION }]; Mock mock = new(); mock.Setup(x => x.GetByIdsAsync(It.IsAny>(), It.IsAny(), It.IsAny(), default)) .Returns(Task.FromResult(models)); diff --git a/tests/ApplicationTests/Services/Documents/DocumentServiceTests.Create.cs b/tests/ApplicationTests/Services/Documents/DocumentServiceTests.Create.cs index 84fb7de6..2a504fa0 100644 --- a/tests/ApplicationTests/Services/Documents/DocumentServiceTests.Create.cs +++ b/tests/ApplicationTests/Services/Documents/DocumentServiceTests.Create.cs @@ -10,8 +10,8 @@ using BB84.Extensions; using BB84.Extensions.Serialization; +using Domain.Entities.Documents; using Domain.Errors; -using Domain.Models.Documents; using Domain.Results; using FluentAssertions; @@ -54,10 +54,10 @@ public async Task CreateShouldReturnCreatedWhenSuccessful() byte[] md5Hash = request.Content.GetMD5(); Mock extRepoMock = new(); extRepoMock.Setup(x => x.GetByConditionAsync(x => x.Name == request.ExtensionName, default, default, default, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); Mock dataRepoMock = new(); dataRepoMock.Setup(x => x.GetByConditionAsync(x => x.MD5Hash.SequenceEqual(md5Hash), default, default, default, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); Mock docRepoMock = new(); DocumentService sut = CreateMockedInstance(docRepoMock.Object, extRepoMock.Object, dataRepoMock.Object); @@ -72,7 +72,7 @@ public async Task CreateShouldReturnCreatedWhenSuccessful() result.Value.Should().Be(Result.Created); extRepoMock.Verify(x => x.GetByConditionAsync(x => x.Name == request.ExtensionName, default, default, default, default), Times.Once()); //dataRepoMock.Verify(x => x.GetByConditionAsync(x => x.MD5Hash.SequenceEqual(md5Hash), default, default, default, default), Times.Once()); - docRepoMock.Verify(x => x.CreateAsync(It.IsAny(), default), Times.Once()); + docRepoMock.Verify(x => x.CreateAsync(It.IsAny(), default), Times.Once()); _repositoryServiceMock.Verify(x => x.CommitChangesAsync(default), Times.Once()); _loggerServiceMock.Verify(x => x.Log(It.IsAny>(), It.IsAny(), It.IsAny()), Times.Never); }); diff --git a/tests/ApplicationTests/Services/Documents/DocumentServiceTests.CreateMultiple.cs b/tests/ApplicationTests/Services/Documents/DocumentServiceTests.CreateMultiple.cs index 7dcf12b1..a01eca92 100644 --- a/tests/ApplicationTests/Services/Documents/DocumentServiceTests.CreateMultiple.cs +++ b/tests/ApplicationTests/Services/Documents/DocumentServiceTests.CreateMultiple.cs @@ -10,8 +10,8 @@ using BB84.Extensions; using BB84.Extensions.Serialization; +using Domain.Entities.Documents; using Domain.Errors; -using Domain.Models.Documents; using Domain.Results; using FluentAssertions; @@ -76,10 +76,10 @@ public async Task CreateMultipleShouldReturnCreatedWhenSuccessful() byte[] md5Hash = request.Content.GetMD5(); Mock extRepoMock = new(); extRepoMock.Setup(x => x.GetByConditionAsync(x => x.Name == request.ExtensionName, default, default, default, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); Mock dataRepoMock = new(); dataRepoMock.Setup(x => x.GetByConditionAsync(x => x.MD5Hash.SequenceEqual(md5Hash), default, default, default, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); Mock docRepoMock = new(); DocumentService sut = CreateMockedInstance(docRepoMock.Object, extRepoMock.Object, dataRepoMock.Object); @@ -94,7 +94,7 @@ public async Task CreateMultipleShouldReturnCreatedWhenSuccessful() result.Value.Should().Be(Result.Created); extRepoMock.Verify(x => x.GetByConditionAsync(x => x.Name == request.ExtensionName, default, default, default, default), Times.Once()); //dataRepoMock.Verify(x => x.GetByConditionAsync(x => x.MD5Hash.SequenceEqual(md5Hash), default, default, default, default), Times.Once()); - docRepoMock.Verify(x => x.CreateAsync(It.IsAny>(), default), Times.Once()); + docRepoMock.Verify(x => x.CreateAsync(It.IsAny>(), default), Times.Once()); _repositoryServiceMock.Verify(x => x.CommitChangesAsync(default), Times.Once()); _loggerServiceMock.Verify(x => x.Log(It.IsAny>(), It.IsAny(), It.IsAny()), Times.Never); }); diff --git a/tests/ApplicationTests/Services/Documents/DocumentServiceTests.DeleteById.cs b/tests/ApplicationTests/Services/Documents/DocumentServiceTests.DeleteById.cs index 79a49bb9..1055bbfa 100644 --- a/tests/ApplicationTests/Services/Documents/DocumentServiceTests.DeleteById.cs +++ b/tests/ApplicationTests/Services/Documents/DocumentServiceTests.DeleteById.cs @@ -4,8 +4,8 @@ using BaseTests.Helpers; +using Domain.Entities.Documents; using Domain.Errors; -using Domain.Models.Documents; using Domain.Results; using FluentAssertions; @@ -44,7 +44,7 @@ public async Task DeleteByIdShouldReturnNotFoundWhenNotFound() Guid id = Guid.NewGuid(); Mock docRepoMock = new(); docRepoMock.Setup(x => x.GetByIdAsync(id, default, default, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); DocumentService sut = CreateMockedInstance(docRepoMock.Object); ErrorOr result = await sut.DeleteById(id) @@ -65,10 +65,10 @@ public async Task DeleteByIdShouldReturnNotFoundWhenNotFound() public async Task DeleteByIdShouldReturnDeletedWhenSuccessful() { Guid id = Guid.NewGuid(); - Document document = CreateDocument(id); + DocumentEntity document = CreateDocument(id); Mock docRepoMock = new(); docRepoMock.Setup(x => x.GetByIdAsync(id, default, default, default)) - .Returns(Task.FromResult(document)); + .Returns(Task.FromResult(document)); DocumentService sut = CreateMockedInstance(docRepoMock.Object); ErrorOr result = await sut.DeleteById(id) diff --git a/tests/ApplicationTests/Services/Documents/DocumentServiceTests.DeleteByIds.cs b/tests/ApplicationTests/Services/Documents/DocumentServiceTests.DeleteByIds.cs index 5d8a2491..5f540ef9 100644 --- a/tests/ApplicationTests/Services/Documents/DocumentServiceTests.DeleteByIds.cs +++ b/tests/ApplicationTests/Services/Documents/DocumentServiceTests.DeleteByIds.cs @@ -4,8 +4,8 @@ using BaseTests.Helpers; +using Domain.Entities.Documents; using Domain.Errors; -using Domain.Models.Documents; using Domain.Results; using FluentAssertions; @@ -47,7 +47,7 @@ public async Task DeleteByIdsShouldReturnNotFoundWhenNotFound() IEnumerable ids = [Guid.NewGuid()]; Mock docRepoMock = new(); docRepoMock.Setup(x => x.GetManyByConditionAsync(x => x.UserId.Equals(userId) && ids.Contains(x.Id), default, default, default, default, default, default, default)) - .Returns(Task.FromResult>([])); + .Returns(Task.FromResult>([])); DocumentService sut = CreateMockedInstance(docRepoMock.Object); ErrorOr result = await sut.DeleteByIds(userId, ids) @@ -69,7 +69,7 @@ public async Task DeleteByIdsShouldReturnDeletedWhenSuccessful() { Guid userId = Guid.NewGuid(); IEnumerable ids = [Guid.NewGuid()]; - IEnumerable documents = [CreateDocument()]; + IEnumerable documents = [CreateDocument()]; Mock docRepoMock = new(); docRepoMock.Setup(x => x.GetManyByConditionAsync(x => x.UserId.Equals(userId) && ids.Contains(x.Id), default, default, default, default, default, default, default)) .Returns(Task.FromResult(documents)); diff --git a/tests/ApplicationTests/Services/Documents/DocumentServiceTests.GetById.cs b/tests/ApplicationTests/Services/Documents/DocumentServiceTests.GetById.cs index eba3942f..88f14500 100644 --- a/tests/ApplicationTests/Services/Documents/DocumentServiceTests.GetById.cs +++ b/tests/ApplicationTests/Services/Documents/DocumentServiceTests.GetById.cs @@ -5,8 +5,8 @@ using BaseTests.Helpers; +using Domain.Entities.Documents; using Domain.Errors; -using Domain.Models.Documents; using FluentAssertions; @@ -43,9 +43,9 @@ public async Task GetByIdShouldReturnNotFoundWhenNotFound() { Guid id = Guid.NewGuid(); Mock docRepoMock = new(); - string[] includes = [nameof(Document.Data), nameof(Document.Extension)]; + string[] includes = [nameof(DocumentEntity.Data), nameof(DocumentEntity.Extension)]; docRepoMock.Setup(x => x.GetByIdAsync(id, default, default, default, includes)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); DocumentService sut = CreateMockedInstance(docRepoMock.Object); ErrorOr result = await sut.GetById(id) @@ -67,10 +67,10 @@ public async Task GetByIdShouldReturnResultWhenSuccessful() { Guid id = Guid.NewGuid(); Mock docRepoMock = new(); - string[] includes = [nameof(Document.Data), nameof(Document.Extension)]; - Document document = CreateDocument(id); + string[] includes = [nameof(DocumentEntity.Data), nameof(DocumentEntity.Extension)]; + DocumentEntity document = CreateDocument(id); docRepoMock.Setup(x => x.GetByIdAsync(id, default, default, default, includes)) - .Returns(Task.FromResult(document)); + .Returns(Task.FromResult(document)); DocumentService sut = CreateMockedInstance(docRepoMock.Object); ErrorOr result = await sut.GetById(id) diff --git a/tests/ApplicationTests/Services/Documents/DocumentServiceTests.GetPagedByParameters.cs b/tests/ApplicationTests/Services/Documents/DocumentServiceTests.GetPagedByParameters.cs index 465e2caf..7250b491 100644 --- a/tests/ApplicationTests/Services/Documents/DocumentServiceTests.GetPagedByParameters.cs +++ b/tests/ApplicationTests/Services/Documents/DocumentServiceTests.GetPagedByParameters.cs @@ -11,8 +11,8 @@ using BB84.Extensions.Serialization; +using Domain.Entities.Documents; using Domain.Errors; -using Domain.Models.Documents; using FluentAssertions; @@ -51,15 +51,15 @@ public async Task GetPagedByParametersShouldReturnResultWhenSuccessful() { Guid userId = Guid.NewGuid(); DocumentParameters parameters = new(); - IEnumerable documents = [CreateDocument(), CreateDocument()]; + IEnumerable documents = [CreateDocument(), CreateDocument()]; Mock docRepoMock = new(); docRepoMock.Setup(x => x.GetManyByConditionAsync( - It.IsAny>?>(), It.IsAny, IQueryable>?>(), default, - It.IsAny, IOrderedQueryable>?>(), (parameters.PageNumber - 1) * parameters.PageSize, + It.IsAny>?>(), It.IsAny, IQueryable>?>(), default, + It.IsAny, IOrderedQueryable>?>(), (parameters.PageNumber - 1) * parameters.PageSize, parameters.PageSize, default, default)) .Returns(Task.FromResult(documents)); docRepoMock.Setup(x => x.CountAsync( - It.IsAny>?>(), It.IsAny, IQueryable>?>(), default, default)) + It.IsAny>?>(), It.IsAny, IQueryable>?>(), default, default)) .Returns(Task.FromResult(2)); DocumentService sut = CreateMockedInstance(docRepoMock.Object); diff --git a/tests/ApplicationTests/Services/Documents/DocumentServiceTests.Update.cs b/tests/ApplicationTests/Services/Documents/DocumentServiceTests.Update.cs index 67ee1eae..f5a780dc 100644 --- a/tests/ApplicationTests/Services/Documents/DocumentServiceTests.Update.cs +++ b/tests/ApplicationTests/Services/Documents/DocumentServiceTests.Update.cs @@ -10,8 +10,8 @@ using BB84.Extensions; using BB84.Extensions.Serialization; +using Domain.Entities.Documents; using Domain.Errors; -using Domain.Models.Documents; using Domain.Results; using FluentAssertions; @@ -49,10 +49,10 @@ public async Task UpdateByIdShouldReturnFailedWhenExceptionIsThrown() public async Task UpdateByIdShouldReturnNotFoundWhenNotFound() { DocumentUpdateRequest request = RequestHelper.GetDocumentUpdateRequest(); - string[] includes = [nameof(Document.Extension), nameof(Document.Data)]; + string[] includes = [nameof(DocumentEntity.Extension), nameof(DocumentEntity.Data)]; Mock docRepoMock = new(); docRepoMock.Setup(x => x.GetByIdAsync(request.Id, default, true, default, includes)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); DocumentService sut = CreateMockedInstance(docRepoMock.Object); ErrorOr result = await sut.Update(request) @@ -73,18 +73,18 @@ public async Task UpdateByIdShouldReturnNotFoundWhenNotFound() public async Task UpdateByIdShouldReturnUpdatedWhenSuccessful() { DocumentUpdateRequest request = RequestHelper.GetDocumentUpdateRequest(); - Document document = CreateDocument(); - string[] includes = [nameof(Document.Extension), nameof(Document.Data)]; + DocumentEntity document = CreateDocument(); + string[] includes = [nameof(DocumentEntity.Extension), nameof(DocumentEntity.Data)]; Mock docRepoMock = new(); docRepoMock.Setup(x => x.GetByIdAsync(request.Id, default, true, default, includes)) - .Returns(Task.FromResult(document)); + .Returns(Task.FromResult(document)); Mock extRepoMock = new(); extRepoMock.Setup(x => x.GetByConditionAsync(x => x.Name == request.ExtensionName, default, default, default, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); byte[] md5Hash = request.Content.GetMD5(); Mock dataRepoMock = new(); dataRepoMock.Setup(x => x.GetByConditionAsync(x => x.MD5Hash.SequenceEqual(md5Hash), default, default, default, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); DocumentService sut = CreateMockedInstance(docRepoMock.Object, extRepoMock.Object, dataRepoMock.Object); ErrorOr result = await sut.Update(request) diff --git a/tests/ApplicationTests/Services/Documents/DocumentServiceTests.UpdateMultiple.cs b/tests/ApplicationTests/Services/Documents/DocumentServiceTests.UpdateMultiple.cs index 6d3f139d..2df1d23a 100644 --- a/tests/ApplicationTests/Services/Documents/DocumentServiceTests.UpdateMultiple.cs +++ b/tests/ApplicationTests/Services/Documents/DocumentServiceTests.UpdateMultiple.cs @@ -10,8 +10,8 @@ using BB84.Extensions; using BB84.Extensions.Serialization; +using Domain.Entities.Documents; using Domain.Errors; -using Domain.Models.Documents; using Domain.Results; using FluentAssertions; @@ -71,11 +71,11 @@ public async Task UpdateByIdsShouldReturnNotFoundWhenNotFound() { Guid userId = Guid.NewGuid(); IEnumerable requests = [RequestHelper.GetDocumentUpdateRequest()]; - string[] includes = [nameof(Document.Extension), nameof(Document.Data)]; + string[] includes = [nameof(DocumentEntity.Extension), nameof(DocumentEntity.Data)]; Mock docRepoMock = new(); docRepoMock.Setup(x => x.GetManyByConditionAsync(x => x.UserId.Equals(userId) && requests.Select(x => x.Id).Contains(x.Id), default, default, default, default, default, true, default, includes)) - .Returns(Task.FromResult>([])); + .Returns(Task.FromResult>([])); DocumentService sut = CreateMockedInstance(docRepoMock.Object); ErrorOr result = await sut.Update(userId, requests) @@ -98,20 +98,20 @@ public async Task UpdateByIdsShouldReturnUpdatedWhenSuccessful() { Guid userId = Guid.NewGuid(); DocumentUpdateRequest request = RequestHelper.GetDocumentUpdateRequest(); - Document document = CreateDocument(request.Id); + DocumentEntity document = CreateDocument(request.Id); IEnumerable requests = [request]; - string[] includes = [nameof(Document.Extension), nameof(Document.Data)]; + string[] includes = [nameof(DocumentEntity.Extension), nameof(DocumentEntity.Data)]; Mock docRepoMock = new(); docRepoMock.Setup(x => x.GetManyByConditionAsync(x => x.UserId.Equals(userId) && requests.Select(x => x.Id).Contains(x.Id), default, default, default, default, default, true, default, includes)) - .Returns(Task.FromResult>([document])); + .Returns(Task.FromResult>([document])); Mock extRepoMock = new(); extRepoMock.Setup(x => x.GetByConditionAsync(x => x.Name == request.ExtensionName, default, default, default, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); byte[] md5Hash = request.Content.GetMD5(); Mock dataRepoMock = new(); dataRepoMock.Setup(x => x.GetByConditionAsync(x => x.MD5Hash.SequenceEqual(md5Hash), default, default, default, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); DocumentService sut = CreateMockedInstance(docRepoMock.Object, extRepoMock.Object, dataRepoMock.Object); ErrorOr result = await sut.Update(userId, requests) diff --git a/tests/ApplicationTests/Services/Documents/DocumentServiceTests.cs b/tests/ApplicationTests/Services/Documents/DocumentServiceTests.cs index 1a5b8940..85bcbade 100644 --- a/tests/ApplicationTests/Services/Documents/DocumentServiceTests.cs +++ b/tests/ApplicationTests/Services/Documents/DocumentServiceTests.cs @@ -8,10 +8,9 @@ using BB84.Extensions; using BaseTests.Helpers; -using Domain.Models.Documents; - using Moq; using System; +using Domain.Entities.Documents; namespace ApplicationTests.Services.Documents; @@ -43,14 +42,14 @@ private DocumentService CreateMockedInstance(IDocumentRepository? documentReposi return new(_loggerServiceMock.Object, _repositoryServiceMock.Object, _mapper); } - private static Document CreateDocument(Guid? id = null) + private static DocumentEntity CreateDocument(Guid? id = null) { Guid dataId = Guid.NewGuid(), extensionId = Guid.NewGuid(); string radomContent = RandomHelper.GetString(100); - Document document = new() + DocumentEntity document = new() { CreationTime = RandomHelper.GetDateTime(), Data = new() diff --git a/tests/ApplicationTests/Services/Finance/AccountServiceTests.Create.cs b/tests/ApplicationTests/Services/Finance/AccountServiceTests.Create.cs index b8f294be..665e4431 100644 --- a/tests/ApplicationTests/Services/Finance/AccountServiceTests.Create.cs +++ b/tests/ApplicationTests/Services/Finance/AccountServiceTests.Create.cs @@ -9,8 +9,8 @@ using BaseTests.Helpers; +using Domain.Entities.Finance; using Domain.Errors; -using Domain.Models.Finance; using Domain.Results; using FluentAssertions; @@ -48,11 +48,11 @@ public async Task CreateShouldReturnFailedWhenExceptionIsThrown() public async Task CreateShouldReturnConflictWhenAccountNumberAlreadyExists() { Guid userId = Guid.NewGuid(); - AccountModel model = new(); + AccountEntity model = new(); AccountCreateRequest request = RequestHelper.GetAccountCreateRequest(); Mock accountMock = new(); - accountMock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default)) - .Returns(Task.FromResult(model)); + accountMock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default)) + .Returns(Task.FromResult(model)); AccountService sut = CreateMockedInstance(accountMock.Object); ErrorOr result = await sut.Create(userId, request); @@ -62,7 +62,7 @@ public async Task CreateShouldReturnConflictWhenAccountNumberAlreadyExists() result.Should().NotBeNull(); result.IsError.Should().BeTrue(); result.Errors.First().Should().Be(AccountServiceErrors.CreateAccountNumberConflict(request.IBAN)); - accountMock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default), Times.Once); + accountMock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default), Times.Once); _loggerServiceMock.Verify(x => x.Log(It.IsAny>(), request, It.IsAny()), Times.Never); }); } @@ -72,15 +72,15 @@ public async Task CreateShouldReturnConflictWhenAccountNumberAlreadyExists() public async Task CreateShouldReturnConflictWhenCardNumberAlreadyExists() { Guid userId = Guid.NewGuid(); - AccountModel accountModel = new(); - CardModel cardModel = new(); + AccountEntity accountModel = new(); + CardEntity cardModel = new(); AccountCreateRequest accountRequest = RequestHelper.GetAccountCreateRequest(); Mock accountMock = new(); - accountMock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default)) - .Returns(Task.FromResult(null)); + accountMock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default)) + .Returns(Task.FromResult(null)); Mock cardMock = new(); - cardMock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default)) - .Returns(Task.FromResult(cardModel)); + cardMock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default)) + .Returns(Task.FromResult(cardModel)); AccountService sut = CreateMockedInstance(accountMock.Object, cardMock.Object); ErrorOr result = await sut.Create(userId, accountRequest); @@ -90,8 +90,8 @@ public async Task CreateShouldReturnConflictWhenCardNumberAlreadyExists() result.Should().NotBeNull(); result.IsError.Should().BeTrue(); result.Errors.First().Should().Be(AccountServiceErrors.CreateCardNumberConflict(accountRequest.Cards!.First().PAN)); - accountMock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default), Times.Once); - cardMock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default), Times.Once); + accountMock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default), Times.Once); + cardMock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default), Times.Once); _loggerServiceMock.Verify(x => x.Log(It.IsAny>(), accountRequest, It.IsAny()), Times.Never); }); } @@ -103,11 +103,11 @@ public async Task CreateShouldReturnCreatedWhenSuccessful() Guid userId = Guid.NewGuid(); AccountCreateRequest accountRequest = RequestHelper.GetAccountCreateRequest(); Mock accountMock = new(); - accountMock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default)) - .Returns(Task.FromResult(null)); + accountMock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default)) + .Returns(Task.FromResult(null)); Mock cardMock = new(); - cardMock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default)) - .Returns(Task.FromResult(null)); + cardMock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default)) + .Returns(Task.FromResult(null)); AccountService sut = CreateMockedInstance(accountMock.Object, cardMock.Object); ErrorOr result = await sut.Create(userId, accountRequest); @@ -118,9 +118,9 @@ public async Task CreateShouldReturnCreatedWhenSuccessful() result.IsError.Should().BeFalse(); result.Errors.Should().BeEmpty(); result.Value.Should().Be(Result.Created); - accountMock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default), Times.Once); - cardMock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default), Times.Once); - accountMock.Verify(x => x.CreateAsync(It.IsAny(), default), Times.Once); + accountMock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default), Times.Once); + cardMock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default), Times.Once); + accountMock.Verify(x => x.CreateAsync(It.IsAny(), default), Times.Once); _repositoryServiceMock.Verify(x => x.CommitChangesAsync(default), Times.Once); _loggerServiceMock.Verify(x => x.Log(It.IsAny>(), accountRequest, It.IsAny()), Times.Never); }); diff --git a/tests/ApplicationTests/Services/Finance/AccountServiceTests.Delete.cs b/tests/ApplicationTests/Services/Finance/AccountServiceTests.Delete.cs index 7e297f0c..2d062942 100644 --- a/tests/ApplicationTests/Services/Finance/AccountServiceTests.Delete.cs +++ b/tests/ApplicationTests/Services/Finance/AccountServiceTests.Delete.cs @@ -4,8 +4,8 @@ using BaseTests.Helpers; +using Domain.Entities.Finance; using Domain.Errors; -using Domain.Models.Finance; using Domain.Results; using FluentAssertions; @@ -44,7 +44,7 @@ public async Task DeleteShouldReturnNotFoundWhenAccountNotFound() Guid id = Guid.NewGuid(); Mock accountMock = new(); accountMock.Setup(x => x.GetByIdAsync(id, default, default, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); AccountService sut = CreateMockedInstance(accountMock.Object); ErrorOr result = await sut.Delete(id); @@ -64,10 +64,10 @@ public async Task DeleteShouldReturnNotFoundWhenAccountNotFound() public async Task DeleteShouldReturnDeletedWhenSuccessful() { Guid id = Guid.NewGuid(); - AccountModel account = new(); + AccountEntity account = new(); Mock accountMock = new(); accountMock.Setup(x => x.GetByIdAsync(id, default, default, default)) - .Returns(Task.FromResult(account)); + .Returns(Task.FromResult(account)); accountMock.Setup(x => x.DeleteAsync(account, default)) .Returns(Task.CompletedTask); AccountService sut = CreateMockedInstance(accountMock.Object); diff --git a/tests/ApplicationTests/Services/Finance/AccountServiceTests.GetById.cs b/tests/ApplicationTests/Services/Finance/AccountServiceTests.GetById.cs index 2252edca..2835bde2 100644 --- a/tests/ApplicationTests/Services/Finance/AccountServiceTests.GetById.cs +++ b/tests/ApplicationTests/Services/Finance/AccountServiceTests.GetById.cs @@ -7,9 +7,9 @@ using BaseTests.Helpers; +using Domain.Entities.Finance; using Domain.Enumerators.Finance; using Domain.Errors; -using Domain.Models.Finance; using FluentAssertions; @@ -46,8 +46,8 @@ public async Task GetByIdShouldReturnNotFoundWhenAccountNotFound() { Guid id = Guid.NewGuid(); Mock accountMock = new(); - accountMock.Setup(x => x.GetByIdAsync(id, false, false, default, nameof(AccountModel.Cards))) - .Returns(Task.FromResult(null)); + accountMock.Setup(x => x.GetByIdAsync(id, false, false, default, nameof(AccountEntity.Cards))) + .Returns(Task.FromResult(null)); AccountService sut = CreateMockedInstance(accountMock.Object); ErrorOr result = await sut.GetById(id); @@ -67,13 +67,13 @@ public async Task GetByIdShouldReturnNotFoundWhenAccountNotFound() public async Task GetByIdShouldReturnResponseWithNoCardsWhenCardsNotFound() { Guid id = Guid.NewGuid(); - AccountModel accountModel = new() { Id = id, IBAN = "UnitTest", Type = AccountType.CHECKING, Provider = "UnitTest" }; + AccountEntity accountModel = new() { Id = id, IBAN = "UnitTest", Type = AccountType.CHECKING, Provider = "UnitTest" }; Mock accountMock = new(); - accountMock.Setup(x => x.GetByIdAsync(id, false, false, default, nameof(AccountModel.Cards))) - .Returns(Task.FromResult(accountModel)); + accountMock.Setup(x => x.GetByIdAsync(id, false, false, default, nameof(AccountEntity.Cards))) + .Returns(Task.FromResult(accountModel)); Mock cardMock = new(); - cardMock.Setup(x => x.GetManyByConditionAsync(It.IsAny>>(), null, false, null, null, null, false, default)) - .Returns(Task.FromResult>([])); + cardMock.Setup(x => x.GetManyByConditionAsync(It.IsAny>>(), null, false, null, null, null, false, default)) + .Returns(Task.FromResult>([])); AccountService sut = CreateMockedInstance(accountMock.Object, cardMock.Object); ErrorOr result = await sut.GetById(id); @@ -99,14 +99,14 @@ public async Task GetByIdShouldReturnResponseWithNoCardsWhenCardsNotFound() public async Task GetByIdShouldReturnResponseWithCardsWhenCardsFound() { Guid id = Guid.NewGuid(); - CardModel cardModel = new(); - AccountModel accountModel = new() { Cards = [cardModel] }; + CardEntity cardModel = new(); + AccountEntity accountModel = new() { Cards = [cardModel] }; Mock accountMock = new(); - accountMock.Setup(x => x.GetByIdAsync(id, false, false, default, nameof(AccountModel.Cards))) - .Returns(Task.FromResult(accountModel)); + accountMock.Setup(x => x.GetByIdAsync(id, false, false, default, nameof(AccountEntity.Cards))) + .Returns(Task.FromResult(accountModel)); Mock cardMock = new(); - cardMock.Setup(x => x.GetManyByConditionAsync(It.IsAny>>(), null, false, null, null, null, false, default)) - .Returns(Task.FromResult>([cardModel])); + cardMock.Setup(x => x.GetManyByConditionAsync(It.IsAny>>(), null, false, null, null, null, false, default)) + .Returns(Task.FromResult>([cardModel])); AccountService sut = CreateMockedInstance(accountMock.Object, cardMock.Object); ErrorOr result = await sut.GetById(id); diff --git a/tests/ApplicationTests/Services/Finance/AccountServiceTests.GetByUserId.cs b/tests/ApplicationTests/Services/Finance/AccountServiceTests.GetByUserId.cs index 36e14711..e56c0c18 100644 --- a/tests/ApplicationTests/Services/Finance/AccountServiceTests.GetByUserId.cs +++ b/tests/ApplicationTests/Services/Finance/AccountServiceTests.GetByUserId.cs @@ -7,8 +7,8 @@ using BaseTests.Helpers; +using Domain.Entities.Finance; using Domain.Errors; -using Domain.Models.Finance; using FluentAssertions; @@ -44,9 +44,9 @@ public async Task GetByUserIdShouldReturnFailedWhenExceptionIsThrown() public async Task GetByUserIdShouldReturnResponseWhenSuccessful() { Guid id = Guid.NewGuid(); - IEnumerable accounts = [new(), new(), new()]; + IEnumerable accounts = [new(), new(), new()]; Mock accountMock = new(); - accountMock.Setup(x => x.GetManyByConditionAsync(It.IsAny>>(), null, false, null, null, null, false, default)) + accountMock.Setup(x => x.GetManyByConditionAsync(It.IsAny>>(), null, false, null, null, null, false, default)) .Returns(Task.FromResult(accounts)); AccountService sut = CreateMockedInstance(accountMock.Object); diff --git a/tests/ApplicationTests/Services/Finance/AccountServiceTests.Update.cs b/tests/ApplicationTests/Services/Finance/AccountServiceTests.Update.cs index 1edff84b..a0dc0ca4 100644 --- a/tests/ApplicationTests/Services/Finance/AccountServiceTests.Update.cs +++ b/tests/ApplicationTests/Services/Finance/AccountServiceTests.Update.cs @@ -7,8 +7,8 @@ using BaseTests.Helpers; +using Domain.Entities.Finance; using Domain.Errors; -using Domain.Models.Finance; using Domain.Results; using FluentAssertions; @@ -49,7 +49,7 @@ public async Task UpdateShouldReturnNotFoundWhenAccountNotFound() AccountUpdateRequest request = RequestHelper.GetAccountUpdateRequest(); Mock accountMock = new(); accountMock.Setup(x => x.GetByIdAsync(id, default, true, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); AccountService sut = CreateMockedInstance(accountMock.Object); ErrorOr result = await sut.Update(id, request); @@ -69,11 +69,11 @@ public async Task UpdateShouldReturnNotFoundWhenAccountNotFound() public async Task UpdateShouldReturnUpdatedWhenSuccessful() { Guid id = Guid.NewGuid(); - AccountModel account = new(); + AccountEntity account = new(); AccountUpdateRequest request = RequestHelper.GetAccountUpdateRequest(); Mock accountMock = new(); accountMock.Setup(x => x.GetByIdAsync(id, default, true, default)) - .Returns(Task.FromResult(account)); + .Returns(Task.FromResult(account)); AccountService sut = CreateMockedInstance(accountMock.Object); _repositoryServiceMock.Setup(x => x.CommitChangesAsync(default)) .Returns(Task.FromResult(1)); diff --git a/tests/ApplicationTests/Services/Finance/CardServiceTests.Create.cs b/tests/ApplicationTests/Services/Finance/CardServiceTests.Create.cs index 21ad03e6..13656c85 100644 --- a/tests/ApplicationTests/Services/Finance/CardServiceTests.Create.cs +++ b/tests/ApplicationTests/Services/Finance/CardServiceTests.Create.cs @@ -9,8 +9,8 @@ using BaseTests.Helpers; +using Domain.Entities.Finance; using Domain.Errors; -using Domain.Models.Finance; using Domain.Results; using FluentAssertions; @@ -52,7 +52,7 @@ public async Task CreateShouldReturnNotFoundWhenAccountIsNotFound() CardCreateRequest request = RequestHelper.GetCardCreateRequest(); Mock accountMock = new(); accountMock.Setup(x => x.GetByIdAsync(accountId, false, false, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); CardService sut = CreateMockedInstance(accountMock.Object); ErrorOr result = await sut.Create(userId, accountId, request); @@ -73,14 +73,14 @@ public async Task CreateShouldReturnConflictWhenCardNumberIsFound() { Guid userId = Guid.NewGuid(), accountId = Guid.NewGuid(); CardCreateRequest request = RequestHelper.GetCardCreateRequest(); - AccountModel accountModel = new(); + AccountEntity accountModel = new(); Mock accountMock = new(); accountMock.Setup(x => x.GetByIdAsync(accountId, false, false, default)) - .Returns(Task.FromResult(accountModel)); - CardModel cardModel = new() { PAN = request.PAN }; + .Returns(Task.FromResult(accountModel)); + CardEntity cardModel = new() { PAN = request.PAN }; Mock cardMock = new(); - cardMock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default)) - .Returns(Task.FromResult(cardModel)); + cardMock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default)) + .Returns(Task.FromResult(cardModel)); CardService sut = CreateMockedInstance(accountMock.Object, cardMock.Object); ErrorOr result = await sut.Create(userId, accountId, request); @@ -91,7 +91,7 @@ public async Task CreateShouldReturnConflictWhenCardNumberIsFound() result.IsError.Should().BeTrue(); result.Errors.First().Should().Be(CardServiceErrors.CreateNumberConflict(request.PAN)); accountMock.Verify(x => x.GetByIdAsync(accountId, false, false, default), Times.Once); - cardMock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default), Times.Once); + cardMock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default), Times.Once); _loggerServiceMock.Verify(x => x.Log(It.IsAny>(), It.IsAny(), It.IsAny()), Times.Never); }); } @@ -102,13 +102,13 @@ public async Task CreateShouldReturnCreatedWhenCreateIsSuccessful() { Guid userId = Guid.NewGuid(), accountId = Guid.NewGuid(); CardCreateRequest request = RequestHelper.GetCardCreateRequest(); - AccountModel accountModel = new(); + AccountEntity accountModel = new(); Mock accountMock = new(); accountMock.Setup(x => x.GetByIdAsync(accountId, false, false, default)) - .Returns(Task.FromResult(accountModel)); + .Returns(Task.FromResult(accountModel)); Mock cardMock = new(); - cardMock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default)) - .Returns(Task.FromResult(null)); + cardMock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default)) + .Returns(Task.FromResult(null)); CardService sut = CreateMockedInstance(accountMock.Object, cardMock.Object); ErrorOr result = await sut.Create(userId, accountId, request); @@ -120,8 +120,8 @@ public async Task CreateShouldReturnCreatedWhenCreateIsSuccessful() result.Errors.Should().BeEmpty(); result.Value.Should().Be(Result.Created); accountMock.Verify(x => x.GetByIdAsync(accountId, false, false, default), Times.Once); - cardMock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default), Times.Once); - cardMock.Verify(x => x.CreateAsync(It.IsAny(), default), Times.Once); + cardMock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default), Times.Once); + cardMock.Verify(x => x.CreateAsync(It.IsAny(), default), Times.Once); _repositoryServiceMock.Verify(x => x.CommitChangesAsync(default), Times.Once); _loggerServiceMock.Verify(x => x.Log(It.IsAny>(), It.IsAny(), It.IsAny()), Times.Never); }); diff --git a/tests/ApplicationTests/Services/Finance/CardServiceTests.Delete.cs b/tests/ApplicationTests/Services/Finance/CardServiceTests.Delete.cs index 1162b7ba..b10a38d0 100644 --- a/tests/ApplicationTests/Services/Finance/CardServiceTests.Delete.cs +++ b/tests/ApplicationTests/Services/Finance/CardServiceTests.Delete.cs @@ -4,8 +4,8 @@ using BaseTests.Helpers; +using Domain.Entities.Finance; using Domain.Errors; -using Domain.Models.Finance; using Domain.Results; using FluentAssertions; @@ -44,7 +44,7 @@ public async Task DeleteShouldReturnNotFoundWhenCardNotFound() Guid id = Guid.NewGuid(); Mock cardMock = new(); cardMock.Setup(x => x.GetByIdAsync(id, default, default, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); CardService sut = CreateMockedInstance(cardRepository: cardMock.Object); ErrorOr result = await sut.Delete(id); @@ -64,10 +64,10 @@ public async Task DeleteShouldReturnNotFoundWhenCardNotFound() public async Task DeleteShouldReturnDeletedWhenSuccessful() { Guid id = Guid.NewGuid(); - CardModel card = new(); + CardEntity card = new(); Mock cardMock = new(); cardMock.Setup(x => x.GetByIdAsync(id, default, default, default)) - .Returns(Task.FromResult(card)); + .Returns(Task.FromResult(card)); cardMock.Setup(x => x.DeleteAsync(card, default)) .Returns(Task.CompletedTask); CardService sut = CreateMockedInstance(cardRepository: cardMock.Object); diff --git a/tests/ApplicationTests/Services/Finance/CardServiceTests.GetById.cs b/tests/ApplicationTests/Services/Finance/CardServiceTests.GetById.cs index 870118ba..b313cdc1 100644 --- a/tests/ApplicationTests/Services/Finance/CardServiceTests.GetById.cs +++ b/tests/ApplicationTests/Services/Finance/CardServiceTests.GetById.cs @@ -5,9 +5,9 @@ using BaseTests.Helpers; +using Domain.Entities.Finance; using Domain.Enumerators.Finance; using Domain.Errors; -using Domain.Models.Finance; using FluentAssertions; @@ -45,7 +45,7 @@ public async Task GetByIdShouldReturnNotFoundWhenAccountNotFound() Guid id = Guid.NewGuid(); Mock cardMock = new(); cardMock.Setup(x => x.GetByIdAsync(id, false, false, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); CardService sut = CreateMockedInstance(cardRepository: cardMock.Object); ErrorOr result = await sut.GetById(id); @@ -65,10 +65,10 @@ public async Task GetByIdShouldReturnNotFoundWhenAccountNotFound() public async Task GetByIdShouldReturnResponseWithNoCardsWhenCardsNotFound() { Guid id = Guid.NewGuid(); - CardModel cardModel = new() { Id = id, Type = CardType.DEBIT, PAN = "UnitTest", ValidUntil = DateTime.Today }; + CardEntity cardModel = new() { Id = id, Type = CardType.DEBIT, PAN = "UnitTest", ValidUntil = DateTime.Today }; Mock cardMock = new(); cardMock.Setup(x => x.GetByIdAsync(id, false, false, default)) - .Returns(Task.FromResult(cardModel)); + .Returns(Task.FromResult(cardModel)); CardService sut = CreateMockedInstance(cardRepository: cardMock.Object); ErrorOr result = await sut.GetById(id); diff --git a/tests/ApplicationTests/Services/Finance/CardServiceTests.GetByUserId.cs b/tests/ApplicationTests/Services/Finance/CardServiceTests.GetByUserId.cs index 3dd69532..a80ea5ff 100644 --- a/tests/ApplicationTests/Services/Finance/CardServiceTests.GetByUserId.cs +++ b/tests/ApplicationTests/Services/Finance/CardServiceTests.GetByUserId.cs @@ -7,8 +7,8 @@ using BaseTests.Helpers; +using Domain.Entities.Finance; using Domain.Errors; -using Domain.Models.Finance; using FluentAssertions; @@ -44,9 +44,9 @@ public async Task GetByUserIdShouldReturnFailedWhenExceptionIsThrown() public async Task GetByUserIdShouldReturnResponseWhenSuccessful() { Guid id = Guid.NewGuid(); - IEnumerable cards = [new(), new(), new()]; + IEnumerable cards = [new(), new(), new()]; Mock cardMock = new(); - cardMock.Setup(x => x.GetManyByConditionAsync(It.IsAny>>(), null, false, null, null, null, false, default)) + cardMock.Setup(x => x.GetManyByConditionAsync(It.IsAny>>(), null, false, null, null, null, false, default)) .Returns(Task.FromResult(cards)); CardService sut = CreateMockedInstance(cardRepository: cardMock.Object); diff --git a/tests/ApplicationTests/Services/Finance/CardServiceTests.Update.cs b/tests/ApplicationTests/Services/Finance/CardServiceTests.Update.cs index ae4106ab..c72a9b5d 100644 --- a/tests/ApplicationTests/Services/Finance/CardServiceTests.Update.cs +++ b/tests/ApplicationTests/Services/Finance/CardServiceTests.Update.cs @@ -7,8 +7,8 @@ using BaseTests.Helpers; +using Domain.Entities.Finance; using Domain.Errors; -using Domain.Models.Finance; using Domain.Results; using FluentAssertions; @@ -49,7 +49,7 @@ public async Task UpdateShouldReturnNotFoundWhenAccountNotFound() CardUpdateRequest request = RequestHelper.GetCardUpdateRequest(); Mock cardMock = new(); cardMock.Setup(x => x.GetByIdAsync(id, default, true, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); CardService sut = CreateMockedInstance(cardRepository: cardMock.Object); ErrorOr result = await sut.Update(id, request); @@ -69,11 +69,11 @@ public async Task UpdateShouldReturnNotFoundWhenAccountNotFound() public async Task UpdateShouldReturnUpdatedWhenSuccessful() { Guid id = Guid.NewGuid(); - CardModel card = new(); + CardEntity card = new(); CardUpdateRequest request = RequestHelper.GetCardUpdateRequest(); Mock cardMock = new(); cardMock.Setup(x => x.GetByIdAsync(id, default, true, default)) - .Returns(Task.FromResult(card)); + .Returns(Task.FromResult(card)); CardService sut = CreateMockedInstance(cardRepository: cardMock.Object); _repositoryServiceMock.Setup(x => x.CommitChangesAsync(default)) .Returns(Task.FromResult(1)); diff --git a/tests/ApplicationTests/Services/Finance/TransactionServiceTests.CreateByAccountId.cs b/tests/ApplicationTests/Services/Finance/TransactionServiceTests.CreateByAccountId.cs index 73785ee0..efefd08d 100644 --- a/tests/ApplicationTests/Services/Finance/TransactionServiceTests.CreateByAccountId.cs +++ b/tests/ApplicationTests/Services/Finance/TransactionServiceTests.CreateByAccountId.cs @@ -7,8 +7,8 @@ using BaseTests.Helpers; +using Domain.Entities.Finance; using Domain.Errors; -using Domain.Models.Finance; using Domain.Results; using FluentAssertions; @@ -50,7 +50,7 @@ public async Task CreateByAccountIdShouldReturnNotFoundWhenAccountIsNotFound() TransactionCreateRequest request = RequestHelper.GetTransactionCreateRequest(); Mock accountMock = new(); accountMock.Setup(x => x.GetByIdAsync(id, false, false, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); TransactionService sut = CreateMockedInstance(accountMock.Object); ErrorOr result = await sut.CreateByAccountId(id, request) @@ -72,10 +72,10 @@ public async Task CreateByAccountIdShouldReturnCreatedWhenSuccessful() { Guid id = Guid.NewGuid(); TransactionCreateRequest request = RequestHelper.GetTransactionCreateRequest(); - AccountModel model = new(); + AccountEntity model = new(); Mock accountMock = new(); accountMock.Setup(x => x.GetByIdAsync(id, false, false, default)) - .Returns(Task.FromResult(model)); + .Returns(Task.FromResult(model)); Mock transactionMock = new(); TransactionService sut = CreateMockedInstance(accountMock.Object, null, transactionMock.Object); @@ -89,7 +89,7 @@ public async Task CreateByAccountIdShouldReturnCreatedWhenSuccessful() result.Errors.Should().BeEmpty(); result.Value.Should().Be(Result.Created); accountMock.Verify(x => x.GetByIdAsync(id, false, false, default), Times.Once); - transactionMock.Verify(x => x.CreateAsync(It.IsAny(), default)); + transactionMock.Verify(x => x.CreateAsync(It.IsAny(), default)); _repositoryServiceMock.Verify(x => x.CommitChangesAsync(default), Times.Once); _loggerServiceMock.Verify(x => x.Log(It.IsAny>(), id, It.IsAny()), Times.Never); }); diff --git a/tests/ApplicationTests/Services/Finance/TransactionServiceTests.CreateByCardId.cs b/tests/ApplicationTests/Services/Finance/TransactionServiceTests.CreateByCardId.cs index 801e8d05..a932ef6a 100644 --- a/tests/ApplicationTests/Services/Finance/TransactionServiceTests.CreateByCardId.cs +++ b/tests/ApplicationTests/Services/Finance/TransactionServiceTests.CreateByCardId.cs @@ -7,8 +7,8 @@ using BaseTests.Helpers; +using Domain.Entities.Finance; using Domain.Errors; -using Domain.Models.Finance; using Domain.Results; using FluentAssertions; @@ -50,7 +50,7 @@ public async Task CreateByCardIdShouldReturnNotFoundWhenAccountIsNotFound() TransactionCreateRequest request = RequestHelper.GetTransactionCreateRequest(); Mock cardMock = new(); cardMock.Setup(x => x.GetByIdAsync(id, false, false, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); TransactionService sut = CreateMockedInstance(cardRepository: cardMock.Object); ErrorOr result = await sut.CreateByCardId(id, request) @@ -72,10 +72,10 @@ public async Task CreateByCardIdShouldReturnCreatedWhenSuccessful() { Guid id = Guid.NewGuid(); TransactionCreateRequest request = RequestHelper.GetTransactionCreateRequest(); - CardModel model = new(); + CardEntity model = new(); Mock cardMock = new(); cardMock.Setup(x => x.GetByIdAsync(id, false, false, default)) - .Returns(Task.FromResult(model)); + .Returns(Task.FromResult(model)); Mock transactionMock = new(); TransactionService sut = CreateMockedInstance(null, cardMock.Object, transactionMock.Object); @@ -89,7 +89,7 @@ public async Task CreateByCardIdShouldReturnCreatedWhenSuccessful() result.Errors.Should().BeEmpty(); result.Value.Should().Be(Result.Created); cardMock.Verify(x => x.GetByIdAsync(id, false, false, default), Times.Once); - transactionMock.Verify(x => x.CreateAsync(It.IsAny(), default)); + transactionMock.Verify(x => x.CreateAsync(It.IsAny(), default)); _repositoryServiceMock.Verify(x => x.CommitChangesAsync(default), Times.Once); _loggerServiceMock.Verify(x => x.Log(It.IsAny>(), id, It.IsAny()), Times.Never); }); diff --git a/tests/ApplicationTests/Services/Finance/TransactionServiceTests.DeleteByAccountId.cs b/tests/ApplicationTests/Services/Finance/TransactionServiceTests.DeleteByAccountId.cs index 666e0b8d..d830f93c 100644 --- a/tests/ApplicationTests/Services/Finance/TransactionServiceTests.DeleteByAccountId.cs +++ b/tests/ApplicationTests/Services/Finance/TransactionServiceTests.DeleteByAccountId.cs @@ -4,8 +4,8 @@ using BaseTests.Helpers; +using Domain.Entities.Finance; using Domain.Errors; -using Domain.Models.Finance; using Domain.Results; using FluentAssertions; @@ -46,7 +46,7 @@ public async Task DeleteByAccountIdShouldReturnNotFoundWhenCardNotFound() Guid accountId = Guid.NewGuid(), id = Guid.NewGuid(); Mock transactionMock = new(); transactionMock.Setup(x => x.GetByConditionAsync(x => x.Id.Equals(id) && x.AccountTransactions.Select(x => x.AccountId).Contains(accountId), default, default, default, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); TransactionService sut = CreateMockedInstance(transactionRepository: transactionMock.Object); ErrorOr result = await sut.DeleteByAccountId(accountId, id) @@ -67,10 +67,10 @@ public async Task DeleteByAccountIdShouldReturnNotFoundWhenCardNotFound() public async Task DeleteByAccountIdShouldReturnDeletedWhenSuccessful() { Guid accountId = Guid.NewGuid(), id = Guid.NewGuid(); - TransactionModel transaction = new(); + TransactionEntity transaction = new(); Mock transactionMock = new(); transactionMock.Setup(x => x.GetByConditionAsync(x => x.Id.Equals(id) && x.AccountTransactions.Select(x => x.AccountId).Contains(accountId), default, default, default, default)) - .Returns(Task.FromResult(transaction)); + .Returns(Task.FromResult(transaction)); transactionMock.Setup(x => x.DeleteAsync(transaction, default)) .Returns(Task.CompletedTask); TransactionService sut = CreateMockedInstance(transactionRepository: transactionMock.Object); diff --git a/tests/ApplicationTests/Services/Finance/TransactionServiceTests.DeleteByCardId.cs b/tests/ApplicationTests/Services/Finance/TransactionServiceTests.DeleteByCardId.cs index 7628c2f1..5ea7b456 100644 --- a/tests/ApplicationTests/Services/Finance/TransactionServiceTests.DeleteByCardId.cs +++ b/tests/ApplicationTests/Services/Finance/TransactionServiceTests.DeleteByCardId.cs @@ -4,8 +4,8 @@ using BaseTests.Helpers; +using Domain.Entities.Finance; using Domain.Errors; -using Domain.Models.Finance; using Domain.Results; using FluentAssertions; @@ -46,7 +46,7 @@ public async Task DeleteByCardIdShouldReturnNotFoundWhenCardNotFound() Guid cardId = Guid.NewGuid(), id = Guid.NewGuid(); Mock transactionMock = new(); transactionMock.Setup(x => x.GetByConditionAsync(x => x.Id.Equals(id) && x.CardTransactions.Select(x => x.CardId).Contains(cardId), default, default, default, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); TransactionService sut = CreateMockedInstance(transactionRepository: transactionMock.Object); ErrorOr result = await sut.DeleteByCardId(cardId, id, default) @@ -67,10 +67,10 @@ public async Task DeleteByCardIdShouldReturnNotFoundWhenCardNotFound() public async Task DeleteByCardIdShouldReturnDeletedWhenSuccessful() { Guid cardId = Guid.NewGuid(), id = Guid.NewGuid(); - TransactionModel transaction = new(); + TransactionEntity transaction = new(); Mock transactionMock = new(); transactionMock.Setup(x => x.GetByConditionAsync(x => x.Id.Equals(id) && x.CardTransactions.Select(x => x.CardId).Contains(cardId), default, default, default, default)) - .Returns(Task.FromResult(transaction)); + .Returns(Task.FromResult(transaction)); transactionMock.Setup(x => x.DeleteAsync(transaction, default)) .Returns(Task.CompletedTask); TransactionService sut = CreateMockedInstance(transactionRepository: transactionMock.Object); diff --git a/tests/ApplicationTests/Services/Finance/TransactionServiceTests.GetByAccountId.cs b/tests/ApplicationTests/Services/Finance/TransactionServiceTests.GetByAccountId.cs index bb1ea5c6..1dbdee77 100644 --- a/tests/ApplicationTests/Services/Finance/TransactionServiceTests.GetByAccountId.cs +++ b/tests/ApplicationTests/Services/Finance/TransactionServiceTests.GetByAccountId.cs @@ -7,8 +7,8 @@ using BaseTests.Helpers; +using Domain.Entities.Finance; using Domain.Errors; -using Domain.Models.Finance; using FluentAssertions; @@ -47,8 +47,8 @@ public async Task GetByAccountIdShouldReturnNotFoundWhenTransactionDoesNotExists { Guid accountId = Guid.NewGuid(), id = Guid.NewGuid(); Mock transactionMock = new(); - transactionMock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default)) - .Returns(Task.FromResult(null)); + transactionMock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default)) + .Returns(Task.FromResult(null)); TransactionService sut = CreateMockedInstance(transactionRepository: transactionMock.Object); ErrorOr result = await sut.GetByAccountId(accountId, id) @@ -59,7 +59,7 @@ public async Task GetByAccountIdShouldReturnNotFoundWhenTransactionDoesNotExists result.Should().NotBeNull(); result.IsError.Should().BeTrue(); result.Errors.First().Should().Be(TransactionServiceErrors.GetByIdNotFound(id)); - transactionMock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default), Times.Once); + transactionMock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default), Times.Once); _loggerServiceMock.Verify(x => x.Log(It.IsAny>(), It.IsAny(), It.IsAny()), Times.Never); }); } @@ -69,10 +69,10 @@ public async Task GetByAccountIdShouldReturnNotFoundWhenTransactionDoesNotExists public async Task GetByAccountIdShouldReturnTransactionResponseWhenSuccessful() { Guid accountId = Guid.NewGuid(), id = Guid.NewGuid(); - TransactionModel model = new(); + TransactionEntity model = new(); Mock transactionMock = new(); - transactionMock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default)) - .Returns(Task.FromResult(model)); + transactionMock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default)) + .Returns(Task.FromResult(model)); TransactionService sut = CreateMockedInstance(transactionRepository: transactionMock.Object); ErrorOr result = await sut.GetByAccountId(accountId, id) @@ -95,7 +95,7 @@ public async Task GetByAccountIdShouldReturnTransactionResponseWhenSuccessful() result.Value.CreditorId.Should().Be(model.CreditorId); result.Value.MandateReference.Should().Be(model.MandateReference); result.Value.CustomerReference.Should().Be(model.CustomerReference); - transactionMock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default), Times.Once); + transactionMock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default), Times.Once); _loggerServiceMock.Verify(x => x.Log(It.IsAny>(), It.IsAny(), It.IsAny()), Times.Never); }); } diff --git a/tests/ApplicationTests/Services/Finance/TransactionServiceTests.GetByCardId.cs b/tests/ApplicationTests/Services/Finance/TransactionServiceTests.GetByCardId.cs index 41edb571..91bbbd98 100644 --- a/tests/ApplicationTests/Services/Finance/TransactionServiceTests.GetByCardId.cs +++ b/tests/ApplicationTests/Services/Finance/TransactionServiceTests.GetByCardId.cs @@ -7,8 +7,8 @@ using BaseTests.Helpers; +using Domain.Entities.Finance; using Domain.Errors; -using Domain.Models.Finance; using FluentAssertions; @@ -47,8 +47,8 @@ public async Task GetByCardIdShouldReturnNotFoundWhenTransactionDoesNotExists() { Guid cardId = Guid.NewGuid(), id = Guid.NewGuid(); Mock transactionMock = new(); - transactionMock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default)) - .Returns(Task.FromResult(null)); + transactionMock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default)) + .Returns(Task.FromResult(null)); TransactionService sut = CreateMockedInstance(transactionRepository: transactionMock.Object); ErrorOr result = await sut.GetByCardId(cardId, id) @@ -59,7 +59,7 @@ public async Task GetByCardIdShouldReturnNotFoundWhenTransactionDoesNotExists() result.Should().NotBeNull(); result.IsError.Should().BeTrue(); result.Errors.First().Should().Be(TransactionServiceErrors.GetByIdNotFound(id)); - transactionMock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default), Times.Once); + transactionMock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default), Times.Once); _loggerServiceMock.Verify(x => x.Log(It.IsAny>(), It.IsAny(), It.IsAny()), Times.Never); }); } @@ -69,10 +69,10 @@ public async Task GetByCardIdShouldReturnNotFoundWhenTransactionDoesNotExists() public async Task GetByCardIdShouldReturnTransactionResponseWhenSuccessful() { Guid cardId = Guid.NewGuid(), id = Guid.NewGuid(); - TransactionModel model = new(); + TransactionEntity model = new(); Mock transactionMock = new(); - transactionMock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default)) - .Returns(Task.FromResult(model)); + transactionMock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default)) + .Returns(Task.FromResult(model)); TransactionService sut = CreateMockedInstance(transactionRepository: transactionMock.Object); ErrorOr result = await sut.GetByCardId(cardId, id) @@ -95,7 +95,7 @@ public async Task GetByCardIdShouldReturnTransactionResponseWhenSuccessful() result.Value.CreditorId.Should().Be(model.CreditorId); result.Value.MandateReference.Should().Be(model.MandateReference); result.Value.CustomerReference.Should().Be(model.CustomerReference); - transactionMock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default), Times.Once); + transactionMock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, false, default), Times.Once); _loggerServiceMock.Verify(x => x.Log(It.IsAny>(), It.IsAny(), It.IsAny()), Times.Never); }); } diff --git a/tests/ApplicationTests/Services/Finance/TransactionServiceTests.GetPagedByAccountId.cs b/tests/ApplicationTests/Services/Finance/TransactionServiceTests.GetPagedByAccountId.cs index ce645c3b..63d793c6 100644 --- a/tests/ApplicationTests/Services/Finance/TransactionServiceTests.GetPagedByAccountId.cs +++ b/tests/ApplicationTests/Services/Finance/TransactionServiceTests.GetPagedByAccountId.cs @@ -9,8 +9,8 @@ using BaseTests.Helpers; +using Domain.Entities.Finance; using Domain.Errors; -using Domain.Models.Finance; using FluentAssertions; @@ -60,8 +60,8 @@ public async Task GetPagedByAccountIdShouldReturnResponseWhenSuccessful() result.IsError.Should().BeFalse(); result.Errors.Should().BeEmpty(); result.Value.Should().HaveCount(0); - mock.Verify(x => x.GetManyByConditionAsync(It.IsAny>>(), It.IsAny, IQueryable>>(), false, It.IsAny, IOrderedQueryable>>(), (parameters.PageNumber - 1) * parameters.PageSize, parameters.PageSize, false, default), Times.Once); - mock.Verify(x => x.CountAsync(It.IsAny>>(), It.IsAny, IQueryable>>(), false, default), Times.Once); + mock.Verify(x => x.GetManyByConditionAsync(It.IsAny>>(), It.IsAny, IQueryable>>(), false, It.IsAny, IOrderedQueryable>>(), (parameters.PageNumber - 1) * parameters.PageSize, parameters.PageSize, false, default), Times.Once); + mock.Verify(x => x.CountAsync(It.IsAny>>(), It.IsAny, IQueryable>>(), false, default), Times.Once); _loggerServiceMock.Verify(x => x.Log(It.IsAny>(), id, It.IsAny()), Times.Never); }); } diff --git a/tests/ApplicationTests/Services/Finance/TransactionServiceTests.GetPagedByCardId.cs b/tests/ApplicationTests/Services/Finance/TransactionServiceTests.GetPagedByCardId.cs index 1b04b2f0..7fc2e1c4 100644 --- a/tests/ApplicationTests/Services/Finance/TransactionServiceTests.GetPagedByCardId.cs +++ b/tests/ApplicationTests/Services/Finance/TransactionServiceTests.GetPagedByCardId.cs @@ -9,8 +9,8 @@ using BaseTests.Helpers; +using Domain.Entities.Finance; using Domain.Errors; -using Domain.Models.Finance; using FluentAssertions; @@ -60,8 +60,8 @@ public async Task GetPagedByCardIdShouldReturnResponseWhenSuccessful() result.IsError.Should().BeFalse(); result.Errors.Should().BeEmpty(); result.Value.Should().HaveCount(0); - mock.Verify(x => x.GetManyByConditionAsync(It.IsAny>>(), It.IsAny, IQueryable>>(), false, It.IsAny, IOrderedQueryable>>(), (parameters.PageNumber - 1) * parameters.PageSize, parameters.PageSize, false, default), Times.Once); - mock.Verify(x => x.CountAsync(It.IsAny>>(), It.IsAny, IQueryable>>(), false, default), Times.Once); + mock.Verify(x => x.GetManyByConditionAsync(It.IsAny>>(), It.IsAny, IQueryable>>(), false, It.IsAny, IOrderedQueryable>>(), (parameters.PageNumber - 1) * parameters.PageSize, parameters.PageSize, false, default), Times.Once); + mock.Verify(x => x.CountAsync(It.IsAny>>(), It.IsAny, IQueryable>>(), false, default), Times.Once); _loggerServiceMock.Verify(x => x.Log(It.IsAny>(), id, It.IsAny()), Times.Never); }); } diff --git a/tests/ApplicationTests/Services/Finance/TransactionServiceTests.UpdateByAccountId.cs b/tests/ApplicationTests/Services/Finance/TransactionServiceTests.UpdateByAccountId.cs index 7f28dd2d..b18b6301 100644 --- a/tests/ApplicationTests/Services/Finance/TransactionServiceTests.UpdateByAccountId.cs +++ b/tests/ApplicationTests/Services/Finance/TransactionServiceTests.UpdateByAccountId.cs @@ -9,8 +9,8 @@ using BaseTests.Helpers; +using Domain.Entities.Finance; using Domain.Errors; -using Domain.Models.Finance; using Domain.Results; using FluentAssertions; @@ -53,8 +53,8 @@ public async Task UpdateByAccountIdShouldReturnNotFoundWhenTransactionNotFound() TransactionUpdateRequest request = RequestHelper.GetTransactionUpdateRequest(); string[] parameters = [$"{accountId}", $"{id}"]; Mock mock = new(); - mock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, true, default)) - .Returns(Task.FromResult(null)); + mock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, true, default)) + .Returns(Task.FromResult(null)); TransactionService sut = CreateMockedInstance(transactionRepository: mock.Object); ErrorOr result = await sut.UpdateByAccountId(accountId, id, request) @@ -65,7 +65,7 @@ public async Task UpdateByAccountIdShouldReturnNotFoundWhenTransactionNotFound() result.Should().NotBeNull(); result.IsError.Should().BeTrue(); result.Errors.First().Should().Be(TransactionServiceErrors.UpdateByAccountIdNotFound(id)); - mock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, true, default), Times.Once); + mock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, true, default), Times.Once); _loggerServiceMock.Verify(x => x.Log(It.IsAny>(), parameters, It.IsAny()), Times.Never); }); } @@ -76,11 +76,11 @@ public async Task UpdateByAccountIdShouldReturnUpdatedWhenSuccessful() { Guid accountId = Guid.NewGuid(), id = Guid.NewGuid(); TransactionUpdateRequest request = RequestHelper.GetTransactionUpdateRequest(); - TransactionModel model = new() { Id = id }; + TransactionEntity model = new() { Id = id }; string[] parameters = [$"{accountId}", $"{id}"]; Mock mock = new(); - mock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, true, default)) - .Returns(Task.FromResult(model)); + mock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, true, default)) + .Returns(Task.FromResult(model)); TransactionService sut = CreateMockedInstance(transactionRepository: mock.Object); ErrorOr result = await sut.UpdateByAccountId(accountId, id, request) @@ -103,7 +103,7 @@ public async Task UpdateByAccountIdShouldReturnUpdatedWhenSuccessful() model.CreditorId.Should().Be(request.CreditorId); model.MandateReference.Should().Be(request.MandateReference); model.CustomerReference.Should().Be(request.CustomerReference); - mock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, true, default), Times.Once); + mock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, true, default), Times.Once); _repositoryServiceMock.Verify(x => x.CommitChangesAsync(default), Times.Once); _loggerServiceMock.Verify(x => x.Log(It.IsAny>(), parameters, It.IsAny()), Times.Never); }); diff --git a/tests/ApplicationTests/Services/Finance/TransactionServiceTests.UpdateByCardId.cs b/tests/ApplicationTests/Services/Finance/TransactionServiceTests.UpdateByCardId.cs index 81d1ed3f..b35c06b1 100644 --- a/tests/ApplicationTests/Services/Finance/TransactionServiceTests.UpdateByCardId.cs +++ b/tests/ApplicationTests/Services/Finance/TransactionServiceTests.UpdateByCardId.cs @@ -9,8 +9,8 @@ using BaseTests.Helpers; +using Domain.Entities.Finance; using Domain.Errors; -using Domain.Models.Finance; using Domain.Results; using FluentAssertions; @@ -53,8 +53,8 @@ public async Task UpdateByCardIdShouldReturnNotFoundWhenTransactionNotFound() TransactionUpdateRequest request = RequestHelper.GetTransactionUpdateRequest(); string[] parameters = [$"{cardId}", $"{id}"]; Mock mock = new(); - mock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, true, default)) - .Returns(Task.FromResult(null)); + mock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, true, default)) + .Returns(Task.FromResult(null)); TransactionService sut = CreateMockedInstance(transactionRepository: mock.Object); ErrorOr result = await sut.UpdateByCardId(cardId, id, request) @@ -65,7 +65,7 @@ public async Task UpdateByCardIdShouldReturnNotFoundWhenTransactionNotFound() result.Should().NotBeNull(); result.IsError.Should().BeTrue(); result.Errors.First().Should().Be(TransactionServiceErrors.UpdateByCardIdNotFound(id)); - mock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, true, default), Times.Once); + mock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, true, default), Times.Once); _loggerServiceMock.Verify(x => x.Log(It.IsAny>(), parameters, It.IsAny()), Times.Never); }); } @@ -76,11 +76,11 @@ public async Task UpdateByCardIdShouldReturnUpdatedWhenSuccessful() { Guid cardId = Guid.NewGuid(), id = Guid.NewGuid(); TransactionUpdateRequest request = RequestHelper.GetTransactionUpdateRequest(); - TransactionModel model = new() { Id = id }; + TransactionEntity model = new() { Id = id }; string[] parameters = [$"{cardId}", $"{id}"]; Mock mock = new(); - mock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, true, default)) - .Returns(Task.FromResult(model)); + mock.Setup(x => x.GetByConditionAsync(It.IsAny>>(), null, false, true, default)) + .Returns(Task.FromResult(model)); TransactionService sut = CreateMockedInstance(transactionRepository: mock.Object); ErrorOr result = await sut.UpdateByCardId(cardId, id, request) @@ -103,7 +103,7 @@ public async Task UpdateByCardIdShouldReturnUpdatedWhenSuccessful() model.CreditorId.Should().Be(request.CreditorId); model.MandateReference.Should().Be(request.MandateReference); model.CustomerReference.Should().Be(request.CustomerReference); - mock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, true, default), Times.Once); + mock.Verify(x => x.GetByConditionAsync(It.IsAny>>(), null, false, true, default), Times.Once); _repositoryServiceMock.Verify(x => x.CommitChangesAsync(default), Times.Once); _loggerServiceMock.Verify(x => x.Log(It.IsAny>(), parameters, It.IsAny()), Times.Never); }); diff --git a/tests/ApplicationTests/Services/Todo/TodoServiceTests.CreateItemByListId.cs b/tests/ApplicationTests/Services/Todo/TodoServiceTests.CreateItemByListId.cs index 21de21b8..39f0384d 100644 --- a/tests/ApplicationTests/Services/Todo/TodoServiceTests.CreateItemByListId.cs +++ b/tests/ApplicationTests/Services/Todo/TodoServiceTests.CreateItemByListId.cs @@ -7,8 +7,8 @@ using BaseTests.Helpers; +using Domain.Entities.Todo; using Domain.Errors; -using Domain.Models.Todo; using Domain.Results; using FluentAssertions; @@ -50,7 +50,7 @@ public async Task CreateItemByListIdShouldReturnNotFoundWhenNotFound() ItemCreateRequest request = RequestHelper.GetItemCreateRequest(); Mock listMock = new(); listMock.Setup(x => x.GetByIdAsync(listId, false, false, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); TodoService sut = CreateMockedInstance(listMock.Object); ErrorOr result = await sut.CreateItemByListId(listId, request) @@ -75,7 +75,7 @@ public async Task CreateItemByListIdShouldReturnCreatedWhenSuccessful() Mock listMock = new(); Mock itemMock = new(); listMock.Setup(x => x.GetByIdAsync(listId, false, false, default)) - .Returns(Task.FromResult(new())); + .Returns(Task.FromResult(new())); TodoService sut = CreateMockedInstance(listMock.Object, itemMock.Object); ErrorOr result = await sut.CreateItemByListId(listId, request) @@ -88,7 +88,7 @@ public async Task CreateItemByListIdShouldReturnCreatedWhenSuccessful() result.Errors.Should().BeEmpty(); result.Value.Should().Be(Result.Created); listMock.Verify(x => x.GetByIdAsync(listId, false, false, default), Times.Once); - itemMock.Verify(x => x.CreateAsync(It.IsAny(), default), Times.Once); + itemMock.Verify(x => x.CreateAsync(It.IsAny(), default), Times.Once); _repositoryServiceMock.Verify(x => x.CommitChangesAsync(default), Times.Once); _loggerServiceMock.Verify(x => x.Log(It.IsAny>(), request, It.IsAny()), Times.Never); }); diff --git a/tests/ApplicationTests/Services/Todo/TodoServiceTests.CreateListByUserId.cs b/tests/ApplicationTests/Services/Todo/TodoServiceTests.CreateListByUserId.cs index 8d6b988b..1eb3b6a3 100644 --- a/tests/ApplicationTests/Services/Todo/TodoServiceTests.CreateListByUserId.cs +++ b/tests/ApplicationTests/Services/Todo/TodoServiceTests.CreateListByUserId.cs @@ -7,8 +7,8 @@ using BaseTests.Helpers; +using Domain.Entities.Todo; using Domain.Errors; -using Domain.Models.Todo; using Domain.Results; using FluentAssertions; @@ -60,7 +60,7 @@ public async Task CreateListByUserIdShouldReturnCreatedWhenSuccessful() result.IsError.Should().BeFalse(); result.Errors.Should().BeEmpty(); result.Value.Should().Be(Result.Created); - listMock.Verify(x => x.CreateAsync(It.IsAny(), default), Times.Once); + listMock.Verify(x => x.CreateAsync(It.IsAny(), default), Times.Once); _repositoryServiceMock.Verify(x => x.CommitChangesAsync(default), Times.Once); _loggerServiceMock.Verify(x => x.Log(It.IsAny>(), request, It.IsAny()), Times.Never); }); diff --git a/tests/ApplicationTests/Services/Todo/TodoServiceTests.DeleteItemById.cs b/tests/ApplicationTests/Services/Todo/TodoServiceTests.DeleteItemById.cs index d78f93d3..6997e6dc 100644 --- a/tests/ApplicationTests/Services/Todo/TodoServiceTests.DeleteItemById.cs +++ b/tests/ApplicationTests/Services/Todo/TodoServiceTests.DeleteItemById.cs @@ -4,8 +4,8 @@ using BaseTests.Helpers; +using Domain.Entities.Todo; using Domain.Errors; -using Domain.Models.Todo; using Domain.Results; using FluentAssertions; @@ -45,7 +45,7 @@ public async Task DeleteItemByIdShouldReturnNotFoundWhenNotFound() Guid id = Guid.NewGuid(); Mock itemMock = new(); itemMock.Setup(x => x.GetByIdAsync(id, default, default, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); TodoService sut = CreateMockedInstance(itemRepository: itemMock.Object); ErrorOr result = await sut.DeleteItemById(id) @@ -66,10 +66,10 @@ public async Task DeleteItemByIdShouldReturnNotFoundWhenNotFound() public async Task DeleteItemByIdShouldReturnDeletedWhenSuccessful() { Guid id = Guid.NewGuid(); - Item item = new(); + ItemEntity item = new(); Mock itemMock = new(); itemMock.Setup(x => x.GetByIdAsync(id, default, default, default)) - .Returns(Task.FromResult(item)); + .Returns(Task.FromResult(item)); itemMock.Setup(x => x.DeleteAsync(item, default)) .Returns(Task.CompletedTask); TodoService sut = CreateMockedInstance(itemRepository: itemMock.Object); diff --git a/tests/ApplicationTests/Services/Todo/TodoServiceTests.DeleteListById.cs b/tests/ApplicationTests/Services/Todo/TodoServiceTests.DeleteListById.cs index ed39464d..8902e0fb 100644 --- a/tests/ApplicationTests/Services/Todo/TodoServiceTests.DeleteListById.cs +++ b/tests/ApplicationTests/Services/Todo/TodoServiceTests.DeleteListById.cs @@ -4,8 +4,8 @@ using BaseTests.Helpers; +using Domain.Entities.Todo; using Domain.Errors; -using Domain.Models.Todo; using Domain.Results; using FluentAssertions; @@ -45,7 +45,7 @@ public async Task DeleteListByIdShouldReturnNotFoundWhenNotFound() Guid id = Guid.NewGuid(); Mock listMock = new(); listMock.Setup(x => x.GetByIdAsync(id, default, default, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); TodoService sut = CreateMockedInstance(listMock.Object); ErrorOr result = await sut.DeleteListById(id) @@ -66,10 +66,10 @@ public async Task DeleteListByIdShouldReturnNotFoundWhenNotFound() public async Task DeleteListByIdShouldReturnDeletedWhenSuccessful() { Guid id = Guid.NewGuid(); - List list = new(); + ListEntity list = new(); Mock listMock = new(); listMock.Setup(x => x.GetByIdAsync(id, default, default, default)) - .Returns(Task.FromResult(list)); + .Returns(Task.FromResult(list)); listMock.Setup(x => x.DeleteAsync(list, default)) .Returns(Task.CompletedTask); TodoService sut = CreateMockedInstance(listMock.Object); diff --git a/tests/ApplicationTests/Services/Todo/TodoServiceTests.GetListById.cs b/tests/ApplicationTests/Services/Todo/TodoServiceTests.GetListById.cs index 18f6efa7..193a9358 100644 --- a/tests/ApplicationTests/Services/Todo/TodoServiceTests.GetListById.cs +++ b/tests/ApplicationTests/Services/Todo/TodoServiceTests.GetListById.cs @@ -9,9 +9,9 @@ using BB84.Extensions; +using Domain.Entities.Todo; using Domain.Enumerators.Todo; using Domain.Errors; -using Domain.Models.Todo; using FluentAssertions; @@ -49,8 +49,8 @@ public async Task GetListByIdShouldReturnNotFoundWhenNotFound() { Guid listId = Guid.NewGuid(); Mock listMock = new(); - listMock.Setup(x => x.GetByIdAsync(listId, default, default, default, nameof(List.Items))) - .Returns(Task.FromResult(null)); + listMock.Setup(x => x.GetByIdAsync(listId, default, default, default, nameof(ListEntity.Items))) + .Returns(Task.FromResult(null)); TodoService sut = CreateMockedInstance(listMock.Object); ErrorOr result = await sut.GetListById(listId) @@ -61,7 +61,7 @@ public async Task GetListByIdShouldReturnNotFoundWhenNotFound() result.Should().NotBeNull(); result.IsError.Should().BeTrue(); result.Errors.First().Should().Be(TodoServiceErrors.GetListByIdNotFound(listId)); - listMock.Verify(x => x.GetByIdAsync(listId, default, default, default, nameof(List.Items)), Times.Once); + listMock.Verify(x => x.GetByIdAsync(listId, default, default, default, nameof(ListEntity.Items)), Times.Once); _loggerServiceMock.Verify(x => x.Log(It.IsAny>(), listId, It.IsAny()), Times.Never); }); } @@ -71,11 +71,11 @@ public async Task GetListByIdShouldReturnNotFoundWhenNotFound() public async Task GetListByIdShouldReturnValidResultWhenSuccessful() { Guid listId = Guid.NewGuid(); - Item item = new() { Id = Guid.NewGuid(), Title = "UnitTest", Note = "UnitTest", Priority = PriorityLevelType.MEDIUM, Reminder = DateTime.Today, Done = true }; - List list = new() { Id = listId, Title = "UnitTest", Color = Color.Black, Items = [item] }; + ItemEntity item = new() { Id = Guid.NewGuid(), Title = "UnitTest", Note = "UnitTest", Priority = PriorityLevelType.MEDIUM, Reminder = DateTime.Today, Done = true }; + ListEntity list = new() { Id = listId, Title = "UnitTest", Color = Color.Black, Items = [item] }; Mock listMock = new(); - listMock.Setup(x => x.GetByIdAsync(listId, default, default, default, nameof(List.Items))) - .Returns(Task.FromResult(list)); + listMock.Setup(x => x.GetByIdAsync(listId, default, default, default, nameof(ListEntity.Items))) + .Returns(Task.FromResult(list)); TodoService sut = CreateMockedInstance(listMock.Object); ErrorOr result = await sut.GetListById(listId) @@ -95,7 +95,7 @@ public async Task GetListByIdShouldReturnValidResultWhenSuccessful() result.Value.Items?.First().Priority.Should().Be(item.Priority); result.Value.Items?.First().Reminder.Should().Be(item.Reminder); result.Value.Items?.First().Done.Should().Be(item.Done); - listMock.Verify(x => x.GetByIdAsync(listId, default, default, default, nameof(List.Items)), Times.Once); + listMock.Verify(x => x.GetByIdAsync(listId, default, default, default, nameof(ListEntity.Items)), Times.Once); _loggerServiceMock.Verify(x => x.Log(It.IsAny>(), listId, It.IsAny()), Times.Never); }); } diff --git a/tests/ApplicationTests/Services/Todo/TodoServiceTests.GetListsByUserId.cs b/tests/ApplicationTests/Services/Todo/TodoServiceTests.GetListsByUserId.cs index a7a829ff..ed222250 100644 --- a/tests/ApplicationTests/Services/Todo/TodoServiceTests.GetListsByUserId.cs +++ b/tests/ApplicationTests/Services/Todo/TodoServiceTests.GetListsByUserId.cs @@ -9,8 +9,8 @@ using BB84.Extensions; +using Domain.Entities.Todo; using Domain.Errors; -using Domain.Models.Todo; using FluentAssertions; @@ -47,10 +47,10 @@ public async Task GetListsByUserIdShouldReturnFailedWhenExceptionIsThrown() public async Task GetListsByUserIdShouldReturnValidResultWhenSuccessful() { Guid userId = Guid.NewGuid(); - List list = new() { Title = "Hello", Color = Color.Red }; + ListEntity list = new() { Title = "Hello", Color = Color.Red }; Mock listMock = new(); listMock.Setup(x => x.GetManyByConditionAsync(x => x.UserId.Equals(userId), null, false, null, null, null, false, default)) - .Returns(Task.FromResult>([list])); + .Returns(Task.FromResult>([list])); TodoService sut = CreateMockedInstance(listMock.Object); ErrorOr> result = await sut.GetListsByUserId(userId) diff --git a/tests/ApplicationTests/Services/Todo/TodoServiceTests.UpdateItemById.cs b/tests/ApplicationTests/Services/Todo/TodoServiceTests.UpdateItemById.cs index 1f3c678c..11d6bd76 100644 --- a/tests/ApplicationTests/Services/Todo/TodoServiceTests.UpdateItemById.cs +++ b/tests/ApplicationTests/Services/Todo/TodoServiceTests.UpdateItemById.cs @@ -7,8 +7,8 @@ using BaseTests.Helpers; +using Domain.Entities.Todo; using Domain.Errors; -using Domain.Models.Todo; using Domain.Results; using FluentAssertions; @@ -50,7 +50,7 @@ public async Task UpdateItemByIdShouldReturnNotFoundWhenNotFound() ItemUpdateRequest request = RequestHelper.GetItemUpdateRequest(); Mock itemMock = new(); itemMock.Setup(x => x.GetByIdAsync(itemId, false, true, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); TodoService sut = CreateMockedInstance(itemRepository: itemMock.Object); ErrorOr result = await sut.UpdateItemById(itemId, request) @@ -72,10 +72,10 @@ public async Task UpdateItemByIdShouldReturnUpdatedWhenSuccessful() { Guid id = Guid.NewGuid(); ItemUpdateRequest request = RequestHelper.GetItemUpdateRequest(); - Item model = new(); + ItemEntity model = new(); Mock itemMock = new(); itemMock.Setup(x => x.GetByIdAsync(id, false, true, default)) - .Returns(Task.FromResult(model)); + .Returns(Task.FromResult(model)); TodoService sut = CreateMockedInstance(itemRepository: itemMock.Object); ErrorOr result = await sut.UpdateItemById(id, request) diff --git a/tests/ApplicationTests/Services/Todo/TodoServiceTests.UpdateListById.cs b/tests/ApplicationTests/Services/Todo/TodoServiceTests.UpdateListById.cs index b3ffc22f..0007f8a8 100644 --- a/tests/ApplicationTests/Services/Todo/TodoServiceTests.UpdateListById.cs +++ b/tests/ApplicationTests/Services/Todo/TodoServiceTests.UpdateListById.cs @@ -8,7 +8,6 @@ using BaseTests.Helpers; using Domain.Errors; -using Domain.Models.Todo; using Domain.Results; using FluentAssertions; @@ -17,6 +16,7 @@ using Moq; using ApplicationTests.Helpers; +using Domain.Entities.Todo; namespace ApplicationTests.Services.Todo; @@ -51,7 +51,7 @@ public async Task UpdateListByIdShouldReturnNotFoundWhenNotFound() ListUpdateRequest request = RequestHelper.GetListUpdateRequest(); Mock listMock = new(); listMock.Setup(x => x.GetByIdAsync(listId, false, true, default)) - .Returns(Task.FromResult(null)); + .Returns(Task.FromResult(null)); TodoService sut = CreateMockedInstance(listMock.Object); ErrorOr result = await sut.UpdateListById(listId, request) @@ -73,10 +73,10 @@ public async Task UpdateListByIdShouldReturnUpdatedWhenSuccessful() { Guid id = Guid.NewGuid(); ListUpdateRequest request = RequestHelper.GetListUpdateRequest(); - List model = new(); + ListEntity model = new(); Mock listMock = new(); listMock.Setup(x => x.GetByIdAsync(id, false, true, default)) - .Returns(Task.FromResult(model)); + .Returns(Task.FromResult(model)); TodoService sut = CreateMockedInstance(listMock.Object); ErrorOr result = await sut.UpdateListById(id, request) diff --git a/tests/DomainTests/Extensions/ModelExtensionsTests.cs b/tests/DomainTests/Extensions/ModelExtensionsTests.cs index cb9c9e2f..0826c201 100644 --- a/tests/DomainTests/Extensions/ModelExtensionsTests.cs +++ b/tests/DomainTests/Extensions/ModelExtensionsTests.cs @@ -1,6 +1,6 @@ -using Domain.Enumerators.Attendance; +using Domain.Entities.Attendance; +using Domain.Enumerators.Attendance; using Domain.Extensions; -using Domain.Models.Attendance; namespace DomainTests.Extensions; @@ -10,7 +10,7 @@ public class ModelExtensionsTests : DomainTestBase [TestMethod] public void GetResultingWorkingHoursValueTest() { - AttendanceModel attendance = new() + AttendanceEntity attendance = new() { Type = AttendanceType.WORKDAY, StartTime = new(6, 0, 0), @@ -26,7 +26,7 @@ public void GetResultingWorkingHoursValueTest() [TestMethod] public void GetResultingWorkingHoursNotRelevantTest() { - AttendanceModel attendance = new() + AttendanceEntity attendance = new() { Type = AttendanceType.SICKNESS }; @@ -39,7 +39,7 @@ public void GetResultingWorkingHoursNotRelevantTest() [TestMethod] public void GetResultingWorkingHoursNoEndTimeTest() { - AttendanceModel attendance = new() + AttendanceEntity attendance = new() { Type = AttendanceType.WORKDAY, StartTime = new(6, 0, 0) @@ -53,7 +53,7 @@ public void GetResultingWorkingHoursNoEndTimeTest() [TestMethod] public void GetResultingWorkingHoursNoStartTimeTest() { - AttendanceModel attendance = new() + AttendanceEntity attendance = new() { Type = AttendanceType.WORKDAY, EndTime = new(15, 0, 0) diff --git a/tests/InfrastructureTests/Helpers/ModelHelper.cs b/tests/InfrastructureTests/Helpers/ModelHelper.cs index 8aae19d0..1725bae7 100644 --- a/tests/InfrastructureTests/Helpers/ModelHelper.cs +++ b/tests/InfrastructureTests/Helpers/ModelHelper.cs @@ -1,9 +1,9 @@ using BB84.Extensions; +using Domain.Entities.Attendance; +using Domain.Entities.Finance; using Domain.Enumerators.Attendance; using Domain.Enumerators.Finance; -using Domain.Models.Attendance; -using Domain.Models.Finance; using Domain.Models.Identity; using static BaseTests.Helpers.RandomHelper; @@ -12,11 +12,11 @@ namespace InfrastructureTests.Helpers; public static class ModelHelper { - public static ICollection GetNewAttendances(UserModel user, IList calendar, int entries = 10) + public static ICollection GetNewAttendances(UserModel user, IList calendar, int entries = 10) { ArgumentOutOfRangeException.ThrowIfLessThan(entries, 1); - List attendances = []; + List attendances = []; for (int i = 1; i <= entries; i++) { DateTime calendarDate = calendar[GetInt(0, calendar.Count)]; @@ -30,14 +30,14 @@ public static ICollection GetNewAttendances(UserModel user, ILi return attendances; } - public static ICollection GetNewAccountUsers(UserModel user, int accounts = 2, int accountTransactions = 10, int cards = 2, int cardTransactions = 10) + public static ICollection GetNewAccountUsers(UserModel user, int accounts = 2, int accountTransactions = 10, int cards = 2, int cardTransactions = 10) { ArgumentOutOfRangeException.ThrowIfLessThan(accounts, 1); - List accountUsers = []; + List accountUsers = []; for (int i = 1; i <= accounts; i++) { - AccountModel newAccount = GetNewAccount(); + AccountEntity newAccount = GetNewAccount(); newAccount.Transactions = GetNewAccountTransactions(newAccount, accountTransactions); newAccount.Cards = GetNewCards(user, newAccount, cards, cardTransactions); accountUsers.Add(new() { User = user, Account = newAccount }); @@ -45,9 +45,9 @@ public static ICollection GetNewAccountUsers(UserModel user, i return accountUsers; } - private static AccountModel GetNewAccount(string? iban = null, ICollection? accountTransactions = null) + private static AccountEntity GetNewAccount(string? iban = null, ICollection? accountTransactions = null) { - AccountModel accountToReturn = new() + AccountEntity accountToReturn = new() { IBAN = iban ?? GetString(20), Provider = GetString(128), @@ -56,19 +56,19 @@ private static AccountModel GetNewAccount(string? iban = null, ICollection GetNewAccountTransactions(AccountModel account, int amount = 10) + private static ICollection GetNewAccountTransactions(AccountEntity account, int amount = 10) { ArgumentOutOfRangeException.ThrowIfLessThan(amount, 1); - List accountTransactions = []; + List accountTransactions = []; for (int i = 1; i <= amount; i++) accountTransactions.Add(new() { Account = account, Transaction = GetNewTransaction() }); return accountTransactions; } - private static CardModel GetNewCard(UserModel user, AccountModel account, string? cardNumber = null, ICollection? cardTransactions = null) + private static CardEntity GetNewCard(UserModel user, AccountEntity account, string? cardNumber = null, ICollection? cardTransactions = null) { - CardModel cardToReturn = new() + CardEntity cardToReturn = new() { Account = account, Type = (CardType)GetInt(1, 2), @@ -79,33 +79,33 @@ private static CardModel GetNewCard(UserModel user, AccountModel account, string return cardToReturn; } - private static ICollection GetNewCards(UserModel user, AccountModel account, int cardsAmount = 2, int transactionAmount = 10) + private static ICollection GetNewCards(UserModel user, AccountEntity account, int cardsAmount = 2, int transactionAmount = 10) { ArgumentOutOfRangeException.ThrowIfLessThan(cardsAmount, 1); - List cardsToReturn = []; + List cardsToReturn = []; for (int i = 1; i <= cardsAmount; i++) { - CardModel newCard = GetNewCard(user, account); + CardEntity newCard = GetNewCard(user, account); newCard.Transactions = GetNewCardTransactions(newCard, transactionAmount); cardsToReturn.Add(newCard); } return cardsToReturn; } - private static ICollection GetNewCardTransactions(CardModel card, int amount = 10) + private static ICollection GetNewCardTransactions(CardEntity card, int amount = 10) { ArgumentOutOfRangeException.ThrowIfLessThan(amount, 1); - List cardTransactions = []; + List cardTransactions = []; for (int i = 1; i <= amount; i++) cardTransactions.Add(new() { Card = card, Transaction = GetNewTransaction() }); return cardTransactions; } - private static TransactionModel GetNewTransaction() + private static TransactionEntity GetNewTransaction() { - TransactionModel transactionToReturn = new() + TransactionEntity transactionToReturn = new() { BookingDate = GetDateTime(), ValueDate = GetDateTime(),