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
+
+[](https://www.nuget.org/packages/E13.Common.Data/)
+[](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)
+ {
+ }
+ }
+}