diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 03ec5454..c982b5fe 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -8,4 +8,4 @@ updates: - package-ecosystem: "nuget" # See documentation for possible values directory: "/" # Location of package manifests schedule: - interval: "daily" + interval: "weekly" # How often to check for updates (can be "daily", "weekly" or "monthly") diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 50b58032..c4579a69 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -1,6 +1,4 @@ -# This is a manually triggered dockerhub build and publish - -name: Publish to Dockerhub +name: Build test and pack on: push: @@ -20,7 +18,7 @@ jobs: - name: Setup .NET uses: actions/setup-dotnet@v3 with: - dotnet-version: 7.0.x + dotnet-version: 8.0.x - name: Restore dependencies run: dotnet restore @@ -29,7 +27,7 @@ jobs: run: dotnet build -c Debug --no-restore - name: Test - run: dotnet test --no-build --verbosity normal + run: dotnet test -c Debug --no-build --verbosity normal - name: Pack - run: dotnet pack --no-build --verbosity normal + run: dotnet pack -c Debug --no-build --verbosity normal diff --git a/.github/workflows/dockerhub-publish.yml b/.github/workflows/dockerhub-publish.yml index 3dd29382..8b656b21 100644 --- a/.github/workflows/dockerhub-publish.yml +++ b/.github/workflows/dockerhub-publish.yml @@ -31,7 +31,7 @@ jobs: - name: Setup .NET uses: actions/setup-dotnet@v3 with: - dotnet-version: 7.0.x + dotnet-version: 8.0.x - name: Restore dependencies run: dotnet restore @@ -48,11 +48,11 @@ jobs: - name: Docker Hub Log in uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a with: - username: ${{secrets.DOCKER_USERNAME}} - password: ${{secrets.DOCKER_PASSWORD}} + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} - name: Build and push image to Dockerhub run: | - docker build -f webapi.dockerfile -t genocs/demo-webapi:${{github.event.inputs.version}} -t genocs/demo-webapi:latest . - docker push genocs/demo-webapi:${{github.event.inputs.version}} + docker build -f webapi.dockerfile -t genocs/demo-webapi:${{ github.event.inputs.version }} -t genocs/demo-webapi:latest . + docker push genocs/demo-webapi:${{ github.event.inputs.version }} docker push genocs/demo-webapi:latest diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml index 99a3c53a..47ebde80 100644 --- a/.github/workflows/manual.yml +++ b/.github/workflows/manual.yml @@ -29,7 +29,7 @@ jobs: steps: # Runs a single command using the runners shell - name: Send greeting - run: echo "Hello ${{github.event.inputs.name}}" + run: echo "Hello ${{ github.event.inputs.name }}" - name: Print Run Number run: echo "Hello $env:GITHUB_RUN_NUMBER" @@ -38,10 +38,10 @@ jobs: run: echo "Hello $env:GITHUB_RUN_ATTEMPT" - name: Output Run ID - run: echo ${{github.run_id}} + run: echo ${{ github.run_id }} - name: Output Run Number - run: echo ${{github.run_number}} + run: echo ${{ github.run_number }} - name: Output Run Attempt - run: echo ${{github.run_attempt}} + run: echo ${{ github.run_attempt }} diff --git a/.github/workflows/nuget-publish.yml b/.github/workflows/nuget-publish.yml index f872f6a2..aa8893aa 100644 --- a/.github/workflows/nuget-publish.yml +++ b/.github/workflows/nuget-publish.yml @@ -13,7 +13,7 @@ on: description: "Packages Version" # Default value if no value is explicitly provided - default: "5.0.0-preview.5.0" + default: "5.0.0" # Input has to be provided for the workflow to run required: true @@ -31,7 +31,7 @@ jobs: - name: Setup .NET uses: actions/setup-dotnet@v3 with: - dotnet-version: 7.0.x + dotnet-version: 8.0.x - name: Restore dependencies run: dotnet restore @@ -43,7 +43,7 @@ jobs: run: dotnet test --no-build --verbosity normal - name: Pack - run: dotnet pack -c Debug -o out -p:PackageVersion=${{github.event.inputs.version}} --no-build --verbosity normal + run: dotnet pack -c Debug -o out -p:PackageVersion=${{ github.event.inputs.version }} --no-build --verbosity normal - name: Push packages to Nuget - run: dotnet nuget push ./out/*.nupkg -k ${{secrets.NUGET_API_KEY}} -s https://api.nuget.org/v3/index.json --skip-duplicate --no-symbols + run: dotnet nuget push ./out/*.nupkg -k ${{ secrets.NUGET_API_KEY }} -s https://api.nuget.org/v3/index.json --skip-duplicate --no-symbols diff --git a/Directory.Build.props b/Directory.Build.props index 14757c4d..88b9512c 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,25 +1,28 @@ - $(MSBuildThisFileDirectory)dotnet.ruleset + enable + enable + true false false - true + $(MSBuildThisFileDirectory)dotnet.ruleset + True + True $(OutputPath)$(AssemblyName).xml - true - enable - enable - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + + all runtime; build; native; contentfiles; analyzers; buildtransitive + diff --git a/demo-webapi.dockerfile b/demo-webapi.dockerfile index 8ad8f855..963017d9 100644 --- a/demo-webapi.dockerfile +++ b/demo-webapi.dockerfile @@ -1,13 +1,11 @@ #See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. -#FROM mcr.microsoft.com/dotnet/aspnet:6.0-alpine -FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base WORKDIR /app EXPOSE 80 EXPOSE 443 -#FROM mcr.microsoft.com/dotnet/sdk:6.0-alpine AS build-env -FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build-env +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build-env WORKDIR /src COPY ["src/Genocs.Core", "src/Genocs.Core/"] COPY ["src/Genocs.Common", "src/Genocs.Common/"] diff --git a/demo-worker.dockerfile b/demo-worker.dockerfile index 80a9bb69..dc372871 100644 --- a/demo-worker.dockerfile +++ b/demo-worker.dockerfile @@ -1,13 +1,11 @@ #See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. -#FROM mcr.microsoft.com/dotnet/aspnet:6.0-alpine -FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base WORKDIR /app EXPOSE 80 EXPOSE 443 -#FROM mcr.microsoft.com/dotnet/sdk:6.0-alpine AS build-env -FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build-env +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build-env WORKDIR /src COPY ["src/Genocs.Core.Demo.Worker", "src/Genocs.Core.Demo.Worker/"] COPY ["src/Genocs.Core.Demo.Contracts", "src/Genocs.Core.Demo.Contracts/"] diff --git a/src/Genocs.Auth/Genocs.Auth.csproj b/src/Genocs.Auth/Genocs.Auth.csproj index 75a32975..45e2aba8 100644 --- a/src/Genocs.Auth/Genocs.Auth.csproj +++ b/src/Genocs.Auth/Genocs.Auth.csproj @@ -1,74 +1,72 @@  - - net6.0;net7.0 - enable - enable - Genocs.Auth - 10.0 - true - 5.0.0-preview.5.0 - 5.0.0 - Nocco Giovanni Emanuele - Genocs - The authorization library useful to build .NET Core projects. - The authorization library useful to build .NET Core projects. - Genocs 2023 - LICENSE - https://github.com/Genocs/genocs-library - https://github.com/Genocs/genocs-library.git - icon.png - git - aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles - README.md - Aligned to the ecosystem - True - latest - True - + + net6.0;net7.0;net8.0 + Genocs.Auth + Genocs.Auth + Genocs.Auth + 10.0 + true + 5.0.0 + 5.0.0 + Nocco Giovanni Emanuele + Genocs + The authorization library useful to build .NET Core projects. + The authorization library useful to build .NET Core projects. + Genocs 2023 + LICENSE + https://github.com/Genocs/genocs-library + https://github.com/Genocs/genocs-library.git + icon.png + git + aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles + README.md + Aligned to the ecosystem + True + latest + - - - True - \ - - - True - \ - - - True - \ - - + + + True + \ + + + True + \ + + + True + \ + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + + + + + + + + diff --git a/src/Genocs.Auth/README.md b/src/Genocs.Auth/README.md index 637423d1..fbd670e5 100644 --- a/src/Genocs.Auth/README.md +++ b/src/Genocs.Auth/README.md @@ -37,11 +37,8 @@ Following are the project settings needed to enable monitoring ## Release notes -### [2023-10-13] 5.0.0-preview.5.0 -- Added [editorconfig](https://editorconfig.org/) -- Added StyleCop -- Updated logo -- Updated readme +### [2023-11-25] 5.0.0 +- Moved to NET8 ### [2023-10-13] 5.0.0-preview.5.0 - Added [editorconfig](https://editorconfig.org/) diff --git a/src/Genocs.Common/Genocs.Common.csproj b/src/Genocs.Common/Genocs.Common.csproj index 53b44aea..fa608135 100644 --- a/src/Genocs.Common/Genocs.Common.csproj +++ b/src/Genocs.Common/Genocs.Common.csproj @@ -1,52 +1,44 @@ - + - - netstandard2.1 - enable - enable - Genocs.Common - 10.0 - true - 5.0.0-preview.5.0 - 5.0.0 - Nocco Giovanni Emanuele - Genocs - The commons components library useful to build .NET Core projects. - The commons components library useful to build .NET Core projects. - Genocs 2023 - LICENSE - https://github.com/Genocs/genocs-library - https://github.com/Genocs/genocs-library.git - icon.png - git - aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles - README.md - Aligned to the ecosystem - True - latest - True - - - - - True - \ - - - True - \ - - - True - \ - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + netstandard2.1 + Genocs.Common + Genocs.Common + Genocs.Common + 10.0 + true + 5.0.0 + 5.0.0 + Nocco Giovanni Emanuele + Genocs + The commons components library useful to build .NET Core projects. + The commons components library useful to build .NET Core projects. + Genocs 2023 + LICENSE + https://github.com/Genocs/genocs-library + https://github.com/Genocs/genocs-library.git + icon.png + git + aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles + README.md + Aligned to the ecosystem + True + latest + + + + True + \ + + + True + \ + + + True + \ + + + diff --git a/src/Genocs.Common/README.md b/src/Genocs.Common/README.md index e13b098e..a40658e7 100644 --- a/src/Genocs.Common/README.md +++ b/src/Genocs.Common/README.md @@ -15,6 +15,9 @@ Please check the GitHub repository getting more info. ## Release notes +### [2023-11-25] 5.0.0 +- Moved to NET8 + ### [2023-10-13] 5.0.0-preview.5.0 - Added [editorconfig](https://editorconfig.org/) - Added StyleCop diff --git a/src/Genocs.Common/Types/MessageAttribute.cs b/src/Genocs.Common/Types/MessageAttribute.cs index 5dbc8107..c226ccc0 100644 --- a/src/Genocs.Common/Types/MessageAttribute.cs +++ b/src/Genocs.Common/Types/MessageAttribute.cs @@ -1,28 +1,28 @@ namespace Genocs.Common.Types; /// -/// MessageAttribute class +/// MessageAttribute class. /// [AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface)] public class MessageAttribute : Attribute { /// - /// The Exchange used by the system + /// The Exchange used by the system. /// public string Exchange { get; } /// - /// The Topic used to send/receive message + /// The Topic used to send/receive message. /// public string Topic { get; } /// - /// The queue + /// The queue. /// public string Queue { get; } /// - /// The type of the queue + /// The type of the queue. /// public string QueueType { get; } @@ -32,12 +32,12 @@ public class MessageAttribute : Attribute public string ErrorQueue { get; } /// - /// The subscriptionId + /// The subscriptionId. /// public string SubscriptionId { get; } /// - /// Standard constructor + /// Standard constructor. /// /// /// @@ -45,8 +45,13 @@ public class MessageAttribute : Attribute /// /// /// - public MessageAttribute(string? exchange = null, string? topic = null, string? queue = null, - string? queueType = null, string? errorQueue = null, string? subscriptionId = null) + public MessageAttribute( + string? exchange = null, + string? topic = null, + string? queue = null, + string? queueType = null, + string? errorQueue = null, + string? subscriptionId = null) { Exchange = exchange ?? string.Empty; Topic = topic ?? string.Empty; diff --git a/src/Genocs.Core.Demo.Contracts/Genocs.Core.Demo.Contracts.csproj b/src/Genocs.Core.Demo.Contracts/Genocs.Core.Demo.Contracts.csproj index 0f133816..0758161e 100644 --- a/src/Genocs.Core.Demo.Contracts/Genocs.Core.Demo.Contracts.csproj +++ b/src/Genocs.Core.Demo.Contracts/Genocs.Core.Demo.Contracts.csproj @@ -1,29 +1,17 @@  - - net7.0 - enable - enable - false - false - - - - - - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + net8.0 + false + false + + + + + + + + + diff --git a/src/Genocs.Core.Demo.Domain/Genocs.Core.Demo.Domain.csproj b/src/Genocs.Core.Demo.Domain/Genocs.Core.Demo.Domain.csproj index 30ad925d..c8fab86c 100644 --- a/src/Genocs.Core.Demo.Domain/Genocs.Core.Demo.Domain.csproj +++ b/src/Genocs.Core.Demo.Domain/Genocs.Core.Demo.Domain.csproj @@ -1,28 +1,19 @@  - - net7.0 - enable - enable - false - false - + + net8.0 + false + false + - - - - + + + + - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + + + diff --git a/src/Genocs.Core.Demo.Infrastructure/Genocs.Core.Demo.Infrastructure.csproj b/src/Genocs.Core.Demo.Infrastructure/Genocs.Core.Demo.Infrastructure.csproj index 10e58d89..dc1d6876 100644 --- a/src/Genocs.Core.Demo.Infrastructure/Genocs.Core.Demo.Infrastructure.csproj +++ b/src/Genocs.Core.Demo.Infrastructure/Genocs.Core.Demo.Infrastructure.csproj @@ -1,18 +1,9 @@  - - net7.0 - enable - enable - false - false - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + net8.0 + false + false + diff --git a/src/Genocs.Core.Demo.WebApi/Genocs.Core.Demo.WebApi.csproj b/src/Genocs.Core.Demo.WebApi/Genocs.Core.Demo.WebApi.csproj index a2f08cea..767607a9 100644 --- a/src/Genocs.Core.Demo.WebApi/Genocs.Core.Demo.WebApi.csproj +++ b/src/Genocs.Core.Demo.WebApi/Genocs.Core.Demo.WebApi.csproj @@ -1,36 +1,26 @@  - - net7.0 - enable - enable - false - false - __genocs - Linux - ..\.. - + + net8.0 + false + false + __genocs + Linux + ..\.. + - - - - - - + + + + + - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + + + + + + diff --git a/src/Genocs.Core.Demo.Worker/Genocs.Core.Demo.Worker.csproj b/src/Genocs.Core.Demo.Worker/Genocs.Core.Demo.Worker.csproj index c2a64f4f..0a191434 100644 --- a/src/Genocs.Core.Demo.Worker/Genocs.Core.Demo.Worker.csproj +++ b/src/Genocs.Core.Demo.Worker/Genocs.Core.Demo.Worker.csproj @@ -1,44 +1,33 @@  - - net7.0 - enable - enable - false - false - __genocs - Linux - ..\.. - + + net8.0 + false + false + __genocs + Linux + ..\.. + - - - + + + - - - - - + + + + - - - - + + + - - - - - - - - + + + + + + + - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - diff --git a/src/Genocs.Core.UnitTests/Genocs.Core.UnitTests.csproj b/src/Genocs.Core.UnitTests/Genocs.Core.UnitTests.csproj index e446d286..d0778a8d 100644 --- a/src/Genocs.Core.UnitTests/Genocs.Core.UnitTests.csproj +++ b/src/Genocs.Core.UnitTests/Genocs.Core.UnitTests.csproj @@ -1,29 +1,21 @@  - - net7.0 - enable - enable - false - false - - - - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + net8.0 + false + false + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + \ No newline at end of file diff --git a/src/Genocs.Core.UnitTests/UnitTest1.cs b/src/Genocs.Core.UnitTests/UnitTest1.cs index aef15efe..44fa45bc 100644 --- a/src/Genocs.Core.UnitTests/UnitTest1.cs +++ b/src/Genocs.Core.UnitTests/UnitTest1.cs @@ -1,7 +1,7 @@ -namespace Genocs.Core.UnitTests; - using Xunit; +namespace Genocs.Core.UnitTests; + public class UnitTest1 { [Fact] diff --git a/src/Genocs.Core/Builders/Extensions.cs b/src/Genocs.Core/Builders/Extensions.cs index 790822de..8c785fda 100644 --- a/src/Genocs.Core/Builders/Extensions.cs +++ b/src/Genocs.Core/Builders/Extensions.cs @@ -6,18 +6,17 @@ namespace Genocs.Core.Builders; - /// -/// Builders Extensions +/// Builders Extensions. /// public static class Extensions { /// - /// The Builder + /// The Builder. /// /// /// - /// + /// The builder. public static IGenocsBuilder AddGenocs(this IServiceCollection services, IConfiguration? configuration = null) { var builder = GenocsBuilder.Create(services, configuration); @@ -30,17 +29,23 @@ public static IGenocsBuilder AddGenocs(this IServiceCollection services, IConfig { return builder; } - var version = appOptions.DisplayVersion ? $" {appOptions.Version}" : string.Empty; - Console.WriteLine(Figgle.FiggleFonts.Doom.Render($"{appOptions.Name}{version}")); + + string version = appOptions.DisplayVersion ? $" {appOptions.Version}" : string.Empty; + Console.WriteLine(Figgle.FiggleFonts.Doom.Render(appOptions.Name + version)); + ConsoleColor current = Console.BackgroundColor; + + Console.ForegroundColor = ConsoleColor.Blue; + Console.WriteLine("Runtime Version: {0}", Environment.Version.ToString()); + Console.ForegroundColor = current; return builder; } /// - /// Run the application initializer + /// Run the application initializer. /// - /// - /// + /// The application builder. + /// The application builder. public static IApplicationBuilder UseGenocs(this IApplicationBuilder app) { using var scope = app.ApplicationServices.CreateScope(); @@ -51,12 +56,12 @@ public static IApplicationBuilder UseGenocs(this IApplicationBuilder app) } /// - /// Get option helper method + /// Get option helper method. /// - /// + /// The option type parameter. /// /// - /// + /// The option. public static TModel GetOptions(this IConfiguration configuration, string sectionName) where TModel : new() { @@ -66,22 +71,22 @@ public static TModel GetOptions(this IConfiguration configuration, strin } /// - /// Get option helper method + /// Get option helper method. /// - /// - /// - /// - /// - public static TModel GetOptions(this IGenocsBuilder builder, string settingsSectionName) + /// The option type parameter. + /// The builder. + /// The default section name. + /// The option. + public static TModel GetOptions(this IGenocsBuilder builder, string sectionName) where TModel : new() { if (builder.Configuration != null) { - return builder.Configuration.GetOptions(settingsSectionName); + return builder.Configuration.GetOptions(sectionName); } using var serviceProvider = builder.Services.BuildServiceProvider(); var configuration = serviceProvider.GetRequiredService(); - return configuration.GetOptions(settingsSectionName); + return configuration.GetOptions(sectionName); } } \ No newline at end of file diff --git a/src/Genocs.Core/Builders/GenocsBuilder.cs b/src/Genocs.Core/Builders/GenocsBuilder.cs index f3571e83..c7972562 100644 --- a/src/Genocs.Core/Builders/GenocsBuilder.cs +++ b/src/Genocs.Core/Builders/GenocsBuilder.cs @@ -1,14 +1,12 @@ -namespace Genocs.Core.Builders; - using Genocs.Common.Types; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; -using System; using System.Collections.Concurrent; -using System.Collections.Generic; + +namespace Genocs.Core.Builders; /// -/// Genocs builder implementation +/// Genocs builder implementation. /// public sealed class GenocsBuilder : IGenocsBuilder { diff --git a/src/Genocs.Core/CQRS/Queries/PagedResult.cs b/src/Genocs.Core/CQRS/Queries/PagedResult.cs index be31ae0f..250adb3b 100644 --- a/src/Genocs.Core/CQRS/Queries/PagedResult.cs +++ b/src/Genocs.Core/CQRS/Queries/PagedResult.cs @@ -1,74 +1,71 @@ -namespace Genocs.Core.CQRS.Queries +using System.Text.Json.Serialization; + +namespace Genocs.Core.CQRS.Queries; + +/// +/// The paged result. +/// +/// +public class PagedResult : PagedResultBase { - using System.Collections.Generic; - using System.Linq; - using System.Text.Json.Serialization; + /// + /// Returned items + /// + public IEnumerable Items { get; } /// - /// The paged result + /// Default constructor /// - /// - public class PagedResult : PagedResultBase + protected PagedResult() { - /// - /// Returned items - /// - public IEnumerable Items { get; } - - /// - /// Default constructor - /// - protected PagedResult() - { - Items = Enumerable.Empty(); - } + Items = Enumerable.Empty(); + } - /// - /// Standard constructor - /// - /// - /// - /// - /// - /// - [JsonConstructor] - protected PagedResult(IEnumerable items, - int currentPage, - int resultsPerPage, - int totalPages, - long totalResults) : - base(currentPage, resultsPerPage, totalPages, totalResults) - { - Items = items; - } + /// + /// Standard constructor + /// + /// + /// + /// + /// + /// + [JsonConstructor] + protected PagedResult(IEnumerable items, + int currentPage, + int resultsPerPage, + int totalPages, + long totalResults) : + base(currentPage, resultsPerPage, totalPages, totalResults) + { + Items = items; + } - /// - /// Create helper - /// - /// - /// - /// - /// - /// - /// - public static PagedResult Create(IEnumerable items, - int currentPage, int resultsPerPage, - int totalPages, long totalResults) - => new PagedResult(items, currentPage, resultsPerPage, totalPages, totalResults); + /// + /// Create helper + /// + /// + /// + /// + /// + /// + /// + public static PagedResult Create(IEnumerable items, + int currentPage, int resultsPerPage, + int totalPages, long totalResults) + => new PagedResult(items, currentPage, resultsPerPage, totalPages, totalResults); - /// - /// From helper - /// - /// - /// - /// - public static PagedResult From(PagedResultBase result, IEnumerable items) - => new PagedResult(items, result.CurrentPage, result.ResultsPerPage, - result.TotalPages, result.TotalResults); + /// + /// From helper + /// + /// + /// + /// + public static PagedResult From(PagedResultBase result, IEnumerable items) + => new PagedResult(items, result.CurrentPage, result.ResultsPerPage, + result.TotalPages, result.TotalResults); - /// - /// Static helper to get Empty result - /// - public static PagedResult Empty => new PagedResult(); - } + /// + /// Static helper to get Empty result + /// + public static PagedResult Empty => new PagedResult(); } \ No newline at end of file diff --git a/src/Genocs.Core/Collections/Extensions/ListExtensions.cs b/src/Genocs.Core/Collections/Extensions/ListExtensions.cs index 16d76145..e6d54ebb 100644 --- a/src/Genocs.Core/Collections/Extensions/ListExtensions.cs +++ b/src/Genocs.Core/Collections/Extensions/ListExtensions.cs @@ -1,73 +1,69 @@ -namespace Genocs.Core.Collections.Extensions -{ - using System; - using System.Collections.Generic; +namespace Genocs.Core.Collections.Extensions; +/// +/// Extension methods for . +/// +public static class ListExtensions +{ /// - /// Extension methods for . + /// Sort a list by a topological sorting, which consider their dependencies /// - public static class ListExtensions + /// The type of the members of values. + /// A list of objects to sort + /// Function to resolve the dependencies + /// + public static List SortByDependencies(this IEnumerable source, Func> getDependencies) { - /// - /// Sort a list by a topological sorting, which consider their dependencies - /// - /// The type of the members of values. - /// A list of objects to sort - /// Function to resolve the dependencies - /// - public static List SortByDependencies(this IEnumerable source, Func> getDependencies) + /* See: http://www.codeproject.com/Articles/869059/Topological-sorting-in-Csharp + * http://en.wikipedia.org/wiki/Topological_sorting + */ + + var sorted = new List(); + var visited = new Dictionary(); + + foreach (var item in source) { - /* See: http://www.codeproject.com/Articles/869059/Topological-sorting-in-Csharp - * http://en.wikipedia.org/wiki/Topological_sorting - */ + SortByDependenciesVisit(item, getDependencies, sorted, visited); + } - var sorted = new List(); - var visited = new Dictionary(); + return sorted; + } + + /// + /// + /// + /// The type of the members of values. + /// Item to resolve + /// Function to resolve the dependencies + /// List with the sortet items + /// Dictionary with the visited items + private static void SortByDependenciesVisit(T item, Func> getDependencies, List sorted, Dictionary visited) + { + bool inProcess; + var alreadyVisited = visited.TryGetValue(item, out inProcess); - foreach (var item in source) + if (alreadyVisited) + { + if (inProcess) { - SortByDependenciesVisit(item, getDependencies, sorted, visited); + throw new ArgumentException("Cyclic dependency found! Item: " + item); } - - return sorted; } - - /// - /// - /// - /// The type of the members of values. - /// Item to resolve - /// Function to resolve the dependencies - /// List with the sortet items - /// Dictionary with the visited items - private static void SortByDependenciesVisit(T item, Func> getDependencies, List sorted, Dictionary visited) + else { - bool inProcess; - var alreadyVisited = visited.TryGetValue(item, out inProcess); + visited[item] = true; - if (alreadyVisited) + var dependencies = getDependencies(item); + if (dependencies != null) { - if (inProcess) + foreach (var dependency in dependencies) { - throw new ArgumentException("Cyclic dependency found! Item: " + item); + SortByDependenciesVisit(dependency, getDependencies, sorted, visited); } } - else - { - visited[item] = true; - var dependencies = getDependencies(item); - if (dependencies != null) - { - foreach (var dependency in dependencies) - { - SortByDependenciesVisit(dependency, getDependencies, sorted, visited); - } - } - - visited[item] = false; - sorted.Add(item); - } + visited[item] = false; + sorted.Add(item); } } } diff --git a/src/Genocs.Core/Domain/Repositories/IRepositoryOfTEntityAndTPrimaryKey.cs b/src/Genocs.Core/Domain/Repositories/IRepositoryOfTEntityAndTPrimaryKey.cs index b3026231..63143af9 100644 --- a/src/Genocs.Core/Domain/Repositories/IRepositoryOfTEntityAndTPrimaryKey.cs +++ b/src/Genocs.Core/Domain/Repositories/IRepositoryOfTEntityAndTPrimaryKey.cs @@ -1,334 +1,330 @@ -namespace Genocs.Core.Domain.Repositories +using Genocs.Common.Types; +using System.Linq.Expressions; + +namespace Genocs.Core.Domain.Repositories; + +/// +/// This interface is implemented by all repositories to ensure implementation of fixed methods. +/// +/// Main Entity type this repository works on +/// Primary key type of the entity +public interface IRepositoryOfEntity : IRepository + where TEntity : IIdentifiable { - using Genocs.Common.Types; - using System; - using System.Collections.Generic; - using System.Linq; - using System.Linq.Expressions; - using System.Threading.Tasks; - - /// - /// This interface is implemented by all repositories to ensure implementation of fixed methods. - /// - /// Main Entity type this repository works on - /// Primary key type of the entity - public interface IRepositoryOfEntity : IRepository where TEntity : IIdentifiable - { - #region Select/Get/Query - - /// - /// Used to get a IQueryable that is used to retrieve entities from entire table. - /// - /// IQueryable to be used to select entities from database - IQueryable GetAll(); - - /// - /// Used to get a IQueryable that is used to retrieve entities from entire table. - /// One or more - /// - /// A list of include expressions. - /// IQueryable to be used to select entities from database - IQueryable GetAllIncluding(params Expression>[] propertySelectors); - - /// - /// Used to get all entities. - /// - /// List of all entities - List GetAllList(); - - /// - /// Used to get all entities. - /// - /// List of all entities - Task> GetAllListAsync(); - - /// - /// Used to get all entities based on given . - /// - /// A condition to filter entities - /// List of all entities - List GetAllList(Expression> predicate); - - /// - /// Used to get all entities based on given . - /// - /// A condition to filter entities - /// List of all entities - Task> GetAllListAsync(Expression> predicate); - - /// - /// Used to run a query over entire entities. - /// attribute is not always necessary (as opposite to ) - /// if finishes IQueryable with ToList, FirstOrDefault etc.. - /// - /// Type of return value of this method - /// This method is used to query over entities - /// Query result - T Query(Func, T> queryMethod); - - /// - /// Gets an entity with given primary key. - /// - /// Primary key of the entity to get - /// Entity - TEntity Get(TIdentifiable id); - - /// - /// Gets an entity with given primary key. - /// - /// Primary key of the entity to get - /// Entity - Task GetAsync(TIdentifiable id); - - /// - /// Gets exactly one entity with given predicate. - /// Throws exception if no entity or more than one entity. - /// - /// Entity - TEntity Single(Expression> predicate); - - /// - /// Gets exactly one entity with given predicate. - /// Throws exception if no entity or more than one entity. - /// - /// Entity - Task SingleAsync(Expression> predicate); - - /// - /// Gets an entity with given primary key or null if not found. - /// - /// Primary key of the entity to get - /// Entity or null - TEntity FirstOrDefault(TIdentifiable id); - - /// - /// Gets an entity with given primary key or null if not found. - /// - /// Primary key of the entity to get - /// Entity or null - Task FirstOrDefaultAsync(TIdentifiable id); - - /// - /// Gets an entity with given given predicate or null if not found. - /// - /// Predicate to filter entities - TEntity FirstOrDefault(Expression> predicate); - - /// - /// Gets an entity with given given predicate or null if not found. - /// - /// Predicate to filter entities - Task FirstOrDefaultAsync(Expression> predicate); - - /// - /// Creates an entity with given primary key without database access. - /// - /// Primary key of the entity to load - /// Entity - TEntity Load(TIdentifiable id); - - #endregion - - #region Insert - - /// - /// Inserts a new entity. - /// - /// Inserted entity - TEntity Insert(TEntity entity); - - /// - /// Inserts a new entity. - /// - /// Inserted entity - Task InsertAsync(TEntity entity); - - /// - /// Inserts a new entity and gets it's Id. - /// It may require to save current unit of work - /// to be able to retrieve id. - /// - /// Entity - /// Id of the entity - TIdentifiable InsertAndGetId(TEntity entity); - - /// - /// Inserts a new entity and gets it's Id. - /// It may require to save current unit of work - /// to be able to retrieve id. - /// - /// Entity - /// Id of the entity - Task InsertAndGetIdAsync(TEntity entity); - - /// - /// Inserts or updates given entity depending on Id's value. - /// - /// Entity - TEntity InsertOrUpdate(TEntity entity); - - /// - /// Inserts or updates given entity depending on Id's value. - /// - /// Entity - Task InsertOrUpdateAsync(TEntity entity); - - /// - /// Inserts or updates given entity depending on Id's value. - /// Also returns Id of the entity. - /// It may require to save current unit of work - /// to be able to retrieve id. - /// - /// Entity - /// Id of the entity - TIdentifiable InsertOrUpdateAndGetId(TEntity entity); - - /// - /// Inserts or updates given entity depending on Id's value. - /// Also returns Id of the entity. - /// It may require to save current unit of work - /// to be able to retrieve id. - /// - /// Entity - /// Id of the entity - Task InsertOrUpdateAndGetIdAsync(TEntity entity); - - #endregion - - #region Update - - /// - /// Updates an existing entity. - /// - /// Entity - TEntity Update(TEntity entity); - - /// - /// Updates an existing entity. - /// - /// Entity - Task UpdateAsync(TEntity entity); - - /// - /// Updates an existing entity. - /// - /// Id of the entity - /// Action that can be used to change values of the entity - /// Updated entity - TEntity Update(TIdentifiable id, Action updateAction); - - /// - /// Updates an existing entity. - /// - /// Id of the entity - /// Action that can be used to change values of the entity - /// Updated entity - Task UpdateAsync(TIdentifiable id, Func updateAction); - - #endregion - - #region Delete - - /// - /// Deletes an entity. - /// - /// Entity to be deleted - void Delete(TEntity entity); - - /// - /// Deletes an entity. - /// - /// Entity to be deleted - Task DeleteAsync(TEntity entity); - - /// - /// Deletes an entity by primary key. - /// - /// Primary key of the entity - void Delete(TIdentifiable id); - - /// - /// Deletes an entity by primary key. - /// - /// Primary key of the entity - Task DeleteAsync(TIdentifiable id); - - /// - /// Deletes many entities by function. - /// Notice that: All entities fits to given predicate are retrieved and deleted. - /// This may cause major performance problems if there are too many entities with - /// given predicate. - /// - /// A condition to filter entities - void Delete(Expression> predicate); - - /// - /// Deletes many entities by function. - /// Notice that: All entities fits to given predicate are retrieved and deleted. - /// This may cause major performance problems if there are too many entities with - /// given predicate. - /// - /// A condition to filter entities - Task DeleteAsync(Expression> predicate); - - #endregion - - #region Aggregates - - /// - /// Gets count of all entities in this repository. - /// - /// Count of entities - int Count(); - - /// - /// Gets count of all entities in this repository. - /// - /// Count of entities - Task CountAsync(); - - /// - /// Gets count of all entities in this repository based on given . - /// - /// A method to filter count - /// Count of entities - int Count(Expression> predicate); - - /// - /// Gets count of all entities in this repository based on given . - /// - /// A method to filter count - /// Count of entities - Task CountAsync(Expression> predicate); - - /// - /// Gets count of all entities in this repository (use if expected return value is greater than . - /// - /// Count of entities - long LongCount(); - - /// - /// Gets count of all entities in this repository (use if expected return value is greater than . - /// - /// Count of entities - Task LongCountAsync(); - - /// - /// Gets count of all entities in this repository based on given - /// (use this overload if expected return value is greater than ). - /// - /// A method to filter count - /// Count of entities - long LongCount(Expression> predicate); - - /// - /// Gets count of all entities in this repository based on given - /// (use this overload if expected return value is greater than ). - /// - /// A method to filter count - /// Count of entities - Task LongCountAsync(Expression> predicate); - - #endregion - } + #region Select/Get/Query + + /// + /// Used to get a IQueryable that is used to retrieve entities from entire table. + /// + /// IQueryable to be used to select entities from database + IQueryable GetAll(); + + /// + /// Used to get a IQueryable that is used to retrieve entities from entire table. + /// One or more + /// + /// A list of include expressions. + /// IQueryable to be used to select entities from database + IQueryable GetAllIncluding(params Expression>[] propertySelectors); + + /// + /// Used to get all entities. + /// + /// List of all entities + List GetAllList(); + + /// + /// Used to get all entities. + /// + /// List of all entities + Task> GetAllListAsync(); + + /// + /// Used to get all entities based on given . + /// + /// A condition to filter entities + /// List of all entities + List GetAllList(Expression> predicate); + + /// + /// Used to get all entities based on given . + /// + /// A condition to filter entities. + /// List of all entities. + Task> GetAllListAsync(Expression> predicate); + + /// + /// Used to run a query over entire entities. + /// attribute is not always necessary (as opposite to ) + /// if finishes IQueryable with ToList, FirstOrDefault etc.. + /// + /// Type of return value of this method. + /// This method is used to query over entities. + /// Query result + T Query(Func, T> queryMethod); + + /// + /// Gets an entity with given primary key. + /// + /// Primary key of the entity to get. + /// Entity. + TEntity Get(TIdentifiable id); + + /// + /// Gets an entity with given primary key. + /// + /// Primary key of the entity to get. + /// Entity + Task GetAsync(TIdentifiable id); + + /// + /// Gets exactly one entity with given predicate. + /// Throws exception if no entity or more than one entity. + /// + /// Entity + TEntity Single(Expression> predicate); + + /// + /// Gets exactly one entity with given predicate. + /// Throws exception if no entity or more than one entity. + /// + /// Entity. + Task SingleAsync(Expression> predicate); + + /// + /// Gets an entity with given primary key or null if not found. + /// + /// Primary key of the entity to get + /// Entity or null + TEntity FirstOrDefault(TIdentifiable id); + + /// + /// Gets an entity with given primary key or null if not found. + /// + /// Primary key of the entity to get + /// Entity or null + Task FirstOrDefaultAsync(TIdentifiable id); + + /// + /// Gets an entity with given given predicate or null if not found. + /// + /// Predicate to filter entities + TEntity FirstOrDefault(Expression> predicate); + + /// + /// Gets an entity with given given predicate or null if not found. + /// + /// Predicate to filter entities + Task FirstOrDefaultAsync(Expression> predicate); + + /// + /// Creates an entity with given primary key without database access. + /// + /// Primary key of the entity to load + /// Entity + TEntity Load(TIdentifiable id); + + #endregion + + #region Insert + + /// + /// Inserts a new entity. + /// + /// Inserted entity + TEntity Insert(TEntity entity); + + /// + /// Inserts a new entity. + /// + /// Inserted entity + Task InsertAsync(TEntity entity); + + /// + /// Inserts a new entity and gets it's Id. + /// It may require to save current unit of work + /// to be able to retrieve id. + /// + /// Entity + /// Id of the entity + TIdentifiable InsertAndGetId(TEntity entity); + + /// + /// Inserts a new entity and gets it's Id. + /// It may require to save current unit of work + /// to be able to retrieve id. + /// + /// Entity + /// Id of the entity + Task InsertAndGetIdAsync(TEntity entity); + + /// + /// Inserts or updates given entity depending on Id's value. + /// + /// Entity + TEntity InsertOrUpdate(TEntity entity); + + /// + /// Inserts or updates given entity depending on Id's value. + /// + /// Entity + Task InsertOrUpdateAsync(TEntity entity); + + /// + /// Inserts or updates given entity depending on Id's value. + /// Also returns Id of the entity. + /// It may require to save current unit of work + /// to be able to retrieve id. + /// + /// Entity + /// Id of the entity + TIdentifiable InsertOrUpdateAndGetId(TEntity entity); + + /// + /// Inserts or updates given entity depending on Id's value. + /// Also returns Id of the entity. + /// It may require to save current unit of work + /// to be able to retrieve id. + /// + /// Entity + /// Id of the entity + Task InsertOrUpdateAndGetIdAsync(TEntity entity); + + #endregion + + #region Update + + /// + /// Updates an existing entity. + /// + /// Entity + TEntity Update(TEntity entity); + + /// + /// Updates an existing entity. + /// + /// Entity + Task UpdateAsync(TEntity entity); + + /// + /// Updates an existing entity. + /// + /// Id of the entity + /// Action that can be used to change values of the entity + /// Updated entity + TEntity Update(TIdentifiable id, Action updateAction); + + /// + /// Updates an existing entity. + /// + /// Id of the entity + /// Action that can be used to change values of the entity + /// Updated entity + Task UpdateAsync(TIdentifiable id, Func updateAction); + + #endregion + + #region Delete + + /// + /// Deletes an entity. + /// + /// Entity to be deleted + void Delete(TEntity entity); + + /// + /// Deletes an entity. + /// + /// Entity to be deleted + Task DeleteAsync(TEntity entity); + + /// + /// Deletes an entity by primary key. + /// + /// Primary key of the entity + void Delete(TIdentifiable id); + + /// + /// Deletes an entity by primary key. + /// + /// Primary key of the entity + Task DeleteAsync(TIdentifiable id); + + /// + /// Deletes many entities by function. + /// Notice that: All entities fits to given predicate are retrieved and deleted. + /// This may cause major performance problems if there are too many entities with + /// given predicate. + /// + /// A condition to filter entities + void Delete(Expression> predicate); + + /// + /// Deletes many entities by function. + /// Notice that: All entities fits to given predicate are retrieved and deleted. + /// This may cause major performance problems if there are too many entities with + /// given predicate. + /// + /// A condition to filter entities + Task DeleteAsync(Expression> predicate); + + #endregion + + #region Aggregates + + /// + /// Gets count of all entities in this repository. + /// + /// Count of entities + int Count(); + + /// + /// Gets count of all entities in this repository. + /// + /// Count of entities + Task CountAsync(); + + /// + /// Gets count of all entities in this repository based on given . + /// + /// A method to filter count + /// Count of entities + int Count(Expression> predicate); + + /// + /// Gets count of all entities in this repository based on given . + /// + /// A method to filter count + /// Count of entities + Task CountAsync(Expression> predicate); + + /// + /// Gets count of all entities in this repository (use if expected return value is greater than . + /// + /// Count of entities + long LongCount(); + + /// + /// Gets count of all entities in this repository (use if expected return value is greater than . + /// + /// Count of entities + Task LongCountAsync(); + + /// + /// Gets count of all entities in this repository based on given + /// (use this overload if expected return value is greater than ). + /// + /// A method to filter count + /// Count of entities + long LongCount(Expression> predicate); + + /// + /// Gets count of all entities in this repository based on given + /// (use this overload if expected return value is greater than ). + /// + /// A method to filter count + /// Count of entities + Task LongCountAsync(Expression> predicate); + + #endregion } diff --git a/src/Genocs.Core/Extensions/StringExtensions.cs b/src/Genocs.Core/Extensions/StringExtensions.cs index d87882ae..10d5c3ca 100644 --- a/src/Genocs.Core/Extensions/StringExtensions.cs +++ b/src/Genocs.Core/Extensions/StringExtensions.cs @@ -1,526 +1,523 @@ -namespace Genocs.Core.Extensions +using Genocs.Core.Collections.Extensions; +using System.Globalization; +using System.Security.Cryptography; +using System.Text; +using System.Text.RegularExpressions; + +namespace Genocs.Core.Extensions; + +/// +/// Extension methods for String class. +/// +public static class StringExtensions { - using System; - using System.Globalization; - using System.Linq; - using System.Security.Cryptography; - using System.Text; - using System.Text.RegularExpressions; - using Genocs.Core.Collections.Extensions; + /// + /// Adds a char to end of given string if it does not ends with the char. + /// + public static string EnsureEndsWith(this string str, char c) + { + return EnsureEndsWith(str, c, StringComparison.Ordinal); + } /// - /// Extension methods for String class. + /// Adds a char to end of given string if it does not ends with the char. /// - public static class StringExtensions + public static string EnsureEndsWith(this string str, char c, StringComparison comparisonType) { - /// - /// Adds a char to end of given string if it does not ends with the char. - /// - public static string EnsureEndsWith(this string str, char c) + if (str == null) { - return EnsureEndsWith(str, c, StringComparison.Ordinal); + throw new ArgumentNullException(nameof(str)); } - /// - /// Adds a char to end of given string if it does not ends with the char. - /// - public static string EnsureEndsWith(this string str, char c, StringComparison comparisonType) + if (str.EndsWith(c.ToString(), comparisonType)) { - if (str == null) - { - throw new ArgumentNullException(nameof(str)); - } + return str; + } - if (str.EndsWith(c.ToString(), comparisonType)) - { - return str; - } + return str + c; + } - return str + c; + /// + /// Adds a char to end of given string if it does not ends with the char. + /// + public static string EnsureEndsWith(this string str, char c, bool ignoreCase, CultureInfo culture) + { + if (str == null) + { + throw new ArgumentNullException(nameof(str)); } - /// - /// Adds a char to end of given string if it does not ends with the char. - /// - public static string EnsureEndsWith(this string str, char c, bool ignoreCase, CultureInfo culture) + if (str.EndsWith(c.ToString(culture), ignoreCase, culture)) { - if (str == null) - { - throw new ArgumentNullException(nameof(str)); - } + return str; + } - if (str.EndsWith(c.ToString(culture), ignoreCase, culture)) - { - return str; - } + return str + c; + } - return str + c; - } + /// + /// Adds a char to beginning of given string if it does not starts with the char. + /// + public static string EnsureStartsWith(this string str, char c) + { + return EnsureStartsWith(str, c, StringComparison.Ordinal); + } - /// - /// Adds a char to beginning of given string if it does not starts with the char. - /// - public static string EnsureStartsWith(this string str, char c) + /// + /// Adds a char to beginning of given string if it does not starts with the char. + /// + public static string EnsureStartsWith(this string str, char c, StringComparison comparisonType) + { + if (str == null) { - return EnsureStartsWith(str, c, StringComparison.Ordinal); + throw new ArgumentNullException(nameof(str)); } - /// - /// Adds a char to beginning of given string if it does not starts with the char. - /// - public static string EnsureStartsWith(this string str, char c, StringComparison comparisonType) + if (str.StartsWith(c.ToString(), comparisonType)) { - if (str == null) - { - throw new ArgumentNullException(nameof(str)); - } + return str; + } - if (str.StartsWith(c.ToString(), comparisonType)) - { - return str; - } + return c + str; + } - return c + str; + /// + /// Adds a char to beginning of given string if it does not starts with the char. + /// + public static string EnsureStartsWith(this string str, char c, bool ignoreCase, CultureInfo culture) + { + if (str == null) + { + throw new ArgumentNullException("str"); } - /// - /// Adds a char to beginning of given string if it does not starts with the char. - /// - public static string EnsureStartsWith(this string str, char c, bool ignoreCase, CultureInfo culture) + if (str.StartsWith(c.ToString(culture), ignoreCase, culture)) { - if (str == null) - { - throw new ArgumentNullException("str"); - } + return str; + } - if (str.StartsWith(c.ToString(culture), ignoreCase, culture)) - { - return str; - } + return c + str; + } - return c + str; + /// + /// Gets a substring of a string from beginning of the string. + /// + /// Thrown if is null + /// Thrown if is bigger that string's length + public static string Left(this string str, int len) + { + if (str == null) + { + throw new ArgumentNullException("str"); } - /// - /// Gets a substring of a string from beginning of the string. - /// - /// Thrown if is null - /// Thrown if is bigger that string's length - public static string Left(this string str, int len) + if (str.Length < len) { - if (str == null) - { - throw new ArgumentNullException("str"); - } + throw new ArgumentException("len argument can not be bigger than given string's length!"); + } - if (str.Length < len) - { - throw new ArgumentException("len argument can not be bigger than given string's length!"); - } + return str.Substring(0, len); + } - return str.Substring(0, len); - } + /// + /// Converts line endings in the string to . + /// + public static string NormalizeLineEndings(this string str) + { + return str.Replace("\r\n", "\n").Replace("\r", "\n").Replace("\n", Environment.NewLine); + } - /// - /// Converts line endings in the string to . - /// - public static string NormalizeLineEndings(this string str) + /// + /// Gets index of nth occurence of a char in a string. + /// + /// source string to be searched + /// Char to search in + /// Count of the occurence + public static int NthIndexOf(this string str, char c, int n) + { + if (str == null) { - return str.Replace("\r\n", "\n").Replace("\r", "\n").Replace("\n", Environment.NewLine); + throw new ArgumentNullException(nameof(str)); } - /// - /// Gets index of nth occurence of a char in a string. - /// - /// source string to be searched - /// Char to search in - /// Count of the occurence - public static int NthIndexOf(this string str, char c, int n) + var count = 0; + for (var i = 0; i < str.Length; i++) { - if (str == null) + if (str[i] != c) { - throw new ArgumentNullException(nameof(str)); + continue; } - var count = 0; - for (var i = 0; i < str.Length; i++) + if ((++count) == n) { - if (str[i] != c) - { - continue; - } - - if ((++count) == n) - { - return i; - } + return i; } - - return -1; } - /// - /// Removes first occurrence of the given postfixes from end of the given string. - /// Ordering is important. If one of the postFixes is matched, others will not be tested. - /// - /// The string. - /// one or more postfix. - /// Modified string or the same string if it has not any of given postfixes - public static string RemovePostFix(this string str, params string[] postFixes) - { - if (str == null) - { - return null; - } - - if (str == string.Empty) - { - return string.Empty; - } + return -1; + } - if (postFixes.IsNullOrEmpty()) - { - return str; - } + /// + /// Removes first occurrence of the given postfixes from end of the given string. + /// Ordering is important. If one of the postFixes is matched, others will not be tested. + /// + /// The string. + /// one or more postfix. + /// Modified string or the same string if it has not any of given postfixes + public static string RemovePostFix(this string str, params string[] postFixes) + { + if (str == null) + { + return null; + } - foreach (var postFix in postFixes) - { - if (str.EndsWith(postFix)) - { - return str.Left(str.Length - postFix.Length); - } - } + if (str == string.Empty) + { + return string.Empty; + } + if (postFixes.IsNullOrEmpty()) + { return str; } - /// - /// Removes first occurrence of the given prefixes from beginning of the given string. - /// Ordering is important. If one of the preFixes is matched, others will not be tested. - /// - /// The string. - /// one or more prefix. - /// Modified string or the same string if it has not any of given prefixes - public static string RemovePreFix(this string str, params string[] preFixes) + foreach (var postFix in postFixes) { - if (str == null) + if (str.EndsWith(postFix)) { - return null; + return str.Left(str.Length - postFix.Length); } + } - if (str == string.Empty) - { - return string.Empty; - } + return str; + } - if (preFixes.IsNullOrEmpty()) - { - return str; - } + /// + /// Removes first occurrence of the given prefixes from beginning of the given string. + /// Ordering is important. If one of the preFixes is matched, others will not be tested. + /// + /// The string. + /// one or more prefix. + /// Modified string or the same string if it has not any of given prefixes + public static string RemovePreFix(this string str, params string[] preFixes) + { + if (str == null) + { + return null; + } - foreach (var preFix in preFixes) - { - if (str.StartsWith(preFix)) - { - return str.Right(str.Length - preFix.Length); - } - } + if (str == string.Empty) + { + return string.Empty; + } + if (preFixes.IsNullOrEmpty()) + { return str; } - /// - /// Gets a substring of a string from end of the string. - /// - /// Thrown if is null - /// Thrown if is bigger that string's length - public static string Right(this string str, int len) + foreach (var preFix in preFixes) { - if (str == null) + if (str.StartsWith(preFix)) { - throw new ArgumentNullException("str"); + return str.Right(str.Length - preFix.Length); } + } - if (str.Length < len) - { - throw new ArgumentException("len argument can not be bigger than given string's length!"); - } + return str; + } - return str.Substring(str.Length - len, len); + /// + /// Gets a substring of a string from end of the string. + /// + /// Thrown if is null + /// Thrown if is bigger that string's length + public static string Right(this string str, int len) + { + if (str == null) + { + throw new ArgumentNullException("str"); } - /// - /// Uses string.Split method to split given string by given separator. - /// - public static string[] Split(this string str, string separator) + if (str.Length < len) { - return str.Split(new[] { separator }, StringSplitOptions.None); + throw new ArgumentException("len argument can not be bigger than given string's length!"); } - /// - /// Uses string.Split method to split given string by given separator. - /// - public static string[] Split(this string str, string separator, StringSplitOptions options) + return str.Substring(str.Length - len, len); + } + + /// + /// Uses string.Split method to split given string by given separator. + /// + public static string[] Split(this string str, string separator) + { + return str.Split(new[] { separator }, StringSplitOptions.None); + } + + /// + /// Uses string.Split method to split given string by given separator. + /// + public static string[] Split(this string str, string separator, StringSplitOptions options) + { + return str.Split(new[] { separator }, options); + } + + /// + /// Uses string.Split method to split given string by . + /// + public static string[] SplitToLines(this string str) + { + return str.Split(Environment.NewLine); + } + + /// + /// Uses string.Split method to split given string by . + /// + public static string[] SplitToLines(this string str, StringSplitOptions options) + { + return str.Split(Environment.NewLine, options); + } + + /// + /// Converts PascalCase string to camelCase string. + /// + /// String to convert + /// Invariant culture + /// camelCase of the string + public static string ToCamelCase(this string str, bool invariantCulture = true) + { + if (string.IsNullOrWhiteSpace(str)) { - return str.Split(new[] { separator }, options); + return str; } - /// - /// Uses string.Split method to split given string by . - /// - public static string[] SplitToLines(this string str) + if (str.Length == 1) { - return str.Split(Environment.NewLine); + return invariantCulture ? str.ToLowerInvariant() : str.ToLower(); } - /// - /// Uses string.Split method to split given string by . - /// - public static string[] SplitToLines(this string str, StringSplitOptions options) + return (invariantCulture ? char.ToLowerInvariant(str[0]) : char.ToLower(str[0])) + str.Substring(1); + } + + /// + /// Converts PascalCase string to camelCase string in specified culture. + /// + /// String to convert + /// An object that supplies culture-specific casing rules + /// camelCase of the string + public static string ToCamelCase(this string str, CultureInfo culture) + { + if (string.IsNullOrWhiteSpace(str)) { - return str.Split(Environment.NewLine, options); + return str; } - /// - /// Converts PascalCase string to camelCase string. - /// - /// String to convert - /// Invariant culture - /// camelCase of the string - public static string ToCamelCase(this string str, bool invariantCulture = true) + if (str.Length == 1) { - if (string.IsNullOrWhiteSpace(str)) - { - return str; - } - - if (str.Length == 1) - { - return invariantCulture ? str.ToLowerInvariant() : str.ToLower(); - } - - return (invariantCulture ? char.ToLowerInvariant(str[0]) : char.ToLower(str[0])) + str.Substring(1); + return str.ToLower(culture); } - /// - /// Converts PascalCase string to camelCase string in specified culture. - /// - /// String to convert - /// An object that supplies culture-specific casing rules - /// camelCase of the string - public static string ToCamelCase(this string str, CultureInfo culture) + return char.ToLower(str[0], culture) + str.Substring(1); + } + + /// + /// Converts given PascalCase/camelCase string to sentence (by splitting words by space). + /// Example: "ThisIsSampleSentence" is converted to "This is a sample sentence". + /// + /// String to convert. + /// Invariant culture + public static string ToSentenceCase(this string str, bool invariantCulture = false) + { + if (string.IsNullOrWhiteSpace(str)) { - if (string.IsNullOrWhiteSpace(str)) - { - return str; - } + return str; + } - if (str.Length == 1) - { - return str.ToLower(culture); - } + return Regex.Replace( + str, + "[a-z][A-Z]", + m => m.Value[0] + " " + (invariantCulture ? char.ToLowerInvariant(m.Value[1]) : char.ToLower(m.Value[1])) + ); + } - return char.ToLower(str[0], culture) + str.Substring(1); + /// + /// Converts given PascalCase/camelCase string to sentence (by splitting words by space). + /// Example: "ThisIsSampleSentence" is converted to "This is a sample sentence". + /// + /// String to convert. + /// An object that supplies culture-specific casing rules. + public static string ToSentenceCase(this string str, CultureInfo culture) + { + if (string.IsNullOrWhiteSpace(str)) + { + return str; } - /// - /// Converts given PascalCase/camelCase string to sentence (by splitting words by space). - /// Example: "ThisIsSampleSentence" is converted to "This is a sample sentence". - /// - /// String to convert. - /// Invariant culture - public static string ToSentenceCase(this string str, bool invariantCulture = false) - { - if (string.IsNullOrWhiteSpace(str)) - { - return str; - } + return Regex.Replace(str, "[a-z][A-Z]", m => m.Value[0] + " " + char.ToLower(m.Value[1], culture)); + } - return Regex.Replace( - str, - "[a-z][A-Z]", - m => m.Value[0] + " " + (invariantCulture ? char.ToLowerInvariant(m.Value[1]) : char.ToLower(m.Value[1])) - ); + /// + /// Converts string to enum value. + /// + /// Type of enum + /// String value to convert + /// Returns enum object + public static T ToEnum(this string value) + where T : struct + { + if (value == null) + { + throw new ArgumentNullException(nameof(value)); } - /// - /// Converts given PascalCase/camelCase string to sentence (by splitting words by space). - /// Example: "ThisIsSampleSentence" is converted to "This is a sample sentence". - /// - /// String to convert. - /// An object that supplies culture-specific casing rules. - public static string ToSentenceCase(this string str, CultureInfo culture) - { - if (string.IsNullOrWhiteSpace(str)) - { - return str; - } + return (T)Enum.Parse(typeof(T), value); + } - return Regex.Replace(str, "[a-z][A-Z]", m => m.Value[0] + " " + char.ToLower(m.Value[1], culture)); + /// + /// Converts string to enum value. + /// + /// Type of enum + /// String value to convert + /// Ignore case + /// Returns enum object + public static T ToEnum(this string value, bool ignoreCase) + where T : struct + { + if (value == null) + { + throw new ArgumentNullException(nameof(value)); } - /// - /// Converts string to enum value. - /// - /// Type of enum - /// String value to convert - /// Returns enum object - public static T ToEnum(this string value) - where T : struct + return (T)Enum.Parse(typeof(T), value, ignoreCase); + } + + public static string ToMd5(this string str) + { + using (var md5 = MD5.Create()) { - if (value == null) + var inputBytes = Encoding.UTF8.GetBytes(str); + var hashBytes = md5.ComputeHash(inputBytes); + + var sb = new StringBuilder(); + foreach (var hashByte in hashBytes) { - throw new ArgumentNullException(nameof(value)); + sb.Append(hashByte.ToString("X2")); } - return (T)Enum.Parse(typeof(T), value); + return sb.ToString(); } + } - /// - /// Converts string to enum value. - /// - /// Type of enum - /// String value to convert - /// Ignore case - /// Returns enum object - public static T ToEnum(this string value, bool ignoreCase) - where T : struct + /// + /// Converts camelCase string to PascalCase string. + /// + /// String to convert + /// Invariant culture + /// PascalCase of the string + public static string ToPascalCase(this string str, bool invariantCulture = true) + { + if (string.IsNullOrWhiteSpace(str)) { - if (value == null) - { - throw new ArgumentNullException(nameof(value)); - } - - return (T)Enum.Parse(typeof(T), value, ignoreCase); + return str; } - public static string ToMd5(this string str) + if (str.Length == 1) { - using (var md5 = MD5.Create()) - { - var inputBytes = Encoding.UTF8.GetBytes(str); - var hashBytes = md5.ComputeHash(inputBytes); + return invariantCulture ? str.ToUpperInvariant(): str.ToUpper(); + } - var sb = new StringBuilder(); - foreach (var hashByte in hashBytes) - { - sb.Append(hashByte.ToString("X2")); - } + return (invariantCulture ? char.ToUpperInvariant(str[0]) : char.ToUpper(str[0])) + str.Substring(1); + } - return sb.ToString(); - } + /// + /// Converts camelCase string to PascalCase string in specified culture. + /// + /// String to convert + /// An object that supplies culture-specific casing rules + /// PascalCase of the string + public static string ToPascalCase(this string str, CultureInfo culture) + { + if (string.IsNullOrWhiteSpace(str)) + { + return str; } - /// - /// Converts camelCase string to PascalCase string. - /// - /// String to convert - /// Invariant culture - /// PascalCase of the string - public static string ToPascalCase(this string str, bool invariantCulture = true) + if (str.Length == 1) { - if (string.IsNullOrWhiteSpace(str)) - { - return str; - } + return str.ToUpper(culture); + } - if (str.Length == 1) - { - return invariantCulture ? str.ToUpperInvariant(): str.ToUpper(); - } + return char.ToUpper(str[0], culture) + str.Substring(1); + } - return (invariantCulture ? char.ToUpperInvariant(str[0]) : char.ToUpper(str[0])) + str.Substring(1); + /// + /// Gets a substring of a string from beginning of the string if it exceeds maximum length. + /// + /// Thrown if is null + public static string Truncate(this string str, int maxLength) + { + if (str == null) + { + return null; } - /// - /// Converts camelCase string to PascalCase string in specified culture. - /// - /// String to convert - /// An object that supplies culture-specific casing rules - /// PascalCase of the string - public static string ToPascalCase(this string str, CultureInfo culture) + if (str.Length <= maxLength) { - if (string.IsNullOrWhiteSpace(str)) - { - return str; - } - - if (str.Length == 1) - { - return str.ToUpper(culture); - } - - return char.ToUpper(str[0], culture) + str.Substring(1); + return str; } - /// - /// Gets a substring of a string from beginning of the string if it exceeds maximum length. - /// - /// Thrown if is null - public static string Truncate(this string str, int maxLength) - { - if (str == null) - { - return null; - } + return str.Left(maxLength); + } - if (str.Length <= maxLength) - { - return str; - } + /// + /// Gets a substring of a string from beginning of the string if it exceeds maximum length. + /// It adds a "..." postfix to end of the string if it's truncated. + /// Returning string can not be longer than maxLength. + /// + /// Thrown if is null + public static string TruncateWithPostfix(this string str, int maxLength) + { + return TruncateWithPostfix(str, maxLength, "..."); + } - return str.Left(maxLength); + /// + /// Gets a substring of a string from beginning of the string if it exceeds maximum length. + /// It adds given to end of the string if it's truncated. + /// Returning string can not be longer than maxLength. + /// + /// Thrown if is null + public static string TruncateWithPostfix(this string str, int maxLength, string postfix) + { + if (str == null) + { + return null; } - /// - /// Gets a substring of a string from beginning of the string if it exceeds maximum length. - /// It adds a "..." postfix to end of the string if it's truncated. - /// Returning string can not be longer than maxLength. - /// - /// Thrown if is null - public static string TruncateWithPostfix(this string str, int maxLength) + if (str == string.Empty || maxLength == 0) { - return TruncateWithPostfix(str, maxLength, "..."); + return string.Empty; } - /// - /// Gets a substring of a string from beginning of the string if it exceeds maximum length. - /// It adds given to end of the string if it's truncated. - /// Returning string can not be longer than maxLength. - /// - /// Thrown if is null - public static string TruncateWithPostfix(this string str, int maxLength, string postfix) + if (str.Length <= maxLength) { - if (str == null) - { - return null; - } - - if (str == string.Empty || maxLength == 0) - { - return string.Empty; - } - - if (str.Length <= maxLength) - { - return str; - } - - if (maxLength <= postfix.Length) - { - return postfix.Left(maxLength); - } + return str; + } - return str.Left(maxLength - postfix.Length) + postfix; + if (maxLength <= postfix.Length) + { + return postfix.Left(maxLength); } - /// - /// Helper method - /// - /// - /// - public static string Underscore(this string value) - => string.Concat(value.Select((x, i) => i > 0 && char.IsUpper(x) ? "_" + x : x.ToString())) - .ToLowerInvariant(); + return str.Left(maxLength - postfix.Length) + postfix; } + + /// + /// Helper method + /// + /// + /// + public static string Underscore(this string value) + => string.Concat(value.Select((x, i) => i > 0 && char.IsUpper(x) ? "_" + x : x.ToString())) + .ToLowerInvariant(); } \ No newline at end of file diff --git a/src/Genocs.Core/Genocs.Core.csproj b/src/Genocs.Core/Genocs.Core.csproj index 43d2c5cd..afd59378 100644 --- a/src/Genocs.Core/Genocs.Core.csproj +++ b/src/Genocs.Core/Genocs.Core.csproj @@ -1,86 +1,80 @@  - - netstandard2.1;net6.0;net7.0 - enable - enable - Genocs.Core - 10.0 - true - 5.0.0-preview.5.0 - 5.0.0 - Nocco Giovanni Emanuele - Genocs - The base library useful to build .NET Core projects. - The base library useful to build .NET Core projects. - Genocs 2023 - LICENSE - https://github.com/Genocs/genocs-library - https://github.com/Genocs/genocs-library.git - icon.png - git - aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles - README.md - Aligned to the ecosystem - True - latest - True - + + netstandard2.1;net6.0;net7.0;net8.0 + Genocs.Core + Genocs.Core + Genocs.Core + 10.0 + true + 5.0.0 + 5.0.0 + Nocco Giovanni Emanuele + Genocs + The base library to build .NET Core projects. + The base library to build .NET Core projects. + Genocs 2023 + LICENSE + https://github.com/Genocs/genocs-library + https://github.com/Genocs/genocs-library.git + icon.png + git + aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles + README.md + Nove to NET8 + True + latest + - - - True - \ - - - True - \ - - - True - \ - - + + + True + \ + + + True + \ + + + True + \ + + - - - + + + - - - + + + - - - - + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + + + + + + + + diff --git a/src/Genocs.Core/README.md b/src/Genocs.Core/README.md index 4d083c6c..66ce6efb 100644 --- a/src/Genocs.Core/README.md +++ b/src/Genocs.Core/README.md @@ -15,6 +15,9 @@ Please check the GitHub repository getting more info. ## Release notes +### [2023-11-25] 5.0.0 +- Moved to NET8 + ### [2023-10-13] 5.0.0-preview.5.0 - Added [editorconfig](https://editorconfig.org/) - Added StyleCop diff --git a/src/Genocs.Discovery.Consul/Genocs.Discovery.Consul.csproj b/src/Genocs.Discovery.Consul/Genocs.Discovery.Consul.csproj index a605130f..980aeadc 100644 --- a/src/Genocs.Discovery.Consul/Genocs.Discovery.Consul.csproj +++ b/src/Genocs.Discovery.Consul/Genocs.Discovery.Consul.csproj @@ -1,67 +1,58 @@  - - net6.0;net7.0 - enable - enable - Genocs.Discovery.Consul - 10.0 - true - 5.0.0-preview.5.0 - 5.0.0 - Nocco Giovanni Emanuele - Genocs - The service discovery by Consul library useful to build .NET Core projects. - The service discovery by Consul library useful to build .NET Core projects. - Genocs 2023 - LICENSE - https://github.com/Genocs/genocs-library - https://github.com/Genocs/genocs-library.git - icon.png - git - aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles - README.md - Aligned to the ecosystem - True - latest - True - - - - - True - \ - - - True - \ - - - True - \ - - - - - - - - - - - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + net6.0;net7.0;net8.0 + Genocs.Discovery.Consul + Genocs.Discovery.Consul + Genocs.Discovery.Consul + 10.0 + true + 5.0.0 + 5.0.0 + Nocco Giovanni Emanuele + Genocs + The service discovery by Consul library useful to build .NET Core projects. + The service discovery by Consul library useful to build .NET Core projects. + Genocs 2023 + LICENSE + https://github.com/Genocs/genocs-library + https://github.com/Genocs/genocs-library.git + icon.png + git + aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles + README.md + Aligned to the ecosystem + True + latest + + + + + True + \ + + + True + \ + + + True + \ + + + + + + + + + + + + + + + + + diff --git a/src/Genocs.HTTP.RestEase/Genocs.HTTP.RestEase.csproj b/src/Genocs.HTTP.RestEase/Genocs.HTTP.RestEase.csproj index b041a3a4..49a320ef 100644 --- a/src/Genocs.HTTP.RestEase/Genocs.HTTP.RestEase.csproj +++ b/src/Genocs.HTTP.RestEase/Genocs.HTTP.RestEase.csproj @@ -1,71 +1,63 @@  - - net6.0;net7.0 - enable - enable - Genocs.HTTP.RestEase - 10.0 - true - 5.0.0-preview.5.0 - 5.0.0 - Nocco Giovanni Emanuele - Genocs - The http support library useful to build .NET Core projects. - The http support library useful to build .NET Core projects. - Genocs 2023 - LICENSE - https://github.com/Genocs/genocs-library - https://github.com/Genocs/genocs-library.git - icon.png - git - aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles - README.md - Aligned to the ecosystem - True - latest - True - + + net6.0;net7.0;net8.0 + Genocs.HTTP.RestEase + Genocs.HTTP.RestEase + Genocs.HTTP.RestEase + 10.0 + true + 5.0.0 + 5.0.0 + Nocco Giovanni Emanuele + Genocs + The http support library useful to build .NET Core projects. + The http support library useful to build .NET Core projects. + Genocs 2023 + LICENSE + https://github.com/Genocs/genocs-library + https://github.com/Genocs/genocs-library.git + icon.png + git + aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles + README.md + Aligned to the ecosystem + True + latest + - - - True - \ - - - True - \ - - - True - \ - - + + + True + \ + + + True + \ + + + True + \ + + - - - - - + + + + + - + - - - - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + + + + + + + + + diff --git a/src/Genocs.HTTP.RestEase/README.md b/src/Genocs.HTTP.RestEase/README.md index a9b80e9f..782ef191 100644 --- a/src/Genocs.HTTP.RestEase/README.md +++ b/src/Genocs.HTTP.RestEase/README.md @@ -15,6 +15,9 @@ Please check the GitHub repository getting more info. ## Release notes +### [2023-11-25] 5.0.0 +- Moved to NET8 + ### [2023-10-13] 5.0.0-preview.5.0 - Added [editorconfig](https://editorconfig.org/) - Added StyleCop diff --git a/src/Genocs.HTTP/Genocs.HTTP.csproj b/src/Genocs.HTTP/Genocs.HTTP.csproj index d5617735..ab33cf60 100644 --- a/src/Genocs.HTTP/Genocs.HTTP.csproj +++ b/src/Genocs.HTTP/Genocs.HTTP.csproj @@ -1,65 +1,57 @@  - - net6.0;net7.0 - enable - enable - Genocs.HTTP - 10.0 - true - 5.0.0-preview.5.0 - 5.0.0 - Nocco Giovanni Emanuele - Genocs - The http support library useful to build .NET Core projects. - The http support library useful to build .NET Core projects. - Genocs 2023 - LICENSE - https://github.com/Genocs/genocs-library - https://github.com/Genocs/genocs-library.git - icon.png - git - aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles - README.md - Aligned to the ecosystem - True - latest - True - + + net6.0;net7.0;net8.0 + Genocs.HTTP + Genocs.HTTP + Genocs.HTTP + 10.0 + true + 5.0.0 + 5.0.0 + Nocco Giovanni Emanuele + Genocs + The http support library useful to build .NET Core projects. + The http support library useful to build .NET Core projects. + Genocs 2023 + LICENSE + https://github.com/Genocs/genocs-library + https://github.com/Genocs/genocs-library.git + icon.png + git + aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles + README.md + Aligned to the ecosystem + True + latest + - - - True - \ - - - True - \ - - - True - \ - - + + + True + \ + + + True + \ + + + True + \ + + - - - + + + - - - + + + - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + + + diff --git a/src/Genocs.HTTP/README.md b/src/Genocs.HTTP/README.md index d3afafc4..3a471548 100644 --- a/src/Genocs.HTTP/README.md +++ b/src/Genocs.HTTP/README.md @@ -33,6 +33,9 @@ Following are the project settings needed to enable monitoring ## Release notes +### [2023-11-25] 5.0.0 +- Moved to NET8 + ### [2023-10-13] 5.0.0-preview.5.0 - Added [editorconfig](https://editorconfig.org/) - Added StyleCop diff --git a/src/Genocs.LoadBalancing.Fabio/Genocs.LoadBalancing.Fabio.csproj b/src/Genocs.LoadBalancing.Fabio/Genocs.LoadBalancing.Fabio.csproj index fc03c875..139d2f4b 100644 --- a/src/Genocs.LoadBalancing.Fabio/Genocs.LoadBalancing.Fabio.csproj +++ b/src/Genocs.LoadBalancing.Fabio/Genocs.LoadBalancing.Fabio.csproj @@ -1,65 +1,57 @@  - - net6.0;net7.0 - enable - enable - Genocs.LoadBalancing.Fabio - 10.0 - true - 5.0.0-preview.5.0 - 5.0.0 - Nocco Giovanni Emanuele - Genocs - The load balacer based on Fabio library useful to build .NET Core projects. - The load balacer based on Fabio library useful to build .NET Core projects. - Genocs 2023 - LICENSE - https://github.com/Genocs/genocs-library - https://github.com/Genocs/genocs-library.git - icon.png - git - aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles - README.md - Aligned to the ecosystem - True - latest - True - + + net6.0;net7.0;net8.0 + Genocs.LoadBalancing.Fabio + Genocs.LoadBalancing.Fabio + Genocs.LoadBalancing.Fabio + 10.0 + true + 5.0.0 + 5.0.0 + Nocco Giovanni Emanuele + Genocs + The load balacer based on Fabio library useful to build .NET Core projects. + The load balacer based on Fabio library useful to build .NET Core projects. + Genocs 2023 + LICENSE + https://github.com/Genocs/genocs-library + https://github.com/Genocs/genocs-library.git + icon.png + git + aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles + README.md + Aligned to the ecosystem + True + latest + - - - True - \ - - - True - \ - - - True - \ - - + + + True + \ + + + True + \ + + + True + \ + + - - - - + + + + - + - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + + + + diff --git a/src/Genocs.LoadBalancing.Fabio/README.md b/src/Genocs.LoadBalancing.Fabio/README.md index a9b80e9f..782ef191 100644 --- a/src/Genocs.LoadBalancing.Fabio/README.md +++ b/src/Genocs.LoadBalancing.Fabio/README.md @@ -15,6 +15,9 @@ Please check the GitHub repository getting more info. ## Release notes +### [2023-11-25] 5.0.0 +- Moved to NET8 + ### [2023-10-13] 5.0.0-preview.5.0 - Added [editorconfig](https://editorconfig.org/) - Added StyleCop diff --git a/src/Genocs.Logging/Genocs.Logging.csproj b/src/Genocs.Logging/Genocs.Logging.csproj index 8ef4eb37..78108ed3 100644 --- a/src/Genocs.Logging/Genocs.Logging.csproj +++ b/src/Genocs.Logging/Genocs.Logging.csproj @@ -1,73 +1,66 @@ - + - - net6.0;net7.0 - enable - enable - Genocs.Logging - 10.0 - true - 5.0.0-preview.5.0 - 5.0.0 - Nocco Giovanni Emanuele - Genocs - The logging library useful to build .NET Core projects. - The logging library useful to build .NET Core projects. - Genocs 2023 - LICENSE - https://github.com/Genocs/genocs-library - https://github.com/Genocs/genocs-library.git - icon.png - git - aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles - README.md - Aligned to the ecosystem - True - latest - True - + + net6.0;net7.0;net8.0 + Genocs.Logging + Genocs.Logging + Genocs.Logging + 10.0 + true + 5.0.0 + 5.0.0 + Nocco Giovanni Emanuele + Genocs + The logging library useful to build .NET Core projects. + The logging library useful to build .NET Core projects. + Genocs 2023 + LICENSE + https://github.com/Genocs/genocs-library + https://github.com/Genocs/genocs-library.git + icon.png + git + aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles + README.md + Aligned to the ecosystem + True + latest + - - - True - \ - - - True - \ - - - True - \ - - + + + True + \ + + + True + \ + + + True + \ + + - - - + + + - - - + + + - - - - - - - - + + + + + + + + + - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + + diff --git a/src/Genocs.Logging/README.md b/src/Genocs.Logging/README.md index e2424fce..0f7a9e47 100644 --- a/src/Genocs.Logging/README.md +++ b/src/Genocs.Logging/README.md @@ -22,6 +22,9 @@ Following are the project settings needed to enable monitoring ## Release notes +### [2023-11-25] 5.0.0 +- Moved to NET8 + ### [2023-10-13] 5.0.0-preview.5.0 - Added [editorconfig](https://editorconfig.org/) - Added StyleCop diff --git a/src/Genocs.MessageBrokers.Outbox.MongoDB/Genocs.MessageBrokers.Outbox.MongoDB.csproj b/src/Genocs.MessageBrokers.Outbox.MongoDB/Genocs.MessageBrokers.Outbox.MongoDB.csproj index 22bd7d33..233afd33 100644 --- a/src/Genocs.MessageBrokers.Outbox.MongoDB/Genocs.MessageBrokers.Outbox.MongoDB.csproj +++ b/src/Genocs.MessageBrokers.Outbox.MongoDB/Genocs.MessageBrokers.Outbox.MongoDB.csproj @@ -1,61 +1,54 @@  - - net6.0;net7.0 - enable - enable - Genocs.MessageBrokers.Outbox.MongoDB - 10.0 - true - 5.0.0-preview.5.0 - 5.0.0 - Nocco Giovanni Emanuele - Genocs - The message brokers outbox MongoDB interface library useful to build .NET Core projects. - The message brokers MongoDB outbox interface library useful to build .NET Core projects. - Genocs 2023 - LICENSE - https://github.com/Genocs/genocs-library - https://github.com/Genocs/genocs-library.git - icon.png - git - aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles - README.md - Aligned to the ecosystem - True - latest - True - + + net6.0;net7.0;net8.0 + Genocs.MessageBrokers.Outbox.MongoDB + Genocs.MessageBrokers.Outbox.MongoDB + Genocs.MessageBrokers.Outbox.MongoDB + 10.0 + true + 5.0.0 + 5.0.0 + Nocco Giovanni Emanuele + Genocs + The message brokers outbox MongoDB interface library useful to build .NET Core projects. + The message brokers MongoDB outbox interface library useful to build .NET Core projects. + Genocs 2023 + LICENSE + https://github.com/Genocs/genocs-library + https://github.com/Genocs/genocs-library.git + icon.png + git + aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles + README.md + Aligned to the ecosystem + True + latest + - - - True - \ - - - True - \ - - - True - \ - - + + + True + \ + + + True + \ + + + True + \ + + - - - - + + + + - - - - + + + + - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - diff --git a/src/Genocs.MessageBrokers.Outbox.MongoDB/README.md b/src/Genocs.MessageBrokers.Outbox.MongoDB/README.md index 783a9116..93568a5e 100644 --- a/src/Genocs.MessageBrokers.Outbox.MongoDB/README.md +++ b/src/Genocs.MessageBrokers.Outbox.MongoDB/README.md @@ -16,6 +16,9 @@ Please check the GitHub repository getting more info. ## Release notes +### [2023-11-25] 5.0.0 +- Moved to NET8 + ### [2023-10-13] 5.0.0-preview.5.0 - Added [editorconfig](https://editorconfig.org/) - Added StyleCop diff --git a/src/Genocs.MessageBrokers.Outbox/Genocs.MessageBrokers.Outbox.csproj b/src/Genocs.MessageBrokers.Outbox/Genocs.MessageBrokers.Outbox.csproj index f05af59a..3fe4bfca 100644 --- a/src/Genocs.MessageBrokers.Outbox/Genocs.MessageBrokers.Outbox.csproj +++ b/src/Genocs.MessageBrokers.Outbox/Genocs.MessageBrokers.Outbox.csproj @@ -1,59 +1,52 @@  - - net6.0;net7.0 - enable - enable - Genocs.MessageBrokers.Outbox - 10.0 - true - 5.0.0-preview.5.0 - 5.0.0 - Nocco Giovanni Emanuele - Genocs - The message brokers outbox interface library useful to build .NET Core projects. - The message brokers outbox interface library useful to build .NET Core projects. - Genocs 2023 - LICENSE - https://github.com/Genocs/genocs-library - https://github.com/Genocs/genocs-library.git - icon.png - git - aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles - README.md - Aligned to the ecosystem - True - latest - True - + + net6.0;net7.0;net8.0 + Genocs.MessageBrokers.Outbox + Genocs.MessageBrokers.Outbox + Genocs.MessageBrokers.Outbox + 10.0 + true + 5.0.0 + 5.0.0 + Nocco Giovanni Emanuele + Genocs + The message brokers outbox interface library useful to build .NET Core projects. + The message brokers outbox interface library useful to build .NET Core projects. + Genocs 2023 + LICENSE + https://github.com/Genocs/genocs-library + https://github.com/Genocs/genocs-library.git + icon.png + git + aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles + README.md + Aligned to the ecosystem + True + latest + - - - True - \ - - - True - \ - - - True - \ - - + + + True + \ + + + True + \ + + + True + \ + + - - - + + + - - - + + + - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - diff --git a/src/Genocs.MessageBrokers.Outbox/README.md b/src/Genocs.MessageBrokers.Outbox/README.md index c7408fe7..d1b09884 100644 --- a/src/Genocs.MessageBrokers.Outbox/README.md +++ b/src/Genocs.MessageBrokers.Outbox/README.md @@ -26,6 +26,9 @@ Following are the project settings needed to enable monitoring ## Release notes +### [2023-11-25] 5.0.0 +- Moved to NET8 + ### [2023-10-13] 5.0.0-preview.5.0 - Added [editorconfig](https://editorconfig.org/) - Added StyleCop diff --git a/src/Genocs.MessageBrokers.RabbitMQ/Genocs.MessageBrokers.RabbitMQ.csproj b/src/Genocs.MessageBrokers.RabbitMQ/Genocs.MessageBrokers.RabbitMQ.csproj index c46d5eb6..f53be894 100644 --- a/src/Genocs.MessageBrokers.RabbitMQ/Genocs.MessageBrokers.RabbitMQ.csproj +++ b/src/Genocs.MessageBrokers.RabbitMQ/Genocs.MessageBrokers.RabbitMQ.csproj @@ -1,66 +1,59 @@  - - net6.0;net7.0 - enable - enable - Genocs.MessageBrokers.RabbitMQ - 10.0 - true - 5.0.0-preview.5.0 - 5.0.0 - Nocco Giovanni Emanuele - Genocs - The message brokers RabbitMQ interface library useful to build .NET Core projects. - The message brokers RabbitMQ outbox interface library useful to build .NET Core projects. - Genocs 2023 - LICENSE - https://github.com/Genocs/genocs-library - https://github.com/Genocs/genocs-library.git - icon.png - git - aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles - README.md - Aligned to the ecosystem - True - latest - True - + + net6.0;net7.0;net8.0 + Genocs.MessageBrokers.RabbitMQ + Genocs.MessageBrokers.RabbitMQ + Genocs.MessageBrokers.RabbitMQ + 10.0 + true + 5.0.0 + 5.0.0 + Nocco Giovanni Emanuele + Genocs + The message brokers RabbitMQ interface library useful to build .NET Core projects. + The message brokers RabbitMQ outbox interface library useful to build .NET Core projects. + Genocs 2023 + LICENSE + https://github.com/Genocs/genocs-library + https://github.com/Genocs/genocs-library.git + icon.png + git + aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles + README.md + Aligned to the ecosystem + True + latest + - - - True - \ - - - True - \ - - - True - \ - - + + + True + \ + + + True + \ + + + True + \ + + - - - + + + + + + + + + + + + + - - - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - diff --git a/src/Genocs.MessageBrokers.RabbitMQ/README.md b/src/Genocs.MessageBrokers.RabbitMQ/README.md index 783a9116..93568a5e 100644 --- a/src/Genocs.MessageBrokers.RabbitMQ/README.md +++ b/src/Genocs.MessageBrokers.RabbitMQ/README.md @@ -16,6 +16,9 @@ Please check the GitHub repository getting more info. ## Release notes +### [2023-11-25] 5.0.0 +- Moved to NET8 + ### [2023-10-13] 5.0.0-preview.5.0 - Added [editorconfig](https://editorconfig.org/) - Added StyleCop diff --git a/src/Genocs.MessageBrokers/Genocs.MessageBrokers.csproj b/src/Genocs.MessageBrokers/Genocs.MessageBrokers.csproj index 32660229..9e4d779f 100644 --- a/src/Genocs.MessageBrokers/Genocs.MessageBrokers.csproj +++ b/src/Genocs.MessageBrokers/Genocs.MessageBrokers.csproj @@ -1,61 +1,53 @@  - - net6.0;net7.0 - enable - enable - Genocs.MessageBrokers - 10.0 - true - 5.0.0-preview.5.0 - 5.0.0 - Nocco Giovanni Emanuele - Genocs - The message brokers interface library useful to build .NET Core projects. - The message brokers interface library useful to build .NET Core projects. - Genocs 2023 - LICENSE - https://github.com/Genocs/genocs-library - https://github.com/Genocs/genocs-library.git - icon.png - git - aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles - README.md - Aligned to the ecosystem - True - latest - True - + + net6.0;net7.0;net8.0 + Genocs.MessageBrokers + Genocs.MessageBrokers + Genocs.MessageBrokers + 10.0 + true + 5.0.0 + 5.0.0 + Nocco Giovanni Emanuele + Genocs + The message brokers interface library useful to build .NET Core projects. + The message brokers interface library useful to build .NET Core projects. + Genocs 2023 + LICENSE + https://github.com/Genocs/genocs-library + https://github.com/Genocs/genocs-library.git + icon.png + git + aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles + README.md + Aligned to the ecosystem + True + latest + - - - True - \ - - - True - \ - - - True - \ - - + + + True + \ + + + True + \ + + + True + \ + + - - - + + + - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + + diff --git a/src/Genocs.MessageBrokers/README.md b/src/Genocs.MessageBrokers/README.md index da894335..d9e79ee9 100644 --- a/src/Genocs.MessageBrokers/README.md +++ b/src/Genocs.MessageBrokers/README.md @@ -33,6 +33,9 @@ Following are the project settings needed to enable monitoring ## Release notes +### [2023-11-25] 5.0.0 +- Moved to NET8 + ### [2023-10-13] 5.0.0-preview.5.0 - Added [editorconfig](https://editorconfig.org/) - Added StyleCop diff --git a/src/Genocs.Metrics/Genocs.Metrics.csproj b/src/Genocs.Metrics/Genocs.Metrics.csproj index be872115..59152034 100644 --- a/src/Genocs.Metrics/Genocs.Metrics.csproj +++ b/src/Genocs.Metrics/Genocs.Metrics.csproj @@ -1,93 +1,84 @@  - - net6.0;net7.0 - enable - enable - Genocs.Metrics - 10.0 - true - 5.0.0-preview.5.0 - 5.0.0 - Nocco Giovanni Emanuele - Genocs - The metrics interface library useful to build .NET Core projects. - The metrics interface library useful to build .NET Core projects. - Genocs 2023 - LICENSE - https://github.com/Genocs/genocs-library - https://github.com/Genocs/genocs-library.git - icon.png - git - aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles - README.md - Aligned to the ecosystem - True - latest - True - + + net6.0;net7.0;net8.0 + Genocs.Metrics + Genocs.Metrics + Genocs.Metrics + 10.0 + true + 5.0.0 + 5.0.0 + Nocco Giovanni Emanuele + Genocs + The metrics interface library useful to build .NET Core projects. + The metrics interface library useful to build .NET Core projects. + Genocs 2023 + LICENSE + https://github.com/Genocs/genocs-library + https://github.com/Genocs/genocs-library.git + icon.png + git + aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles + README.md + Aligned to the ecosystem + True + latest + - - - True - \ - - - True - \ - - - True - \ - - + + + True + \ + + + True + \ + + + True + \ + + - - - + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Genocs.Metrics/README.md b/src/Genocs.Metrics/README.md index 783a9116..93568a5e 100644 --- a/src/Genocs.Metrics/README.md +++ b/src/Genocs.Metrics/README.md @@ -16,6 +16,9 @@ Please check the GitHub repository getting more info. ## Release notes +### [2023-11-25] 5.0.0 +- Moved to NET8 + ### [2023-10-13] 5.0.0-preview.5.0 - Added [editorconfig](https://editorconfig.org/) - Added StyleCop diff --git a/src/Genocs.Monitoring/Genocs.Monitoring.csproj b/src/Genocs.Monitoring/Genocs.Monitoring.csproj index 411d4946..5f5e5012 100644 --- a/src/Genocs.Monitoring/Genocs.Monitoring.csproj +++ b/src/Genocs.Monitoring/Genocs.Monitoring.csproj @@ -1,72 +1,63 @@  - - net6.0;net7.0 - enable - enable - Genocs.Monitoring - 10.0 - true - 5.0.0-preview.5.0 - 5.0.0 - Nocco Giovanni Emanuele - Genocs - Telemetry and Tracing library. - Telemetry and Tracing library. - Genocs 2023 - LICENSE - https://github.com/Genocs/genocs-library - https://github.com/Genocs/genocs-library.git - icon.png - git - aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles - README.md - Aligned to the ecosystem - True - latest - True - - - - - True - \ - - - True - \ - - - True - \ - - - - - - - - - - - - - - - - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + net6.0;net7.0;net8.0 + Genocs.Monitoring + Genocs.Monitoring + Genocs.Monitoring + 10.0 + true + 5.0.0 + 5.0.0 + Nocco Giovanni Emanuele + Genocs + Telemetry and Tracing library. + Telemetry and Tracing library. + Genocs 2023 + LICENSE + https://github.com/Genocs/genocs-library + https://github.com/Genocs/genocs-library.git + icon.png + git + aggregate architecture boilerplate ddd ddd-architecture design-patterns domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles + README.md + Aligned to the ecosystem + True + latest + + + + + True + \ + + + True + \ + + + True + \ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Genocs.Persistence.MongoDb.UnitTests/Genocs.Persistence.MongoDB.UnitTests.csproj b/src/Genocs.Persistence.MongoDb.UnitTests/Genocs.Persistence.MongoDB.UnitTests.csproj index 231034fd..7fcd5d08 100644 --- a/src/Genocs.Persistence.MongoDb.UnitTests/Genocs.Persistence.MongoDB.UnitTests.csproj +++ b/src/Genocs.Persistence.MongoDb.UnitTests/Genocs.Persistence.MongoDB.UnitTests.csproj @@ -1,43 +1,34 @@  - - net7.0 - enable - enable - false - false - Genocs - - - - - - - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - + + net8.0 + false + false + Genocs + + + + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + - - - + + + - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + + diff --git a/src/Genocs.Persistence.MongoDb/Genocs.Persistence.MongoDb.csproj b/src/Genocs.Persistence.MongoDb/Genocs.Persistence.MongoDb.csproj index 5a602a9e..d55f1e4b 100644 --- a/src/Genocs.Persistence.MongoDb/Genocs.Persistence.MongoDb.csproj +++ b/src/Genocs.Persistence.MongoDb/Genocs.Persistence.MongoDb.csproj @@ -1,65 +1,57 @@  - - net6.0;net7.0 - enable - enable - Genocs.Persistence.MongoDb - 10.0 - true - 5.0.0-preview.5.0 - 5.0.0 - Nocco Giovanni Emanuele - Genocs - The Persistence MongoDB Library. - The library containing base repository pattern to build .NET Core projects. - Genocs 2023 - LICENSE - https://github.com/Genocs/genocs-library - https://github.com/Genocs/genocs-library.git - icon.png - git - aggregate architecture boilerplate ddd ddd-architecture design-patterns docker domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles - README.md - Moved to NET7.0 - True - latest - True - + + net6.0;net7.0;net8.0 + Genocs.Persistence.MongoDb + Genocs.Persistence.MongoDb + Genocs.Persistence.MongoDb + 10.0 + true + 5.0.0 + 5.0.0 + Nocco Giovanni Emanuele + Genocs + The Persistence MongoDB Library. + The library containing base repository pattern to build .NET Core projects. + Genocs 2023 + LICENSE + https://github.com/Genocs/genocs-library + https://github.com/Genocs/genocs-library.git + icon.png + git + aggregate architecture boilerplate ddd ddd-architecture design-patterns docker domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles + README.md + Moved to NET7.0 + True + latest + - - - True - \ - - - True - \ - - - True - \ - - + + + True + \ + + + True + \ + + + True + \ + + - - - + + + - - - + + + - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + + + diff --git a/src/Genocs.Persistence.MongoDb/Repositories/MongoRepository.cs b/src/Genocs.Persistence.MongoDb/Repositories/MongoRepository.cs index 98cb51bd..e882d4c4 100644 --- a/src/Genocs.Persistence.MongoDb/Repositories/MongoRepository.cs +++ b/src/Genocs.Persistence.MongoDb/Repositories/MongoRepository.cs @@ -3,7 +3,6 @@ using Genocs.Core.Domain.Repositories; using MongoDB.Driver; using MongoDB.Driver.Linq; -using System; using System.Linq.Expressions; namespace Genocs.Persistence.MongoDb.Repositories; diff --git a/src/Genocs.Persistence.Redis/Genocs.Persistence.Redis.csproj b/src/Genocs.Persistence.Redis/Genocs.Persistence.Redis.csproj index 0e9b0452..1056188f 100644 --- a/src/Genocs.Persistence.Redis/Genocs.Persistence.Redis.csproj +++ b/src/Genocs.Persistence.Redis/Genocs.Persistence.Redis.csproj @@ -1,64 +1,56 @@  - - net6.0;net7.0 - enable - enable - Genocs.Persistence.Redis - 10.0 - true - 5.0.0-preview.5.0 - 5.0.0 - Nocco Giovanni Emanuele - Genocs - The Persistence Redis Library. - The library containing base repository pattern to build .NET Core projects. - Genocs 2023 - LICENSE - https://github.com/Genocs/genocs-library - https://github.com/Genocs/genocs-library.git - icon.png - git - aggregate architecture boilerplate ddd ddd-architecture design-patterns docker domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles - README.md - Aligned to the ecosystem - True - latest - True - + + net6.0;net7.0;net8.0 + Genocs.Persistence.Redis + Genocs.Persistence.Redis + Genocs.Persistence.Redis + 10.0 + true + 5.0.0 + 5.0.0 + Nocco Giovanni Emanuele + Genocs + The Persistence Redis Library. + The library containing base repository pattern to build .NET Core projects. + Genocs 2023 + LICENSE + https://github.com/Genocs/genocs-library + https://github.com/Genocs/genocs-library.git + icon.png + git + aggregate architecture boilerplate ddd ddd-architecture design-patterns docker domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles + README.md + Aligned to the ecosystem + True + latest + - - - True - \ - - - True - \ - - - True - \ - - + + + True + \ + + + True + \ + + + True + \ + + - - - + + + - - - + + + - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + + diff --git a/src/Genocs.Persistence.Redis/README.md b/src/Genocs.Persistence.Redis/README.md index 783a9116..93568a5e 100644 --- a/src/Genocs.Persistence.Redis/README.md +++ b/src/Genocs.Persistence.Redis/README.md @@ -16,6 +16,9 @@ Please check the GitHub repository getting more info. ## Release notes +### [2023-11-25] 5.0.0 +- Moved to NET8 + ### [2023-10-13] 5.0.0-preview.5.0 - Added [editorconfig](https://editorconfig.org/) - Added StyleCop diff --git a/src/Genocs.QueryBuilder.UnitTests/DynamicQuery/InMemoryDynamicQueriesUnitTests.cs b/src/Genocs.QueryBuilder.UnitTests/DynamicQuery/InMemoryDynamicQueriesUnitTests.cs index 46be433b..d8e17690 100644 --- a/src/Genocs.QueryBuilder.UnitTests/DynamicQuery/InMemoryDynamicQueriesUnitTests.cs +++ b/src/Genocs.QueryBuilder.UnitTests/DynamicQuery/InMemoryDynamicQueriesUnitTests.cs @@ -237,7 +237,7 @@ public async Task ApplyGreaterThanOperatorToNullableIntGetItemTest() { var users = await GetUsers(); - QueryItem queryItem = new QueryItem(propertyName: "Childrens", propertyValue: "2", propertyType: "numeric", operatorType: QueryOperator.GreaterThan); + QueryItem queryItem = new QueryItem(propertyName: "Childs", propertyValue: "2", propertyType: "numeric", operatorType: QueryOperator.GreaterThan); IQueryable usersQuery = users.AsQueryable(); usersQuery = usersQuery.Where(DynamicQueryBuilder.BuildAdvancedSearchExpressionTree(queryItem, "User")); @@ -246,8 +246,6 @@ public async Task ApplyGreaterThanOperatorToNullableIntGetItemTest() Assert.Single(result); } - - [Fact] public async Task ApplyOperatorWithQueryItemListTest() { @@ -282,7 +280,6 @@ public async Task ApplyCombinedFirstNameAndAgeReturnEmpty() Assert.Empty(result); } - [Fact] public async Task ApplyOperatorOnNestedObjectThatCanBeNull() { diff --git a/src/Genocs.QueryBuilder.UnitTests/Genocs.QueryBuilder.UnitTests.csproj b/src/Genocs.QueryBuilder.UnitTests/Genocs.QueryBuilder.UnitTests.csproj index 64e44bb9..09355ae3 100644 --- a/src/Genocs.QueryBuilder.UnitTests/Genocs.QueryBuilder.UnitTests.csproj +++ b/src/Genocs.QueryBuilder.UnitTests/Genocs.QueryBuilder.UnitTests.csproj @@ -1,41 +1,39 @@  - - net7.0 - enable - enable - false - false - + + net8.0 + false + false + - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + + + + + + + + + diff --git a/src/Genocs.QueryBuilder/Genocs.QueryBuilder.csproj b/src/Genocs.QueryBuilder/Genocs.QueryBuilder.csproj index 05d77bb8..5938e46d 100644 --- a/src/Genocs.QueryBuilder/Genocs.QueryBuilder.csproj +++ b/src/Genocs.QueryBuilder/Genocs.QueryBuilder.csproj @@ -1,52 +1,44 @@  - - netstandard2.1 - enable - enable - Genocs.QueryBuilder - 10.0 - true - 5.0.0-preview.5.0 - 5.0.0 - Nocco Giovanni Emanuele - Genocs - The Persistence Agnostic Query Builder Library. - The persistence agnostic query builder library. - Genocs 2023 - LICENSE - https://github.com/Genocs/genocs-library - https://github.com/Genocs/genocs-library.git - icon.png - git - aggregate architecture boilerplate ddd ddd-architecture design-patterns docker domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles - README.md - Aligned to the ecosystem - True - latest - True - + + netstandard2.1 + Genocs.QueryBuilder + Genocs.QueryBuilder + Genocs.QueryBuilder + 10.0 + true + 5.0.0 + 5.0.0 + Nocco Giovanni Emanuele + Genocs + The Persistence Agnostic Query Builder Library. + The persistence agnostic query builder library. + Genocs 2023 + LICENSE + https://github.com/Genocs/genocs-library + https://github.com/Genocs/genocs-library.git + icon.png + git + aggregate architecture boilerplate ddd ddd-architecture design-patterns docker domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles + README.md + Aligned to the ecosystem + True + latest + - - - True - \ - - - True - \ - - - True - \ - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + + True + \ + + + True + \ + + + True + \ + + diff --git a/src/Genocs.QueryBuilder/QueryItem.cs b/src/Genocs.QueryBuilder/QueryItem.cs index e650685a..51b5466f 100644 --- a/src/Genocs.QueryBuilder/QueryItem.cs +++ b/src/Genocs.QueryBuilder/QueryItem.cs @@ -1,10 +1,10 @@ -namespace Genocs.QueryBuilder +namespace Genocs.QueryBuilder; + +/// +/// The QueryItem class +/// +public class QueryItem { - /// - /// - /// - public class QueryItem - { public QueryItem(string propertyName, string propertyValue, string propertyType = "string", @@ -34,5 +34,4 @@ public QueryItem(string propertyName, public string PropertyValue { get; set; } public QueryOperator OperatorType { get; set; } public bool ParentCanBeNull { get; set; } -} } \ No newline at end of file diff --git a/src/Genocs.QueryBuilder/README.md b/src/Genocs.QueryBuilder/README.md index a9b80e9f..782ef191 100644 --- a/src/Genocs.QueryBuilder/README.md +++ b/src/Genocs.QueryBuilder/README.md @@ -15,6 +15,9 @@ Please check the GitHub repository getting more info. ## Release notes +### [2023-11-25] 5.0.0 +- Moved to NET8 + ### [2023-10-13] 5.0.0-preview.5.0 - Added [editorconfig](https://editorconfig.org/) - Added StyleCop diff --git a/src/Genocs.Secrets.Vault/Extensions.cs b/src/Genocs.Secrets.Vault/Extensions.cs index c0ce47b4..5594ffba 100644 --- a/src/Genocs.Secrets.Vault/Extensions.cs +++ b/src/Genocs.Secrets.Vault/Extensions.cs @@ -16,7 +16,7 @@ namespace Genocs.Secrets.Vault; /// -/// The Extensions helper class +/// The Extensions helper class. /// public static class Extensions { diff --git a/src/Genocs.Secrets.Vault/Genocs.Secrets.Vault.csproj b/src/Genocs.Secrets.Vault/Genocs.Secrets.Vault.csproj index 28c03a82..c9e279b0 100644 --- a/src/Genocs.Secrets.Vault/Genocs.Secrets.Vault.csproj +++ b/src/Genocs.Secrets.Vault/Genocs.Secrets.Vault.csproj @@ -1,65 +1,56 @@  - - net6.0;net7.0 - enable - enable - Genocs.Secrets.Vault - 10.0 - true - 5.0.0-preview.5.0 - 5.0.0 - Nocco Giovanni Emanuele - Genocs - The Genocs Secrets Vault library - The Genocs Secrets Vault library - Genocs 2023 - LICENSE - https://github.com/Genocs/genocs-library - https://github.com/Genocs/genocs-library.git - icon.png - git - aggregate architecture boilerplate ddd ddd-architecture design-patterns docker domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles - README.md - Aligned to the ecosystem - True - latest - True - + + net6.0;net7.0;net8.0 + Genocs.Secrets.Vault + Genocs.Secrets.Vault + Genocs.Secrets.Vault + 10.0 + true + 5.0.0 + 5.0.0 + Nocco Giovanni Emanuele + Genocs + The Genocs Secrets Vault library + The Genocs Secrets Vault library + Genocs 2023 + LICENSE + https://github.com/Genocs/genocs-library + https://github.com/Genocs/genocs-library.git + icon.png + git + aggregate architecture boilerplate ddd ddd-architecture design-patterns docker domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles + README.md + Aligned to the ecosystem + True + latest + - - - True - \ - - - True - \ - - - True - \ - - + + + True + \ + + + True + \ + + + True + \ + + - - - + + + - - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + + + + + + diff --git a/src/Genocs.Secrets.Vault/README.md b/src/Genocs.Secrets.Vault/README.md index 783a9116..93568a5e 100644 --- a/src/Genocs.Secrets.Vault/README.md +++ b/src/Genocs.Secrets.Vault/README.md @@ -16,6 +16,9 @@ Please check the GitHub repository getting more info. ## Release notes +### [2023-11-25] 5.0.0 +- Moved to NET8 + ### [2023-10-13] 5.0.0-preview.5.0 - Added [editorconfig](https://editorconfig.org/) - Added StyleCop diff --git a/src/Genocs.Security/Genocs.Security.csproj b/src/Genocs.Security/Genocs.Security.csproj index 20ff53c7..863e298f 100644 --- a/src/Genocs.Security/Genocs.Security.csproj +++ b/src/Genocs.Security/Genocs.Security.csproj @@ -1,61 +1,52 @@  - - net6.0;net7.0 - enable - enable - Genocs.Security - 10.0 - true - 5.0.0-preview.5.0 - 5.0.0 - Nocco Giovanni Emanuele - Genocs - The Genocs Security library - The Genocs Security library - Genocs 2023 - LICENSE - https://github.com/Genocs/genocs-library - https://github.com/Genocs/genocs-library.git - icon.png - git - aggregate architecture boilerplate ddd ddd-architecture design-patterns docker domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles - README.md - Moved tAligned to the ecosystem - True - latest - True - + + net6.0;net7.0;net8.0 + Genocs.Security + Genocs.Security + Genocs.Security + 10.0 + true + 5.0.0 + 5.0.0 + Nocco Giovanni Emanuele + Genocs + The Genocs Security library + The Genocs Security library + Genocs 2023 + LICENSE + https://github.com/Genocs/genocs-library + https://github.com/Genocs/genocs-library.git + icon.png + git + aggregate architecture boilerplate ddd ddd-architecture design-patterns docker domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles + README.md + Moved tAligned to the ecosystem + True + latest + - - - True - \ - - - True - \ - - - True - \ - - + + + True + \ + + + True + \ + + + True + \ + + + + + - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + + diff --git a/src/Genocs.Security/README.md b/src/Genocs.Security/README.md index 5212a012..c78df224 100644 --- a/src/Genocs.Security/README.md +++ b/src/Genocs.Security/README.md @@ -15,6 +15,9 @@ Please check the GitHub repository getting more info. ## Release notes +### [2023-11-25] 5.0.0 +- Moved to NET8 + ### [2023-10-13] 5.0.0-preview.5.0 - Added [editorconfig](https://editorconfig.org/) - Added StyleCop diff --git a/src/Genocs.ServiceBusAzure.UnitTests/Genocs.ServiceBusAzure.UnitTests.csproj b/src/Genocs.ServiceBusAzure.UnitTests/Genocs.ServiceBusAzure.UnitTests.csproj index e57f1d6e..96078a67 100644 --- a/src/Genocs.ServiceBusAzure.UnitTests/Genocs.ServiceBusAzure.UnitTests.csproj +++ b/src/Genocs.ServiceBusAzure.UnitTests/Genocs.ServiceBusAzure.UnitTests.csproj @@ -1,29 +1,22 @@ - + - - net7.0 - enable - enable - false - false - - - - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + net8.0 + false + false + + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + \ No newline at end of file diff --git a/src/Genocs.ServiceBusAzure.UnitTests/SimpleUnitTests.cs b/src/Genocs.ServiceBusAzure.UnitTests/SimpleUnitTests.cs index 95b53906..5c7d02bb 100644 --- a/src/Genocs.ServiceBusAzure.UnitTests/SimpleUnitTests.cs +++ b/src/Genocs.ServiceBusAzure.UnitTests/SimpleUnitTests.cs @@ -1,6 +1,6 @@ -namespace Genocs.ServiceBusAzure.UnitTests; +using Xunit; -using Xunit; +namespace Genocs.ServiceBusAzure.UnitTests; public class SimpleUnitTests { diff --git a/src/Genocs.ServiceBusAzure/Genocs.ServiceBusAzure.csproj b/src/Genocs.ServiceBusAzure/Genocs.ServiceBusAzure.csproj index 3d1c3707..357dec80 100644 --- a/src/Genocs.ServiceBusAzure/Genocs.ServiceBusAzure.csproj +++ b/src/Genocs.ServiceBusAzure/Genocs.ServiceBusAzure.csproj @@ -1,67 +1,59 @@  - - net6.0;net7.0 - enable - enable - Genocs.ServiceBusAzure - 10.0 - true - 5.0.0-preview.5.0 - 5.0.0 - Nocco Giovanni Emanuele - Genocs - The low level library to use Azure Service Bus. - The low level library to use Azure Service Bus. - Genocs 2023 - LICENSE - https://github.com/Genocs/genocs-library - https://github.com/Genocs/genocs-library.git - icon.png - git - aggregate architecture boilerplate ddd ddd-architecture design-patterns docker domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles - README.md - Aligned to the ecosystem - True - latest - True - + + net6.0;net7.0;net8.0 + Genocs.ServiceBusAzure + Genocs.ServiceBusAzure + Genocs.ServiceBusAzure + 10.0 + true + 5.0.0 + 5.0.0 + Nocco Giovanni Emanuele + Genocs + The low level library to use Azure Service Bus. + The low level library to use Azure Service Bus. + Genocs 2023 + LICENSE + https://github.com/Genocs/genocs-library + https://github.com/Genocs/genocs-library.git + icon.png + git + aggregate architecture boilerplate ddd ddd-architecture design-patterns docker domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles + README.md + Aligned to the ecosystem + True + latest + - - - True - \ - - - True - \ - - - True - \ - - + + + True + \ + + + True + \ + + + True + \ + + - - - + + + - - - + + + - - - - - + + + + + - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - diff --git a/src/Genocs.ServiceBusAzure/README.md b/src/Genocs.ServiceBusAzure/README.md index d4ae6e0b..f74281c4 100644 --- a/src/Genocs.ServiceBusAzure/README.md +++ b/src/Genocs.ServiceBusAzure/README.md @@ -33,6 +33,9 @@ Following are the project settings needed to enable monitoring ## Release notes +### [2023-11-25] 5.0.0 +- Moved to NET8 + ### [2023-10-13] 5.0.0-preview.5.0 - Added [editorconfig](https://editorconfig.org/) - Added StyleCop diff --git a/src/Genocs.Tracing.Jaeger.RabbitMQ/Genocs.Tracing.Jaeger.RabbitMQ.csproj b/src/Genocs.Tracing.Jaeger.RabbitMQ/Genocs.Tracing.Jaeger.RabbitMQ.csproj index 20ed6ed9..f255ce05 100644 --- a/src/Genocs.Tracing.Jaeger.RabbitMQ/Genocs.Tracing.Jaeger.RabbitMQ.csproj +++ b/src/Genocs.Tracing.Jaeger.RabbitMQ/Genocs.Tracing.Jaeger.RabbitMQ.csproj @@ -1,13 +1,11 @@  - net6.0;net7.0 - enable - enable + net6.0;net7.0;net8.0 Genocs.Tracing.Jaeger.RabbitMQ 10.0 true - 5.0.0-preview1.0 + 5.0.0 5.0.0 Nocco Giovanni Emanuele Genocs @@ -24,7 +22,6 @@ Aligned to the ecosystem True latest - True @@ -48,8 +45,8 @@ - - + + diff --git a/src/Genocs.Tracing.Jaeger.RabbitMQ/README.md b/src/Genocs.Tracing.Jaeger.RabbitMQ/README.md index a9b80e9f..782ef191 100644 --- a/src/Genocs.Tracing.Jaeger.RabbitMQ/README.md +++ b/src/Genocs.Tracing.Jaeger.RabbitMQ/README.md @@ -15,6 +15,9 @@ Please check the GitHub repository getting more info. ## Release notes +### [2023-11-25] 5.0.0 +- Moved to NET8 + ### [2023-10-13] 5.0.0-preview.5.0 - Added [editorconfig](https://editorconfig.org/) - Added StyleCop diff --git a/src/Genocs.Tracing/Genocs.Tracing.csproj b/src/Genocs.Tracing/Genocs.Tracing.csproj index 883d19f0..eaaa9a9d 100644 --- a/src/Genocs.Tracing/Genocs.Tracing.csproj +++ b/src/Genocs.Tracing/Genocs.Tracing.csproj @@ -1,77 +1,68 @@  - - net6.0;net7.0 - enable - enable - Genocs.Tracing - 10.0 - true - 5.0.0-preview.5.0 - 5.0.0 - Nocco Giovanni Emanuele - Genocs - The tracing library to use Azure Service Bus. - The tracing library to use Azure Service Bus. - Genocs 2023 - LICENSE - https://github.com/Genocs/genocs-library - https://github.com/Genocs/genocs-library.git - icon.png - git - aggregate architecture boilerplate ddd ddd-architecture design-patterns docker domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles - README.md - Aligned to the ecosystem - True - latest - True - + + net6.0;net7.0;net8.0 + Genocs.Tracing + Genocs.Tracing + Genocs.Tracing + 10.0 + true + 5.0.0 + 5.0.0 + Nocco Giovanni Emanuele + Genocs + The tracing library to use Azure Service Bus. + The tracing library to use Azure Service Bus. + Genocs 2023 + LICENSE + https://github.com/Genocs/genocs-library + https://github.com/Genocs/genocs-library.git + icon.png + git + aggregate architecture boilerplate ddd ddd-architecture design-patterns docker domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles + README.md + Aligned to the ecosystem + True + latest + - - - True - \ - - - True - \ - - - True - \ - - + + + True + \ + + + True + \ + + + True + \ + + + + + + + - - - - - + + + + + - - - - - + + + - - - - - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + + + + + + diff --git a/src/Genocs.Tracing/README.md b/src/Genocs.Tracing/README.md index 783a9116..93568a5e 100644 --- a/src/Genocs.Tracing/README.md +++ b/src/Genocs.Tracing/README.md @@ -16,6 +16,9 @@ Please check the GitHub repository getting more info. ## Release notes +### [2023-11-25] 5.0.0 +- Moved to NET8 + ### [2023-10-13] 5.0.0-preview.5.0 - Added [editorconfig](https://editorconfig.org/) - Added StyleCop diff --git a/src/Genocs.WebApi.CQRS/Genocs.WebApi.CQRS.csproj b/src/Genocs.WebApi.CQRS/Genocs.WebApi.CQRS.csproj index 0038d4a9..252d41c7 100644 --- a/src/Genocs.WebApi.CQRS/Genocs.WebApi.CQRS.csproj +++ b/src/Genocs.WebApi.CQRS/Genocs.WebApi.CQRS.csproj @@ -1,64 +1,53 @@  - - net6.0;net7.0 - enable - enable - Genocs.WebApi.CQRS - 10.0 - true - 5.0.0-preview.5.0 - 5.0.0 - Nocco Giovanni Emanuele - Genocs - The web api CORS library - The web api CORS library - Genocs 2023 - LICENSE - https://github.com/Genocs/genocs-library - https://github.com/Genocs/genocs-library.git - icon.png - git - aggregate architecture boilerplate ddd ddd-architecture design-patterns docker domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles - README.md - Aligned to the ecosystem - True - latest - True - - - - - True - \ - - - True - \ - - - True - \ - - - - - - - - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + net6.0;net7.0;net8.0 + Genocs.WebApi.CQRS + Genocs.WebApi.CQRS + Genocs.WebApi.CQRS + 10.0 + true + 5.0.0 + 5.0.0 + Nocco Giovanni Emanuele + Genocs + The web api CORS library + The web api CORS library + Genocs 2023 + LICENSE + https://github.com/Genocs/genocs-library + https://github.com/Genocs/genocs-library.git + icon.png + git + aggregate architecture boilerplate ddd ddd-architecture design-patterns docker domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles + README.md + Aligned to the ecosystem + True + latest + + + + + True + \ + + + True + \ + + + True + \ + + + + + + + + + + + + diff --git a/src/Genocs.WebApi.CQRS/README.md b/src/Genocs.WebApi.CQRS/README.md index 783a9116..93568a5e 100644 --- a/src/Genocs.WebApi.CQRS/README.md +++ b/src/Genocs.WebApi.CQRS/README.md @@ -16,6 +16,9 @@ Please check the GitHub repository getting more info. ## Release notes +### [2023-11-25] 5.0.0 +- Moved to NET8 + ### [2023-10-13] 5.0.0-preview.5.0 - Added [editorconfig](https://editorconfig.org/) - Added StyleCop diff --git a/src/Genocs.WebApi.Security/Genocs.WebApi.Security.csproj b/src/Genocs.WebApi.Security/Genocs.WebApi.Security.csproj index 17675bac..7cbd818e 100644 --- a/src/Genocs.WebApi.Security/Genocs.WebApi.Security.csproj +++ b/src/Genocs.WebApi.Security/Genocs.WebApi.Security.csproj @@ -1,68 +1,64 @@  - - net6.0;net7.0 - enable - enable - Genocs.WebApi.Security - 10.0 - true - 5.0.0-preview.5.0 - 5.0.0 - Nocco Giovanni Emanuele - Genocs - The web api Security library - The web api Security library - Genocs 2023 - LICENSE - https://github.com/Genocs/genocs-library - https://github.com/Genocs/genocs-library.git - icon.png - git - aggregate architecture boilerplate ddd ddd-architecture design-patterns docker domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles - README.md - Aligned to the ecosystem - True - latest - True - + + net6.0;net7.0;net8.0 + Genocs.WebApi.Security + Genocs.WebApi.Security + Genocs.WebApi.Security + 10.0 + true + 5.0.0 + 5.0.0 + Nocco Giovanni Emanuele + Genocs + The web api Security library + The web api Security library + Genocs 2023 + LICENSE + https://github.com/Genocs/genocs-library + https://github.com/Genocs/genocs-library.git + icon.png + git + aggregate architecture boilerplate ddd ddd-architecture design-patterns docker domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles + README.md + Aligned to the ecosystem + True + latest + - - - True - \ - - - True - \ - - - True - \ - - + + + True + \ + + + True + \ + + + True + \ + + - - - + + + - - - + + + - - - + + + - - - + + + + + + + - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - diff --git a/src/Genocs.WebApi.Security/README.md b/src/Genocs.WebApi.Security/README.md index 783a9116..93568a5e 100644 --- a/src/Genocs.WebApi.Security/README.md +++ b/src/Genocs.WebApi.Security/README.md @@ -16,6 +16,9 @@ Please check the GitHub repository getting more info. ## Release notes +### [2023-11-25] 5.0.0 +- Moved to NET8 + ### [2023-10-13] 5.0.0-preview.5.0 - Added [editorconfig](https://editorconfig.org/) - Added StyleCop diff --git a/src/Genocs.WebApi.Swagger/Genocs.WebApi.Swagger.csproj b/src/Genocs.WebApi.Swagger/Genocs.WebApi.Swagger.csproj index ca65c0cd..2dbfdfdf 100644 --- a/src/Genocs.WebApi.Swagger/Genocs.WebApi.Swagger.csproj +++ b/src/Genocs.WebApi.Swagger/Genocs.WebApi.Swagger.csproj @@ -1,68 +1,60 @@  - - net6.0 - enable - enable - Genocs.WebApi.Swagger - 10.0 - true - 5.0.0-preview.5.0 - 5.0.0 - Nocco Giovanni Emanuele - Genocs - The web api Swagger library - The web api Swagger library - Genocs 2023 - LICENSE - https://github.com/Genocs/genocs-library - https://github.com/Genocs/genocs-library.git - icon.png - git - aggregate architecture boilerplate ddd ddd-architecture design-patterns docker domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles - README.md - Aligned to the ecosystem - True - latest - True - + + net6.0 + Genocs.WebApi.Swagger + Genocs.WebApi.Swagger + Genocs.WebApi.Swagger + 10.0 + true + 5.0.0 + 5.0.0 + Nocco Giovanni Emanuele + Genocs + The web api Swagger library + The web api Swagger library + Genocs 2023 + LICENSE + https://github.com/Genocs/genocs-library + https://github.com/Genocs/genocs-library.git + icon.png + git + aggregate architecture boilerplate ddd ddd-architecture design-patterns docker domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles + README.md + Aligned to the ecosystem + True + latest + - - - True - \ - - - True - \ - - - True - \ - - + + + True + \ + + + True + \ + + + True + \ + + - - - + + + - - - + + + - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + + + + + + diff --git a/src/Genocs.WebApi.Swagger/README.md b/src/Genocs.WebApi.Swagger/README.md index 783a9116..93568a5e 100644 --- a/src/Genocs.WebApi.Swagger/README.md +++ b/src/Genocs.WebApi.Swagger/README.md @@ -16,6 +16,9 @@ Please check the GitHub repository getting more info. ## Release notes +### [2023-11-25] 5.0.0 +- Moved to NET8 + ### [2023-10-13] 5.0.0-preview.5.0 - Added [editorconfig](https://editorconfig.org/) - Added StyleCop diff --git a/src/Genocs.WebApi/Genocs.WebApi.csproj b/src/Genocs.WebApi/Genocs.WebApi.csproj index 16ea95c1..7fd1487a 100644 --- a/src/Genocs.WebApi/Genocs.WebApi.csproj +++ b/src/Genocs.WebApi/Genocs.WebApi.csproj @@ -1,70 +1,61 @@  - - net6.0;net7.0 - enable - enable - Genocs.WebApi - 10.0 - true - 5.0.0-preview.5.0 - 5.0.0 - Nocco Giovanni Emanuele - Genocs - The web api library - The web api library - Genocs 2023 - LICENSE - https://github.com/Genocs/genocs-library - https://github.com/Genocs/genocs-library.git - icon.png - git - aggregate architecture boilerplate ddd ddd-architecture design-patterns docker domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles - README.md - Aligned to the ecosystem - True - latest - True - - - - - True - \ - - - True - \ - - - True - \ - - - - - - - - - - - - - - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + net6.0;net7.0;net8.0 + Genocs.WebApi + Genocs.WebApi + Genocs.WebApi + 10.0 + true + 5.0.0 + 5.0.0 + Nocco Giovanni Emanuele + Genocs + The web api library + The web api library + Genocs 2023 + LICENSE + https://github.com/Genocs/genocs-library + https://github.com/Genocs/genocs-library.git + icon.png + git + aggregate architecture boilerplate ddd ddd-architecture design-patterns docker domain-driven-design dotnet dotnetcore dotnet-core microservice microservices solid solid-principles + README.md + Aligned to the ecosystem + True + latest + + + + + True + \ + + + True + \ + + + True + \ + + + + + + + + + + + + + + + + + + + + diff --git a/src/Genocs.WebApi/README.md b/src/Genocs.WebApi/README.md index 783a9116..93568a5e 100644 --- a/src/Genocs.WebApi/README.md +++ b/src/Genocs.WebApi/README.md @@ -16,6 +16,9 @@ Please check the GitHub repository getting more info. ## Release notes +### [2023-11-25] 5.0.0 +- Moved to NET8 + ### [2023-10-13] 5.0.0-preview.5.0 - Added [editorconfig](https://editorconfig.org/) - Added StyleCop diff --git a/src/apps/api-gateway/Genocs.APIGateway/Genocs.APIGateway.csproj b/src/apps/api-gateway/Genocs.APIGateway/Genocs.APIGateway.csproj index 45aaa59a..96435d80 100644 --- a/src/apps/api-gateway/Genocs.APIGateway/Genocs.APIGateway.csproj +++ b/src/apps/api-gateway/Genocs.APIGateway/Genocs.APIGateway.csproj @@ -1,59 +1,52 @@  - - net7.0 - enable - enable - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ - True - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + net8.0 + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ + True + + + + + + diff --git a/src/apps/apigateway.dockerfile b/src/apps/apigateway.dockerfile index 37b9b1e0..fcc5007e 100644 --- a/src/apps/apigateway.dockerfile +++ b/src/apps/apigateway.dockerfile @@ -1,13 +1,11 @@ #See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. -#FROM mcr.microsoft.com/dotnet/aspnet:6.0-alpine AS base -FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base WORKDIR /app EXPOSE 80 EXPOSE 443 -#FROM mcr.microsoft.com/dotnet/sdk:6.0-alpine AS build-env -FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build-env +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build-env WORKDIR /src COPY ["api-gateway/Genocs.APIGateway", "Genocs.APIGateway/"] diff --git a/src/apps/identity-webapi.dockerfile b/src/apps/identity-webapi.dockerfile index cba04136..6ea34df3 100644 --- a/src/apps/identity-webapi.dockerfile +++ b/src/apps/identity-webapi.dockerfile @@ -1,13 +1,11 @@ #See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. -#FROM mcr.microsoft.com/dotnet/aspnet:6.0-alpine -FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base WORKDIR /app EXPOSE 80 EXPOSE 443 -#FROM mcr.microsoft.com/dotnet/sdk:6.0-alpine AS build-env -FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build-env +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build-env WORKDIR /src COPY ["identity/Genocs.Identities.WebApi", "Genocs.Identities.WebApi/"] COPY ["identity/Genocs.Identities.Application", "Genocs.Identities.Application/"] diff --git a/src/apps/identity/Genocs.Identities.Application/Genocs.Identities.Application.csproj b/src/apps/identity/Genocs.Identities.Application/Genocs.Identities.Application.csproj index 8c8aa249..bd14d270 100644 --- a/src/apps/identity/Genocs.Identities.Application/Genocs.Identities.Application.csproj +++ b/src/apps/identity/Genocs.Identities.Application/Genocs.Identities.Application.csproj @@ -1,52 +1,44 @@  - - net7.0 - enable - enable - + + net8.0 + false + false + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - diff --git a/src/apps/identity/Genocs.Identities.WebApi/Genocs.Identities.WebApi.csproj b/src/apps/identity/Genocs.Identities.WebApi/Genocs.Identities.WebApi.csproj index bc4c5329..4fcd0720 100644 --- a/src/apps/identity/Genocs.Identities.WebApi/Genocs.Identities.WebApi.csproj +++ b/src/apps/identity/Genocs.Identities.WebApi/Genocs.Identities.WebApi.csproj @@ -1,37 +1,29 @@  - - net7.0 - enable - enable - _genocs - Linux - ..\.. - + + net8.0 + false + false + _genocs + Linux + ..\.. + - - - - - + + + + - - - - - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + + + + + + + + + + diff --git a/src/apps/order-webapi.dockerfile b/src/apps/order-webapi.dockerfile index 45881ddb..c0554e39 100644 --- a/src/apps/order-webapi.dockerfile +++ b/src/apps/order-webapi.dockerfile @@ -1,13 +1,11 @@ #See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. -#FROM mcr.microsoft.com/dotnet/aspnet:6.0-alpine -FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base WORKDIR /app EXPOSE 80 EXPOSE 443 -#FROM mcr.microsoft.com/dotnet/sdk:6.0-alpine AS build-env -FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build-env +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build-env WORKDIR /src COPY ["orders/Genocs.Orders.WebApi", "Genocs.Orders.WebApi/"] diff --git a/src/apps/orders/Genocs.Orders.WebApi/Genocs.Orders.WebApi.csproj b/src/apps/orders/Genocs.Orders.WebApi/Genocs.Orders.WebApi.csproj index df5837db..2b34626c 100644 --- a/src/apps/orders/Genocs.Orders.WebApi/Genocs.Orders.WebApi.csproj +++ b/src/apps/orders/Genocs.Orders.WebApi/Genocs.Orders.WebApi.csproj @@ -1,56 +1,50 @@  - - net7.0 - enable - enable - _genocs - Linux - ..\.. - + + net8.0 + false + false + _genocs + Linux + ..\.. + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - diff --git a/src/apps/product-webapi.dockerfile b/src/apps/product-webapi.dockerfile index b9860e42..ee7efb2f 100644 --- a/src/apps/product-webapi.dockerfile +++ b/src/apps/product-webapi.dockerfile @@ -1,14 +1,11 @@ #See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. -#FROM mcr.microsoft.com/dotnet/aspnet:6.0-alpine -FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base WORKDIR /app EXPOSE 80 EXPOSE 443 - -#FROM mcr.microsoft.com/dotnet/sdk:6.0-alpine AS build-env -FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build-env +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build-env WORKDIR /src COPY ["products/Genocs.Products.WebApi", "Genocs.Products.WebApi/"] diff --git a/src/apps/products/Genocs.Products.WebApi/Genocs.Products.WebApi.csproj b/src/apps/products/Genocs.Products.WebApi/Genocs.Products.WebApi.csproj index f4cab645..e9095f05 100644 --- a/src/apps/products/Genocs.Products.WebApi/Genocs.Products.WebApi.csproj +++ b/src/apps/products/Genocs.Products.WebApi/Genocs.Products.WebApi.csproj @@ -1,63 +1,56 @@  - - net7.0 - enable - enable - _genocs - Linux - ..\.. - + + net8.0 + false + false + _genocs + Linux + ..\.. + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + + + diff --git a/src/apps/signalr-webapi.dockerfile b/src/apps/signalr-webapi.dockerfile index 8fd57672..a7dd7061 100644 --- a/src/apps/signalr-webapi.dockerfile +++ b/src/apps/signalr-webapi.dockerfile @@ -1,20 +1,24 @@ #See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. -#FROM mcr.microsoft.com/dotnet/core/aspnet:3.0 -#FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim -#FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim -#FROM mcr.microsoft.com/dotnet/aspnet:6.0-alpine -FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base +# FROM mcr.microsoft.com/dotnet/core/aspnet:3.0 +# FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim +# FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim +# FROM mcr.microsoft.com/dotnet/aspnet:6.0-alpine +# FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base + WORKDIR /app EXPOSE 80 EXPOSE 443 -#FROM mcr.microsoft.com/dotnet/core/sdk:3.0 AS build-env -#FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build-env +# FROM mcr.microsoft.com/dotnet/core/sdk:3.0 AS build-env +# FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build-env # FROM mcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS build-env -#FROM mcr.microsoft.com/dotnet/sdk:6.0-alpine AS build-env -FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build-env +# FROM mcr.microsoft.com/dotnet/sdk:6.0-alpine AS build-env +# FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build-env +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build-env + WORKDIR /src COPY ["signalr/Genocs.SignalR.WebApi", "Genocs.SignalR.WebApi/"] diff --git a/src/apps/signalr/Genocs.SignalR.WebApi/Genocs.SignalR.WebApi.csproj b/src/apps/signalr/Genocs.SignalR.WebApi/Genocs.SignalR.WebApi.csproj index 53fd8644..57ce88ef 100644 --- a/src/apps/signalr/Genocs.SignalR.WebApi/Genocs.SignalR.WebApi.csproj +++ b/src/apps/signalr/Genocs.SignalR.WebApi/Genocs.SignalR.WebApi.csproj @@ -1,64 +1,56 @@  - - net7.0 - enable - enable - _genocs - Linux - ..\.. - + + net8.0 + false + false + _genocs + Linux + ..\.. + - - - + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + + + + + + + + + + + + + + + + + + \ No newline at end of file