diff --git a/EF.Core.Database.Adapter.sln b/EF.Core.Database.Adapter.sln index b05ccba2..79095ad5 100644 --- a/EF.Core.Database.Adapter.sln +++ b/EF.Core.Database.Adapter.sln @@ -25,7 +25,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Presentation", "src\Present EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApplicationTests", "tests\ApplicationTests\ApplicationTests.csproj", "{AE0855E2-9F01-466D-BAFD-59C4DD9A27D7}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{41C26948-0A82-496E-BACF-731564C24204}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{1989021F-F438-4654-98BC-445B5B0BD7EB}" ProjectSection(SolutionItems) = preProject .editorconfig = .editorconfig .filenesting.json = .filenesting.json @@ -95,8 +95,8 @@ Global {AE0855E2-9F01-466D-BAFD-59C4DD9A27D7} = {98B824A8-BA26-4E8E-A8F4-2BFF5E0B6DB8} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {8C2C98A4-09CD-4243-9E78-870E54AF080A} - RESX_SortFileContentOnSave = True RESX_SaveFilesImmediatelyUponChange = True + RESX_SortFileContentOnSave = True + SolutionGuid = {8C2C98A4-09CD-4243-9E78-870E54AF080A} EndGlobalSection EndGlobal diff --git a/src/Application/Contracts/Responses/Base/EnumeratorResponse.cs b/src/Application/Contracts/Responses/Base/EnumeratorResponse.cs index dcb0c43e..e4bd24d2 100644 --- a/src/Application/Contracts/Responses/Base/EnumeratorResponse.cs +++ b/src/Application/Contracts/Responses/Base/EnumeratorResponse.cs @@ -7,42 +7,32 @@ namespace Application.Contracts.Responses.Base; /// /// The enumerator response class. /// -public abstract class EnumeratorResponse where T : struct, IComparable, IFormattable, IConvertible +/// +/// Initilizes an instance of the enumerator response class. +/// +/// The enumerator value. +public abstract class EnumeratorResponse(T enumValue) where T : struct, IComparable, IFormattable, IConvertible { - private readonly Type _type; - /// - /// Initilizes an instance of the enumerator response class. - /// - /// The enumerator value. - public EnumeratorResponse(T enumValue) - { - Value = enumValue; - Name = enumValue.GetName(); - ShortName = enumValue.GetShortName(); - Description = enumValue.GetDescription(); - _type = enumValue.GetType(); - } - /// /// The enumerator value. - /// - public T Value { get; } + /// + public T Value { get; } = enumValue; /// /// The enumerator name. /// [DataType(DataType.Text)] - public string Name { get; } + public string Name { get; } = enumValue.GetName(); /// /// The enumerator short name. /// [DataType(DataType.Text)] - public string ShortName { get; } + public string ShortName { get; } = enumValue.GetShortName(); /// /// The enumerator description. /// [DataType(DataType.Text)] - public string Description { get; } + public string Description { get; } = enumValue.GetDescription(); } diff --git a/src/Application/Contracts/Responses/Enumerators/AttendanceTypeResponse.cs b/src/Application/Contracts/Responses/Enumerators/AttendanceTypeResponse.cs index ab56c6ba..9eae49de 100644 --- a/src/Application/Contracts/Responses/Enumerators/AttendanceTypeResponse.cs +++ b/src/Application/Contracts/Responses/Enumerators/AttendanceTypeResponse.cs @@ -7,12 +7,9 @@ namespace Application.Contracts.Responses.Enumerators; /// /// The attendance type response class. /// -public sealed class AttendanceTypeResponse : EnumeratorResponse -{ - /// - /// Initilizes an instance of the attendance type response class. - /// - /// - public AttendanceTypeResponse(AttendanceType enumValue) : base(enumValue) - { } -} +/// +/// Initilizes an instance of the attendance type response class. +/// +/// +public sealed class AttendanceTypeResponse(AttendanceType enumValue) : EnumeratorResponse(enumValue) +{ } diff --git a/src/Application/Contracts/Responses/Enumerators/CardTypeResponse.cs b/src/Application/Contracts/Responses/Enumerators/CardTypeResponse.cs index 89b84dec..70d52843 100644 --- a/src/Application/Contracts/Responses/Enumerators/CardTypeResponse.cs +++ b/src/Application/Contracts/Responses/Enumerators/CardTypeResponse.cs @@ -7,12 +7,9 @@ namespace Application.Contracts.Responses.Enumerators; /// /// The card type response class. /// -public sealed class CardTypeResponse : EnumeratorResponse -{ - /// - /// Initilizes an instance of the card type response class. - /// - /// - public CardTypeResponse(CardType enumValue) : base(enumValue) - { } -} +/// +/// Initilizes an instance of the card type response class. +/// +/// +public sealed class CardTypeResponse(CardType enumValue) : EnumeratorResponse(enumValue) +{ } diff --git a/src/Application/Contracts/Responses/Enumerators/RoleTypeResponse.cs b/src/Application/Contracts/Responses/Enumerators/RoleTypeResponse.cs index 0b83a565..f7269539 100644 --- a/src/Application/Contracts/Responses/Enumerators/RoleTypeResponse.cs +++ b/src/Application/Contracts/Responses/Enumerators/RoleTypeResponse.cs @@ -7,12 +7,9 @@ namespace Application.Contracts.Responses.Enumerators; /// /// The role type response class. /// -public sealed class RoleTypeResponse : EnumeratorResponse -{ - /// - /// Initilizes an instance of the role type response class. - /// - /// - public RoleTypeResponse(RoleType enumValue) : base(enumValue) - { } -} +/// +/// Initilizes an instance of the role type response class. +/// +/// +public sealed class RoleTypeResponse(RoleType enumValue) : EnumeratorResponse(enumValue) +{ } diff --git a/src/Application/Contracts/Responses/Enumerators/WorkDayTypeResponse.cs b/src/Application/Contracts/Responses/Enumerators/WorkDayTypeResponse.cs index 55e4596b..b2093710 100644 --- a/src/Application/Contracts/Responses/Enumerators/WorkDayTypeResponse.cs +++ b/src/Application/Contracts/Responses/Enumerators/WorkDayTypeResponse.cs @@ -7,12 +7,9 @@ namespace Application.Contracts.Responses.Enumerators; /// /// The work day type response class. /// -public sealed class WorkDayTypeResponse : EnumeratorResponse -{ - /// - /// Initilizes an instance of the work day type response class. - /// - /// - public WorkDayTypeResponse(WorkDayTypes enumValue) : base(enumValue) - { } -} +/// +/// Initilizes an instance of the work day type response class. +/// +/// +public sealed class WorkDayTypeResponse(WorkDayTypes enumValue) : EnumeratorResponse(enumValue) +{ } diff --git a/src/Domain/Enumerators/AttendanceType.cs b/src/Domain/Enumerators/AttendanceType.cs index 24cc32c4..530d7580 100644 --- a/src/Domain/Enumerators/AttendanceType.cs +++ b/src/Domain/Enumerators/AttendanceType.cs @@ -18,24 +18,6 @@ public enum AttendanceType Description = nameof(RESX.AttendanceType_Holiday_Description))] HOLIDAY = 1, /// - /// The week day attendance type. - /// - [Display(ResourceType = typeof(RESX), - Name = nameof(RESX.AttendanceType_Weekday_Name), - ShortName = nameof(RESX.AttendanceType_Weekday_ShortName), - Description = nameof(RESX.AttendanceType_Weekday_Description))] - [Obsolete("Do not use this one any more, will be removed in the future.")] - WEEKDAY, - /// - /// The week end day attendance type. - /// - [Display(ResourceType = typeof(RESX), - Name = nameof(RESX.AttendanceType_WeekendDay_Name), - ShortName = nameof(RESX.AttendanceType_WeekendDay_ShortName), - Description = nameof(RESX.AttendanceType_WeekendDay_Description))] - [Obsolete("Do not use this one any more, will be removed in the future.")] - WEEKENDDAY, - /// /// The work day attendance type. /// [Display(ResourceType = typeof(RESX), @@ -44,15 +26,6 @@ public enum AttendanceType Description = nameof(RESX.AttendanceType_Workday_Description))] WORKDAY, /// - /// The week end work day attendance type. - /// - [Display(ResourceType = typeof(RESX), - Name = nameof(RESX.AttendanceType_WeekendWorkday_Name), - ShortName = nameof(RESX.AttendanceType_WeekendWorkday_ShortName), - Description = nameof(RESX.AttendanceType_WeekendWorkday_Description))] - [Obsolete("Do not use this one any more, will be removed in the future.")] - WEEKENDWORKDAY, - /// /// The absence attendance type. /// [Display(ResourceType = typeof(RESX), diff --git a/src/Domain/Helpers/StringWriterWithEncoding.cs b/src/Domain/Helpers/StringWriterWithEncoding.cs deleted file mode 100644 index d71cae72..00000000 --- a/src/Domain/Helpers/StringWriterWithEncoding.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System.Text; - -namespace Domain.Helpers; - -/// -/// The string writer with encoding class. -/// -/// -/// Overrides the base class to accept a different character encoding type. -/// -internal sealed class StringWriterWithEncoding : StringWriter -{ - private readonly Encoding? _encoding; - - /// - /// Overrides the default encoding type (UTF-16). - /// - /// - public override Encoding Encoding - => _encoding ?? base.Encoding; - - /// - /// Initializes a new instance of the string writer with encoding class. - /// - /// - /// The is used. - /// - internal StringWriterWithEncoding() : base() - { } - - /// - /// Initializes a new instance of the string writer with encoding class. - /// - /// The character encoding type to use. - internal StringWriterWithEncoding(Encoding encoding) : base() - => _encoding = encoding; -} diff --git a/src/Domain/Properties/EnumeratorResources.Designer.cs b/src/Domain/Properties/EnumeratorResources.Designer.cs index 7ecfe23a..d8ca605c 100644 --- a/src/Domain/Properties/EnumeratorResources.Designer.cs +++ b/src/Domain/Properties/EnumeratorResources.Designer.cs @@ -330,87 +330,6 @@ public static string AttendanceType_VacationBlock_ShortName { } } - /// - /// Looks up a localized string similar to A weekday day means any day except any Saturday, any Sunday, or any day which is a legal holiday.. - /// - public static string AttendanceType_Weekday_Description { - get { - return ResourceManager.GetString("AttendanceType.Weekday.Description", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Weekday. - /// - public static string AttendanceType_Weekday_Name { - get { - return ResourceManager.GetString("AttendanceType.Weekday.Name", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to WD. - /// - public static string AttendanceType_Weekday_ShortName { - get { - return ResourceManager.GetString("AttendanceType.Weekday.ShortName", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Generally refers to the period between the end of a usual work week and the beginning of the new work week.. - /// - public static string AttendanceType_WeekendDay_Description { - get { - return ResourceManager.GetString("AttendanceType.WeekendDay.Description", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Weekend day. - /// - public static string AttendanceType_WeekendDay_Name { - get { - return ResourceManager.GetString("AttendanceType.WeekendDay.Name", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to WE. - /// - public static string AttendanceType_WeekendDay_ShortName { - get { - return ResourceManager.GetString("AttendanceType.WeekendDay.ShortName", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Weekend work means working on days that are usually non-working days.. - /// - public static string AttendanceType_WeekendWorkday_Description { - get { - return ResourceManager.GetString("AttendanceType.WeekendWorkday.Description", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Weekend workday. - /// - public static string AttendanceType_WeekendWorkday_Name { - get { - return ResourceManager.GetString("AttendanceType.WeekendWorkday.Name", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to WW. - /// - public static string AttendanceType_WeekendWorkday_ShortName { - get { - return ResourceManager.GetString("AttendanceType.WeekendWorkday.ShortName", resourceCulture); - } - } - /// /// Looks up a localized string similar to Day on which professional work is performed or is to be performed.. /// diff --git a/src/Domain/Properties/EnumeratorResources.resx b/src/Domain/Properties/EnumeratorResources.resx index 72e96d3f..57894144 100644 --- a/src/Domain/Properties/EnumeratorResources.resx +++ b/src/Domain/Properties/EnumeratorResources.resx @@ -225,33 +225,6 @@ VB - - A weekday day means any day except any Saturday, any Sunday, or any day which is a legal holiday. - - - Weekday - - - WD - - - Generally refers to the period between the end of a usual work week and the beginning of the new work week. - - - Weekend day - - - WE - - - Weekend work means working on days that are usually non-working days. - - - Weekend workday - - - WW - Day on which professional work is performed or is to be performed. diff --git a/src/Infrastructure/Persistence/Repositories/Base/GenericRepository.cs b/src/Infrastructure/Persistence/Repositories/Base/GenericRepository.cs index dc9a6138..f50bec31 100644 --- a/src/Infrastructure/Persistence/Repositories/Base/GenericRepository.cs +++ b/src/Infrastructure/Persistence/Repositories/Base/GenericRepository.cs @@ -26,7 +26,7 @@ internal abstract class GenericRepository : IGenericRepository /// Any context that inherits from should work. /// /// The database context to work with. - public GenericRepository(DbContext dbContext) + protected GenericRepository(DbContext dbContext) { _dbContext = dbContext; _dbSet = dbContext.Set(); diff --git a/src/Infrastructure/Persistence/RepositoryContext.cs b/src/Infrastructure/Persistence/RepositoryContext.cs index f813e391..5d55bd0b 100644 --- a/src/Infrastructure/Persistence/RepositoryContext.cs +++ b/src/Infrastructure/Persistence/RepositoryContext.cs @@ -24,7 +24,7 @@ public sealed partial class RepositoryContext : IdentityDbContext _logger; private static readonly Action LogException = - LoggerMessage.Define(LogLevel.Error, 0, "Exception occured."); + LoggerMessage.Define(LogLevel.Error, 0, "Exception occured."); /// /// Initializes a new instance of the application repository context class. diff --git a/tests/ApplicationTests/ApplicationTestBase.cs b/tests/ApplicationTests/ApplicationTestBase.cs index 0efeade5..64b4f60a 100644 --- a/tests/ApplicationTests/ApplicationTestBase.cs +++ b/tests/ApplicationTests/ApplicationTestBase.cs @@ -10,6 +10,7 @@ using Infrastructure.Installer; using Infrastructure.Persistence; +using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; @@ -33,6 +34,9 @@ public static void AssemblyInitialize(TestContext context) s_repositoryContext = host.Services.GetRequiredService(); s_repositoryContext.Database.EnsureCreated(); + + var sqlScript = s_repositoryContext.Database.GenerateCreateScript(); + File.WriteAllText("CreateScript.sql", sqlScript); DataSeed(); } diff --git a/tests/DomainTests/Helpers/StringWriterWithEncodingTests.cs b/tests/DomainTests/Helpers/StringWriterWithEncodingTests.cs deleted file mode 100644 index 34ff865c..00000000 --- a/tests/DomainTests/Helpers/StringWriterWithEncodingTests.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System.Text; - -using Domain.Helpers; - -using FluentAssertions; - -namespace DomainTests.Helpers; - -[TestClass] -public sealed class StringWriterWithEncodingTests : DomainTestBase -{ - [TestMethod] - public void StringWriterWithEncodingBaseTest() - { - StringWriterWithEncoding stringWriter = new(); - - stringWriter.Encoding.Should().NotBe(Encoding.UTF8); - } - - [TestMethod] - public void StringWriterWithEncodingUtf8Test() - { - StringWriterWithEncoding stringWriter = new(Encoding.UTF8); - - stringWriter.Encoding.Should().Be(Encoding.UTF8); - } -} \ No newline at end of file