diff --git a/EnvelopeGenerator.Application/Documents/Queries/Read/ReadDocumentQueryHandler.cs b/EnvelopeGenerator.Application/Documents/Queries/Read/ReadDocumentQueryHandler.cs
index b6e7d636..f27cfa1a 100644
--- a/EnvelopeGenerator.Application/Documents/Queries/Read/ReadDocumentQueryHandler.cs
+++ b/EnvelopeGenerator.Application/Documents/Queries/Read/ReadDocumentQueryHandler.cs
@@ -1,5 +1,4 @@
using DigitalData.Core.Abstractions.Infrastructure;
-using EnvelopeGenerator.Application.Contracts.Repositories;
using EnvelopeGenerator.Domain.Entities;
using MediatR;
diff --git a/EnvelopeGenerator.Application/EnvelopeGenerator.Application.csproj b/EnvelopeGenerator.Application/EnvelopeGenerator.Application.csproj
index c1eebe8f..f032eed8 100644
--- a/EnvelopeGenerator.Application/EnvelopeGenerator.Application.csproj
+++ b/EnvelopeGenerator.Application/EnvelopeGenerator.Application.csproj
@@ -18,8 +18,9 @@
-
+
+
diff --git a/EnvelopeGenerator.Application/Extensions/DIExtensions.cs b/EnvelopeGenerator.Application/Extensions/DIExtensions.cs
index 37579d98..7ae3869b 100644
--- a/EnvelopeGenerator.Application/Extensions/DIExtensions.cs
+++ b/EnvelopeGenerator.Application/Extensions/DIExtensions.cs
@@ -8,11 +8,21 @@ using Microsoft.Extensions.DependencyInjection.Extensions;
using DigitalData.Core.Client;
using QRCoder;
using EnvelopeGenerator.Application.Contracts.Services;
+using System.Reflection;
namespace EnvelopeGenerator.Application.Extensions;
+///
+/// Extensions method for dependency injection
+///
public static class DIExtensions
{
+ ///
+ /// Adds all required services for envelope generator application
+ ///
+ ///
+ ///
+ ///
public static IServiceCollection AddEnvelopeGeneratorServices(this IServiceCollection services, IConfiguration config)
{
//Inject CRUD Service and repositoriesad
@@ -47,6 +57,11 @@ public static class DIExtensions
services.TryAddSingleton();
services.TryAddSingleton();
+ services.AddMediatR(cfg =>
+ {
+ cfg.RegisterServicesFromAssembly(Assembly.GetExecutingAssembly());
+ });
+
return services;
}
}
\ No newline at end of file
diff --git a/EnvelopeGenerator.Terminal/CommandManager.cs b/EnvelopeGenerator.Terminal/CommandManager.cs
index 44e1d473..4d558e59 100644
--- a/EnvelopeGenerator.Terminal/CommandManager.cs
+++ b/EnvelopeGenerator.Terminal/CommandManager.cs
@@ -1,11 +1,19 @@
using CommandDotNet;
using EnvelopeGenerator.Application.Contracts.Services;
+using EnvelopeGenerator.Application.Documents.Queries.Read;
+using MediatR;
using System.Reflection;
+using System.Text.Json;
namespace EnvelopeGenerator.Terminal;
-public class CommandManager(IEnvelopeReceiverService envelopeReceiverService)
+public class CommandManager(IEnvelopeReceiverService envelopeReceiverService, IMediator mediator)
{
+ private static JsonSerializerOptions Options = new ()
+ {
+ WriteIndented = true // <-- Bu satır okunabilir JSON için önemli
+ };
+
[DefaultCommand]
public void Execute([Option(Description = "print envelope generator termianal version.")] bool version)
{
@@ -15,4 +23,12 @@ public class CommandManager(IEnvelopeReceiverService envelopeReceiverService)
[Subcommand]
public IEnvelopeReceiverService EnvelopeReceiver => envelopeReceiverService;
+
+ [Command]
+ public async Task ReadDocument(IConsole console, int? id = null, int? envelopeId = null)
+ {
+ ReadDocumentQuery query = new(id, envelopeId);
+ var document = await mediator.Send(query);
+ console.WriteLine(JsonSerializer.Serialize(document, Options));
+ }
}
diff --git a/EnvelopeGenerator.Terminal/EnvelopeGenerator.Terminal.csproj b/EnvelopeGenerator.Terminal/EnvelopeGenerator.Terminal.csproj
index 323f96d0..0fc313f8 100644
--- a/EnvelopeGenerator.Terminal/EnvelopeGenerator.Terminal.csproj
+++ b/EnvelopeGenerator.Terminal/EnvelopeGenerator.Terminal.csproj
@@ -5,8 +5,6 @@
net8.0
enable
enable
- true
- true