Skip to content

Commit

Permalink
Move interfaces used by application layer to application building blo…
Browse files Browse the repository at this point in the history
…cks.

Fix issue with internal command processing.
  • Loading branch information
kgrzybek committed Mar 13, 2020
1 parent ab2c783 commit 4f66e8a
Show file tree
Hide file tree
Showing 105 changed files with 150 additions and 121 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,12 @@
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="MediatR" Version="6.0.0" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\Domain\CompanyName.MyMeetings.BuildingBlocks.Domain.csproj" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using System.Data;

namespace CompanyName.MyMeetings.BuildingBlocks.Infrastructure
namespace CompanyName.MyMeetings.BuildingBlocks.Application.Data
{
public interface ISqlConnectionFactory
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace CompanyName.MyMeetings.BuildingBlocks.Infrastructure.Emails
namespace CompanyName.MyMeetings.BuildingBlocks.Application.Emails
{
public struct EmailMessage
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
using System.Threading.Tasks;

namespace CompanyName.MyMeetings.BuildingBlocks.Infrastructure.Emails
namespace CompanyName.MyMeetings.BuildingBlocks.Application.Emails
{
public interface IEmailSender
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using System;
using CompanyName.MyMeetings.BuildingBlocks.Domain;

namespace CompanyName.MyMeetings.BuildingBlocks.Infrastructure.SeedWork
namespace CompanyName.MyMeetings.BuildingBlocks.Application.Events
{
public class DomainNotificationBase<T> : IDomainEventNotification<T> where T:IDomainEvent
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using System;
using MediatR;

namespace CompanyName.MyMeetings.BuildingBlocks.Infrastructure.SeedWork
namespace CompanyName.MyMeetings.BuildingBlocks.Application.Events
{
public interface IDomainEventNotification<out TEventType> : IDomainEventNotification
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace CompanyName.MyMeetings.BuildingBlocks.Infrastructure.Outbox
namespace CompanyName.MyMeetings.BuildingBlocks.Application.Outbox
{
public interface IOutbox
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using System;

namespace CompanyName.MyMeetings.BuildingBlocks.Infrastructure.Outbox
namespace CompanyName.MyMeetings.BuildingBlocks.Application.Outbox
{
public class OutboxMessage
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\Application\CompanyName.MyMeetings.BuildingBlocks.Application.csproj" />
<ProjectReference Include="..\Domain\CompanyName.MyMeetings.BuildingBlocks.Domain.csproj" />
</ItemGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
using System.Threading.Tasks;
using Autofac;
using Autofac.Core;
using CompanyName.MyMeetings.BuildingBlocks.Application.Events;
using CompanyName.MyMeetings.BuildingBlocks.Application.Outbox;
using CompanyName.MyMeetings.BuildingBlocks.Domain;
using CompanyName.MyMeetings.BuildingBlocks.Infrastructure.Outbox;
using CompanyName.MyMeetings.BuildingBlocks.Infrastructure.SeedWork;
using MediatR;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
Expand Down Expand Up @@ -50,7 +50,7 @@ public async Task DispatchEventsAsync()

if (domainNotification != null)
{
domainEventNotifications.Add(domainNotification as SeedWork.IDomainEventNotification<IDomainEvent>);
domainEventNotifications.Add(domainNotification as IDomainEventNotification<IDomainEvent>);
}
}

Expand Down
1 change: 1 addition & 0 deletions src/BuildingBlocks/Infrastructure/Emails/EmailSender.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System.Threading.Tasks;
using CompanyName.MyMeetings.BuildingBlocks.Application.Emails;
using Serilog;

namespace CompanyName.MyMeetings.BuildingBlocks.Infrastructure.Emails
Expand Down

This file was deleted.

1 change: 1 addition & 0 deletions src/BuildingBlocks/Infrastructure/SqlConnectionFactory.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using System;
using System.Data;
using System.Data.SqlClient;
using CompanyName.MyMeetings.BuildingBlocks.Application.Data;

namespace CompanyName.MyMeetings.BuildingBlocks.Infrastructure
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\..\..\BuildingBlocks\Infrastructure\CompanyName.MyMeetings.BuildingBlocks.Infrastructure.csproj" PrivateAssets="All" />
<ProjectReference Include="..\..\..\BuildingBlocks\Application\CompanyName.MyMeetings.BuildingBlocks.Application.csproj" PrivateAssets="All" />
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\CompanyName.MyMeetings.BuildingBlocks.EventBus.csproj" PrivateAssets="All" />
<ProjectReference Include="..\IntegrationEvents\CompanyName.MyMeetings.Modules.Administration.IntegrationEvents.csproj" PrivateAssets="All" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ namespace CompanyName.MyMeetings.Modules.Administration.Application.Configuratio
{
public interface ICommandsScheduler
{
Task EnqueueAsync(ICommand command);
// Task EnqueueAsync(ICommand command);

Task EnqueueAsync<T>(ICommand<T> command);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

namespace CompanyName.MyMeetings.Modules.Administration.Application.Contracts
{
public class CommandBase : ICommand
public abstract class CommandBase<TResult> : ICommand<TResult>
{
public Guid Id { get; }

public CommandBase()
protected CommandBase()
{
this.Id = Guid.NewGuid();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ public interface ICommand<out TResult> : IRequest<TResult>
Guid Id { get; }
}

public interface ICommand: IRequest
public interface ICommand : IRequest<Unit>
{
Guid Id { get; }
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
using System;
using CompanyName.MyMeetings.Modules.Administration.Application.Contracts;
using MediatR;

namespace CompanyName.MyMeetings.Modules.Administration.Application.MeetingGroupProposals.AcceptMeetingGroupProposal
{
public class AcceptMeetingGroupProposalCommand : CommandBase
public class AcceptMeetingGroupProposalCommand : CommandBase<Unit>
{
internal Guid MeetingGroupProposalId { get; }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

namespace CompanyName.MyMeetings.Modules.Administration.Application.MeetingGroupProposals.AcceptMeetingGroupProposal
{
internal class AcceptMeetingGroupProposalCommandHandler : ICommandHandler<AcceptMeetingGroupProposalCommand>
internal class AcceptMeetingGroupProposalCommandHandler : ICommandHandler<AcceptMeetingGroupProposalCommand, Unit>
{
private readonly IMeetingGroupProposalRepository _meetingGroupProposalRepository;
private readonly IUserContext _userContext;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using CompanyName.MyMeetings.BuildingBlocks.Infrastructure.SeedWork;
using CompanyName.MyMeetings.BuildingBlocks.Application.Events;
using CompanyName.MyMeetings.Modules.Administration.Domain.MeetingGroupProposals;
using CompanyName.MyMeetings.Modules.Administration.Domain.MeetingGroupProposals.Events;
using Newtonsoft.Json;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using System.Threading;
using System.Threading.Tasks;
using CompanyName.MyMeetings.BuildingBlocks.Application.Data;
using CompanyName.MyMeetings.BuildingBlocks.Infrastructure;
using CompanyName.MyMeetings.Modules.Administration.Application.Configuration.Queries;
using Dapper;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using System;
using CompanyName.MyMeetings.Modules.Administration.Application.Configuration;
using CompanyName.MyMeetings.Modules.Administration.Application.Configuration.Commands;
using CompanyName.MyMeetings.Modules.Administration.Application.Contracts;
using Newtonsoft.Json;

namespace CompanyName.MyMeetings.Modules.Administration.Application.MeetingGroupProposals.RequestMeetingGroupProposalVerification
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
using System;
using CompanyName.MyMeetings.Modules.Administration.Application.Configuration.Commands;
using CompanyName.MyMeetings.Modules.Administration.Application.Contracts;
using MediatR;
using Newtonsoft.Json;

namespace CompanyName.MyMeetings.Modules.Administration.Application.Members
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using System.Threading;
using System.Threading.Tasks;
using CompanyName.MyMeetings.BuildingBlocks.Application.Data;
using CompanyName.MyMeetings.BuildingBlocks.Infrastructure;
using CompanyName.MyMeetings.Modules.Administration.Application.Configuration.Queries;
using Dapper;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
using CompanyName.MyMeetings.BuildingBlocks.Infrastructure.InternalCommands;
using CompanyName.MyMeetings.BuildingBlocks.Infrastructure.Outbox;
using CompanyName.MyMeetings.BuildingBlocks.Application.Outbox;
using CompanyName.MyMeetings.BuildingBlocks.Infrastructure.InternalCommands;
using CompanyName.MyMeetings.Modules.Administration.Domain.MeetingGroupProposals;
using CompanyName.MyMeetings.Modules.Administration.Domain.Members;
using CompanyName.MyMeetings.Modules.Administration.Infrastructure.Domain.MeetingGroupProposals;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ namespace CompanyName.MyMeetings.Modules.Administration.Infrastructure.Configura
{
internal static class Assemblies
{
public static readonly Assembly Application = typeof(InternalCommandBase).Assembly;
public static readonly Assembly Application = typeof(InternalCommandBase<>).Assembly;
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Autofac;
using CompanyName.MyMeetings.BuildingBlocks.Application.Data;
using CompanyName.MyMeetings.BuildingBlocks.Infrastructure;
using CompanyName.MyMeetings.Modules.Administration.Infrastructure.Domain;
using Microsoft.EntityFrameworkCore;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
using System.Reflection;
using System.Threading.Tasks;
using Autofac;
using CompanyName.MyMeetings.BuildingBlocks.Application.Data;
using CompanyName.MyMeetings.BuildingBlocks.Infrastructure;
using CompanyName.MyMeetings.BuildingBlocks.Infrastructure.EventBus;
using Dapper;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
using CompanyName.MyMeetings.Modules.Administration.Application.Contracts;
using MediatR;

namespace CompanyName.MyMeetings.Modules.Administration.Infrastructure.Configuration.Processing.Inbox
{
public class ProcessInboxCommand : CommandBase, IRecurringCommand
public class ProcessInboxCommand : CommandBase<Unit>, IRecurringCommand
{

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using CompanyName.MyMeetings.BuildingBlocks.Application.Data;
using CompanyName.MyMeetings.BuildingBlocks.Infrastructure;
using CompanyName.MyMeetings.Modules.Administration.Application.Configuration;
using CompanyName.MyMeetings.Modules.Administration.Application.Configuration.Commands;
Expand All @@ -11,7 +12,7 @@

namespace CompanyName.MyMeetings.Modules.Administration.Infrastructure.Configuration.Processing.Inbox
{
internal class ProcessInboxCommandHandler : ICommandHandler<ProcessInboxCommand>
internal class ProcessInboxCommandHandler : ICommandHandler<ProcessInboxCommand, Unit>
{
private readonly IMediator _mediator;
private readonly ISqlConnectionFactory _sqlConnectionFactory;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
using CompanyName.MyMeetings.BuildingBlocks.Application.Data;
using CompanyName.MyMeetings.BuildingBlocks.Infrastructure;
using CompanyName.MyMeetings.Modules.Administration.Application.Configuration;
using CompanyName.MyMeetings.Modules.Administration.Application.Configuration.Commands;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
using CompanyName.MyMeetings.Modules.Administration.Application.Contracts;
using MediatR;

namespace CompanyName.MyMeetings.Modules.Administration.Infrastructure.Configuration.Processing.InternalCommands
{
internal class ProcessInternalCommandsCommand : CommandBase, IRecurringCommand
internal class ProcessInternalCommandsCommand : CommandBase<Unit>, IRecurringCommand
{

}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,15 @@
using System;
using System.Reflection;
using System.Threading;
using System.Threading.Tasks;
using CompanyName.MyMeetings.BuildingBlocks.Infrastructure;
using CompanyName.MyMeetings.Modules.Administration.Application.Configuration;
using CompanyName.MyMeetings.BuildingBlocks.Application.Data;
using CompanyName.MyMeetings.Modules.Administration.Application.Configuration.Commands;
using CompanyName.MyMeetings.Modules.Administration.Application.Contracts;
using Dapper;
using MediatR;
using Newtonsoft.Json;

namespace CompanyName.MyMeetings.Modules.Administration.Infrastructure.Configuration.Processing.InternalCommands
{
internal class ProcessInternalCommandsCommandHandler : ICommandHandler<ProcessInternalCommandsCommand>
internal class ProcessInternalCommandsCommandHandler : ICommandHandler<ProcessInternalCommandsCommand, Unit>
{
private readonly ISqlConnectionFactory _sqlConnectionFactory;

Expand All @@ -38,8 +35,8 @@ public async Task<Unit> Handle(ProcessInternalCommandsCommand command, Cancellat
foreach (var internalCommand in internalCommandsList)
{
Type type = Assemblies.Application.GetType(internalCommand.Type);
var commandToProcess = JsonConvert.DeserializeObject(internalCommand.Data, type) as ICommand;
dynamic commandToProcess = JsonConvert.DeserializeObject(internalCommand.Data, type);

await CommandsExecutor.Execute(commandToProcess);
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
using Autofac;
using CompanyName.MyMeetings.BuildingBlocks.Infrastructure.Outbox;
using CompanyName.MyMeetings.BuildingBlocks.Application.Outbox;
using CompanyName.MyMeetings.Modules.Administration.Infrastructure.Outbox;
using Module = Autofac.Module;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
using CompanyName.MyMeetings.Modules.Administration.Application.Contracts;
using MediatR;

namespace CompanyName.MyMeetings.Modules.Administration.Infrastructure.Configuration.Processing.Outbox
{
public class ProcessOutboxCommand : CommandBase, IRecurringCommand
public class ProcessOutboxCommand : CommandBase<Unit>, IRecurringCommand
{

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@
using System.Reflection;
using System.Threading;
using System.Threading.Tasks;
using CompanyName.MyMeetings.BuildingBlocks.Application.Data;
using CompanyName.MyMeetings.BuildingBlocks.Application.Events;
using CompanyName.MyMeetings.BuildingBlocks.Infrastructure;
using CompanyName.MyMeetings.BuildingBlocks.Infrastructure.SeedWork;
using CompanyName.MyMeetings.Modules.Administration.Application.Configuration;
using CompanyName.MyMeetings.Modules.Administration.Application.Configuration.Commands;
using Dapper;
Expand All @@ -15,7 +16,7 @@

namespace CompanyName.MyMeetings.Modules.Administration.Infrastructure.Configuration.Processing.Outbox
{
internal class ProcessOutboxCommandHandler : ICommandHandler<ProcessOutboxCommand>
internal class ProcessOutboxCommandHandler : ICommandHandler<ProcessOutboxCommand, Unit>
{
private readonly IMediator _mediator;
private readonly ISqlConnectionFactory _sqlConnectionFactory;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
using Autofac;
using CompanyName.MyMeetings.BuildingBlocks.Application.Events;
using CompanyName.MyMeetings.BuildingBlocks.Domain;
using CompanyName.MyMeetings.BuildingBlocks.Infrastructure;
using CompanyName.MyMeetings.BuildingBlocks.Infrastructure.DomainEventsDispatching;
using CompanyName.MyMeetings.BuildingBlocks.Infrastructure.SeedWork;
using CompanyName.MyMeetings.Modules.Administration.Application.Configuration;
using CompanyName.MyMeetings.Modules.Administration.Application.Configuration.Commands;
using CompanyName.MyMeetings.Modules.Administration.Infrastructure.Configuration.Processing.InternalCommands;
Expand Down

0 comments on commit 4f66e8a

Please sign in to comment.