39 lines
917 B
C#
39 lines
917 B
C#
using System.Threading.Tasks;
|
|
|
|
namespace taloyhtio.idp.parser.common.domain
|
|
{
|
|
public interface IEventHandler
|
|
{
|
|
Task Process<T>(BaseEvent<T> request);
|
|
}
|
|
|
|
public interface IEventHandler<T> : IEventHandler where T : INotification
|
|
{
|
|
}
|
|
|
|
public abstract class BaseEventHandler<TRequest>// : IRequestHandler<BaseHandle<TRequest, TResponse>, TResponse>
|
|
{
|
|
public async Task Handle(BaseEvent<TRequest> handle) //, CancellationToken cancellationToken)
|
|
{
|
|
var request = handle.Request;
|
|
await Handle(request);
|
|
}
|
|
public abstract Task Handle(TRequest request);
|
|
}
|
|
|
|
public class BaseEvent<TRequest>
|
|
{
|
|
|
|
public TRequest Request { get; set; }
|
|
|
|
public BaseEvent() : base()
|
|
{
|
|
}
|
|
|
|
public BaseEvent(BaseEvent<TRequest> t) : base()
|
|
{
|
|
Request = t.Request;
|
|
}
|
|
}
|
|
}
|