using Infrastructure.Events; using IoT.Shared.Services; using IoTNode.DeviceServices.Onvif; using Application.Domain.Entities; namespace IoTNode.Services { public class IoTNodeToServerEventHandler : IEventHander>, IEventHander>, IEventHander>, IEventHander>, IEventHander>, IEventHander>, IEventHander>, IEventHander>, IEventHander>, IEventHander>, IEventHander>, IEventHander>, IEventHander>, IEventHander>, IEventHander>, IEventHander> { private readonly OnvifService _onvifService; private readonly IoTNodeClient _iotNodeClient; public IoTNodeToServerEventHandler( OnvifService onvifService, IoTNodeClient iotNodeClient) { this._onvifService = onvifService; this._iotNodeClient = iotNodeClient; } private void ClientToServer(BaseEvent message) { if (message is EntityInserted || message is EntityUpdated) { _iotNodeClient.ClientToServer($"Edit{typeof(T).Name}", message.Data, null); } else if (message is EntityDeleted) { _iotNodeClient.ClientToServer($"Delete{typeof(T).Name}", message.Data, null); } } public void Handle(EntityInserted message) { this.ClientToServer(message); } public void Handle(EntityUpdated message) { this.ClientToServer(message); } public void Handle(EntityDeleted message) { this.ClientToServer(message); } public void Handle(EntityInserted message) { this.ClientToServer(message); } public void Handle(EntityUpdated message) { this.ClientToServer(message); } public void Handle(EntityDeleted message) { this.ClientToServer(message); } public void Handle(EntityInserted message) { this.ClientToServer(message); } public void Handle(EntityUpdated message) { this.ClientToServer(message); } public void Handle(EntityDeleted message) { this.ClientToServer(message); } public void Handle(EntityUpdated message) { this.ClientToServer(message); } public void Handle(EntityInserted message) { this.ClientToServer(message); } public void Handle(EntityUpdated message) { this.ClientToServer(message); } public void Handle(EntityDeleted message) { this.ClientToServer(message); } public void Handle(EntityInserted message) { if (!message.Data.Hidden) { this.ClientToServer(message); } } public void Handle(EntityUpdated message) { if (!message.Data.Hidden) { this.ClientToServer(message); } } public void Handle(EntityDeleted message) { if (!message.Data.Hidden) { this.ClientToServer(message); } } } }