diff --git a/E13.Common.sln b/E13.Common.sln index 4a56124..38c5ca4 100644 --- a/E13.Common.sln +++ b/E13.Common.sln @@ -41,6 +41,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "E13.Common.Cli", "src\E13.C EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "E13.Common.Data", "src\E13.Common.Data\E13.Common.Data.csproj", "{427C6EBD-6302-46D5-849D-A9AE04B4649E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "E13.Common.Logic", "src\E13.Common.Logic\E13.Common.Logic.csproj", "{58E89B10-C7EF-4FFC-AE45-BB0EB7FB2A99}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -115,6 +119,14 @@ Global {A96111A4-8348-4EB7-A7D7-8DDA857D7414}.Debug|Any CPU.Build.0 = Debug|Any CPU {A96111A4-8348-4EB7-A7D7-8DDA857D7414}.Release|Any CPU.ActiveCfg = Release|Any CPU {A96111A4-8348-4EB7-A7D7-8DDA857D7414}.Release|Any CPU.Build.0 = Release|Any CPU + {427C6EBD-6302-46D5-849D-A9AE04B4649E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {427C6EBD-6302-46D5-849D-A9AE04B4649E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {427C6EBD-6302-46D5-849D-A9AE04B4649E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {427C6EBD-6302-46D5-849D-A9AE04B4649E}.Release|Any CPU.Build.0 = Release|Any CPU + {58E89B10-C7EF-4FFC-AE45-BB0EB7FB2A99}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {58E89B10-C7EF-4FFC-AE45-BB0EB7FB2A99}.Debug|Any CPU.Build.0 = Debug|Any CPU + {58E89B10-C7EF-4FFC-AE45-BB0EB7FB2A99}.Release|Any CPU.ActiveCfg = Release|Any CPU + {58E89B10-C7EF-4FFC-AE45-BB0EB7FB2A99}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -137,6 +149,8 @@ Global {E57FB194-8742-4183-8FBF-0EDA6C09F4A6} = {30D836B3-FF29-49DC-B503-94B8F9B6DC50} {F05A8C35-D9A8-48C6-8709-9E009AEC84C1} = {30D836B3-FF29-49DC-B503-94B8F9B6DC50} {A96111A4-8348-4EB7-A7D7-8DDA857D7414} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} + {427C6EBD-6302-46D5-849D-A9AE04B4649E} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} + {58E89B10-C7EF-4FFC-AE45-BB0EB7FB2A99} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {86FB5264-87DD-494C-885E-05EA38F8DB19} diff --git a/build/cd.yml b/build/cd.yml index 3de8f18..90c46a9 100644 --- a/build/cd.yml +++ b/build/cd.yml @@ -82,7 +82,7 @@ stages: - template: templates/job_nuget_github.yml parameters: name: data - project: E13.Common.Data.Db + project: E13.Common.Data - template: templates/job_nuget_github.yml parameters: @@ -92,6 +92,11 @@ stages: - stage: Batch3 dependsOn: Batch2 jobs: + - template: templates/job_nuget_github.yml + parameters: + name: datadb + project: E13.Common.Data.Db + - template: templates/job_nuget_github.yml parameters: name: api @@ -102,26 +107,32 @@ stages: name: blazor project: E13.Common.Blazor - - template: templates/job_nuget_github.yml - parameters: - name: logic - project: E13.Common.Logic - - template: templates/job_nuget_github.yml parameters: name: nunit_ui project: E13.Common.Nunit.UI - + - stage: Batch4 dependsOn: Batch3 jobs: + + - template: templates/job_nuget_github.yml + parameters: + name: logic + project: E13.Common.Logic + +- stage: Batch5 + dependsOn: + - Batch4 + jobs: + - template: templates/job_nuget_github.yml parameters: name: nunit_api project: E13.Common.Nunit.Api - stage: Post - dependsOn: Batch4 + dependsOn: Batch5 jobs: - job: git_cleanup steps: diff --git a/doc/E13.Common.Core.xml b/doc/E13.Common.Core.xml index 0d3e331..187a855 100644 --- a/doc/E13.Common.Core.xml +++ b/doc/E13.Common.Core.xml @@ -52,6 +52,17 @@ the Guid representation of the string that was constructed + + + Environment variables used by E13.Common + + + + + Checks if the InMemory environment variable is set to true + + false if "InMemory" has a value of "false" or is not set, true otherwise + Helpers used to help getting settings primarily for unit test execution @@ -135,6 +146,7 @@ enum to extend DisplayAttribute.StringValue + Thrown if the enum does not have an Attribute of type DisplayAttribute or if the enum itself was not found @@ -142,6 +154,7 @@ enum to extend AbbrevationAttribute.StringValue + Thrown if the enum does not have an Attribute of type AbbrevationAttribute or if the enum itself was not found @@ -149,6 +162,18 @@ enum to extend GuidAttribute.Value + Thrown if the enum does not have an Attribute of type GuidAttribute or if the enum itself was not found + + + + Private method used by other extension methods to get an appropriate value for an enum's attribute + + Attribute Type to be resolved to retrieve the value + Type of the value to be returned + enum value + Function to resolve the return value + + Thrown if the enum does not have an Attribute of TAttributeType or if the enum itself was not found diff --git a/src/E13.Common.Data.Db/E13.Common.Data.Db.csproj b/src/E13.Common.Data.Db/E13.Common.Data.Db.csproj index ca36f15..a52f039 100644 --- a/src/E13.Common.Data.Db/E13.Common.Data.Db.csproj +++ b/src/E13.Common.Data.Db/E13.Common.Data.Db.csproj @@ -42,6 +42,7 @@ + diff --git a/src/E13.Common.Data/DataException.cs b/src/E13.Common.Data/DataException.cs new file mode 100644 index 0000000..0b0231b --- /dev/null +++ b/src/E13.Common.Data/DataException.cs @@ -0,0 +1,14 @@ +namespace E13.Common.Data +{ + public class DataException : Exception + { + // Parameterless constructor + public DataException() : base() { } + + // Constructor with message + public DataException(string message) : base(message) { } + + // Constructor with message and inner exception + public DataException(string message, Exception innerException) : base(message, innerException) { } + } +} diff --git a/src/E13.Common.Data/E13.Common.Data.csproj b/src/E13.Common.Data/E13.Common.Data.csproj new file mode 100644 index 0000000..125f4c9 --- /dev/null +++ b/src/E13.Common.Data/E13.Common.Data.csproj @@ -0,0 +1,9 @@ + + + + net9.0 + enable + enable + + + diff --git a/src/E13.Common.Data/docs/README.md b/src/E13.Common.Data/docs/README.md new file mode 100644 index 0000000..d0aaf38 --- /dev/null +++ b/src/E13.Common.Data/docs/README.md @@ -0,0 +1,37 @@ +# E13.Common.Data + +[![NuGet Version](https://img.shields.io/nuget/v/e13.common.data)](https://www.nuget.org/packages/E13.Common.Data/) +[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT) + +## Overview + +E13.Common.Data is a package within the E13.Common collection designed for implementing a data layer. +## Features + +- **Data Exception**: Exception to help identify data-related issues + +## Installation + +```shell +dotnet add package E13.Common.Data +``` + +## Dependencies + +- .NET 9.0 + +## Related Packages + +E13.Common.Data is part of the E13.Common collection, which includes: + +- E13.Common.Core - Core utilities and base classes +- E13.Common.Domain - Domain layer components +- E13.Common.Data.Db - Database access components + +## Contributing + +Contributions to E13.Common.Data are welcome. If you have suggestions or improvements, please submit an issue or create a pull request in the [GitHub repository](https://github.com/e13tech/common). + +## License + +This project is licensed under the MIT License. For more details, see the LICENSE file in the repository. diff --git a/src/E13.Common.Domain/DomainException.cs b/src/E13.Common.Domain/DomainException.cs new file mode 100644 index 0000000..8062472 --- /dev/null +++ b/src/E13.Common.Domain/DomainException.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace E13.Common.Domain +{ + public class DomainException : Exception + { + // Default constructor + public DomainException() : base() + { + } + + // Constructor with message + public DomainException(string message) : base(message) + { + } + + // Constructor with message and inner exception + public DomainException(string message, Exception innerException) : base(message, innerException) + { + } + } +} diff --git a/src/E13.Common.Logic/LogicException.cs b/src/E13.Common.Logic/LogicException.cs new file mode 100644 index 0000000..9507b2c --- /dev/null +++ b/src/E13.Common.Logic/LogicException.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace E13.Common.Logic +{ + public class LogicException : Exception + { + public LogicException() + { + } + + public LogicException(string message) : base(message) + { + } + + public LogicException(string message, Exception innerException) : base(message, innerException) + { + } + } +}