private void RaiseEvent(string eventName, string value) { var alarm = DeviceAlarms.NoAlarms; var status = DeviceStatus.Working; switch (eventName) { case "Alarms": Enum.TryParse(value, out alarm); break; case "OperationalStatus": Enum.TryParse(value, out status); break; default: break; } ; var device = new DeviceEvent { id = Guid.NewGuid(), eventName = eventName, deviceId = GetRandomName(), dateTime = DateTime.UtcNow, alarm = alarm, status = status, content = string.Empty }; TrapEvent?.Invoke(this, device); }