You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
213 lines
6.6 KiB
213 lines
6.6 KiB
using Infrastructure.Events;
|
|
using IoT.Shared.Services;
|
|
using IoTNode.DeviceServices.Onvif;
|
|
using IoT.Shared.Application.Domain.Entities;
|
|
|
|
namespace IoTNode.Services
|
|
{
|
|
public class IoTNodeToServerEventHandler :
|
|
IEventHander<EntityInsertedEvent<IoTProduct>>,
|
|
IEventHander<EntityUpdatedEvent<IoTProduct>>,
|
|
IEventHander<EntityDeletedEvent<IoTProduct>>,
|
|
IEventHander<EntityInsertedEvent<IoTApi>>,
|
|
IEventHander<EntityUpdatedEvent<IoTApi>>,
|
|
IEventHander<EntityDeletedEvent<IoTApi>>,
|
|
IEventHander<EntityInsertedEvent<IoTParameter>>,
|
|
IEventHander<EntityUpdatedEvent<IoTParameter>>,
|
|
IEventHander<EntityDeletedEvent<IoTParameter>>,
|
|
IEventHander<EntityUpdatedEvent<IoTGateway>>,
|
|
IEventHander<EntityInsertedEvent<IoTDevice>>,
|
|
IEventHander<EntityUpdatedEvent<IoTDevice>>,
|
|
IEventHander<EntityDeletedEvent<IoTDevice>>,
|
|
IEventHander<EntityInsertedEvent<IoTData>>,
|
|
IEventHander<EntityUpdatedEvent<IoTData>>,
|
|
IEventHander<EntityDeletedEvent<IoTData>>
|
|
//IEventHander<EntityInsertedEvent<IoTCommand>>,
|
|
//IEventHander<EntityUpdatedEvent<IoTCommand>>,
|
|
//IEventHander<EntityDeletedEvent<IoTCommand>>,
|
|
//IEventHander<EntityInsertedEvent<IoTScene>>,
|
|
//IEventHander<EntityUpdatedEvent<IoTScene>>,
|
|
//IEventHander<EntityDeletedEvent<IoTScene>>,
|
|
//IEventHander<EntityInsertedEvent<IoTSceneTimer>>,
|
|
//IEventHander<EntityUpdatedEvent<IoTSceneTimer>>,
|
|
//IEventHander<EntityDeletedEvent<IoTSceneTimer>>,
|
|
//IEventHander<EntityInsertedEvent<IoTSceneTigger>>,
|
|
//IEventHander<EntityUpdatedEvent<IoTSceneTigger>>,
|
|
//IEventHander<EntityDeletedEvent<IoTSceneTigger>>
|
|
{
|
|
//private readonly ISceneTiggerService _sceneTiggerService;
|
|
private readonly OnvifService _onvifService;
|
|
private readonly IoTNodeClient _iotNodeClient;
|
|
|
|
public IoTNodeToServerEventHandler(
|
|
//ISceneTiggerService sceneTiggerService,
|
|
OnvifService onvifService, IoTNodeClient iotNodeClient)
|
|
{
|
|
//this._sceneTiggerService = sceneTiggerService;
|
|
this._onvifService = onvifService;
|
|
this._iotNodeClient = iotNodeClient;
|
|
}
|
|
|
|
private void ClientToServer<T>(BaseEvent<T> message)
|
|
{
|
|
if (message is EntityInsertedEvent<T> || message is EntityUpdatedEvent<T>)
|
|
{
|
|
_iotNodeClient.ClientToServer($"Edit{typeof(T).Name}", message.Data, null);
|
|
}
|
|
else if (message is EntityDeletedEvent<T>)
|
|
{
|
|
_iotNodeClient.ClientToServer($"Delete{typeof(T).Name}", message.Data, null);
|
|
}
|
|
}
|
|
|
|
public void Handle(EntityInsertedEvent<IoTProduct> message)
|
|
{
|
|
this.ClientToServer(message);
|
|
}
|
|
|
|
public void Handle(EntityUpdatedEvent<IoTProduct> message)
|
|
{
|
|
this.ClientToServer(message);
|
|
}
|
|
|
|
public void Handle(EntityDeletedEvent<IoTProduct> message)
|
|
{
|
|
this.ClientToServer(message);
|
|
}
|
|
|
|
public void Handle(EntityInsertedEvent<IoTApi> message)
|
|
{
|
|
this.ClientToServer(message);
|
|
}
|
|
|
|
public void Handle(EntityUpdatedEvent<IoTApi> message)
|
|
{
|
|
this.ClientToServer(message);
|
|
}
|
|
|
|
public void Handle(EntityDeletedEvent<IoTApi> message)
|
|
{
|
|
this.ClientToServer(message);
|
|
}
|
|
|
|
public void Handle(EntityInsertedEvent<IoTParameter> message)
|
|
{
|
|
this.ClientToServer(message);
|
|
}
|
|
|
|
public void Handle(EntityUpdatedEvent<IoTParameter> message)
|
|
{
|
|
this.ClientToServer(message);
|
|
}
|
|
|
|
public void Handle(EntityDeletedEvent<IoTParameter> message)
|
|
{
|
|
this.ClientToServer(message);
|
|
}
|
|
|
|
public void Handle(EntityUpdatedEvent<IoTGateway> message)
|
|
{
|
|
this.ClientToServer(message);
|
|
}
|
|
|
|
public void Handle(EntityInsertedEvent<IoTDevice> message)
|
|
{
|
|
this.ClientToServer(message);
|
|
}
|
|
|
|
public void Handle(EntityUpdatedEvent<IoTDevice> message)
|
|
{
|
|
this.ClientToServer(message);
|
|
}
|
|
|
|
public void Handle(EntityDeletedEvent<IoTDevice> message)
|
|
{
|
|
this.ClientToServer(message);
|
|
}
|
|
|
|
public void Handle(EntityInsertedEvent<IoTData> message)
|
|
{
|
|
if (!message.Data.Hidden)
|
|
{
|
|
this.ClientToServer(message);
|
|
}
|
|
}
|
|
|
|
public void Handle(EntityUpdatedEvent<IoTData> message)
|
|
{
|
|
if (!message.Data.Hidden)
|
|
{
|
|
this.ClientToServer(message);
|
|
}
|
|
}
|
|
|
|
public void Handle(EntityDeletedEvent<IoTData> message)
|
|
{
|
|
if (!message.Data.Hidden)
|
|
{
|
|
this.ClientToServer(message);
|
|
}
|
|
}
|
|
|
|
//public void Handle(EntityInsertedEvent<IoTCommand> message)
|
|
//{
|
|
// this.ClientToServer(message);
|
|
//}
|
|
|
|
//public void Handle(EntityUpdatedEvent<IoTCommand> message)
|
|
//{
|
|
// this.ClientToServer(message);
|
|
//}
|
|
|
|
//public void Handle(EntityDeletedEvent<IoTCommand> message)
|
|
//{
|
|
// this.ClientToServer(message);
|
|
//}
|
|
|
|
//public void Handle(EntityInsertedEvent<IoTScene> message)
|
|
//{
|
|
// this.ClientToServer(message);
|
|
//}
|
|
|
|
//public void Handle(EntityUpdatedEvent<IoTScene> message)
|
|
//{
|
|
// this.ClientToServer(message);
|
|
//}
|
|
|
|
//public void Handle(EntityDeletedEvent<IoTScene> message)
|
|
//{
|
|
// this.ClientToServer(message);
|
|
//}
|
|
|
|
//public void Handle(EntityInsertedEvent<IoTSceneTimer> message)
|
|
//{
|
|
// this.ClientToServer(message);
|
|
//}
|
|
|
|
//public void Handle(EntityUpdatedEvent<IoTSceneTimer> message)
|
|
//{
|
|
// this.ClientToServer(message);
|
|
//}
|
|
|
|
//public void Handle(EntityDeletedEvent<IoTSceneTimer> message)
|
|
//{
|
|
// this.ClientToServer(message);
|
|
//}
|
|
|
|
//public void Handle(EntityInsertedEvent<IoTSceneTigger> message)
|
|
//{
|
|
// this.ClientToServer(message);
|
|
//}
|
|
|
|
//public void Handle(EntityUpdatedEvent<IoTSceneTigger> message)
|
|
//{
|
|
// this.ClientToServer(message);
|
|
//}
|
|
|
|
//public void Handle(EntityDeletedEvent<IoTSceneTigger> message)
|
|
//{
|
|
// this.ClientToServer(message);
|
|
//}
|
|
}
|
|
}
|