59 lines
1.7 KiB
C#
59 lines
1.7 KiB
C#
using System.Threading.Tasks;
|
|
|
|
namespace webapi.Domain.SeedWork
|
|
{
|
|
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 packet = new BaseRequest
|
|
//{
|
|
// IsAdmin = handle.IsAdmin,
|
|
// //Localization = handle.Localization
|
|
// JuridicalPersonId = handle.JuridicalPersonId,
|
|
// UserId = handle.UserId
|
|
//};
|
|
var request = handle.Request;
|
|
await Handle(request); //, cancellationToken);
|
|
}
|
|
public abstract Task Handle(TRequest request); //, CancellationToken cancellationToken);
|
|
}
|
|
|
|
public class BaseEvent<TRequest>// : BaseRequest<TRequest>, IRequest<TResponse>
|
|
{
|
|
|
|
public TRequest Request { get; set; }
|
|
public BaseEvent() : base()
|
|
{
|
|
}
|
|
|
|
public BaseEvent(BaseEvent<TRequest> t) : base()
|
|
{
|
|
Request = t.Request;
|
|
//JuridicalPersonId = t.JuridicalPersonId;
|
|
//UserId = t.UserId;
|
|
//IsAdmin = t.IsAdmin;
|
|
}
|
|
}
|
|
|
|
//public interface IEventHandler<T>: IEventHandler where T: INotification
|
|
//{
|
|
// //Task Process();
|
|
//}
|
|
|
|
//public interface IEventHandler<TResult, T> where T : INotification where TResult : Entity //IRepository
|
|
//{
|
|
// Task<TResult> Process();
|
|
//}
|
|
}
|