/// <summary> /// Serializes the object to JSON. /// </summary> /// <param name="writer">The <see cref="T: Newtonsoft.Json.JsonWriter" /> to write to.</param> /// <param name="obj">The object to serialize to JSON.</param> internal static void Serialize(JsonWriter writer, FabricEvent obj) { var kind = obj.Kind; if (kind.Equals(FabricEventKind.ApplicationEvent)) { ApplicationEventConverter.Serialize(writer, (ApplicationEvent)obj); } else if (kind.Equals(FabricEventKind.ClusterEvent)) { ClusterEventConverter.Serialize(writer, (ClusterEvent)obj); } else if (kind.Equals(FabricEventKind.ContainerInstanceEvent)) { ContainerInstanceEventConverter.Serialize(writer, (ContainerInstanceEvent)obj); } else if (kind.Equals(FabricEventKind.NodeEvent)) { NodeEventConverter.Serialize(writer, (NodeEvent)obj); } else if (kind.Equals(FabricEventKind.PartitionAnalysisEvent)) { PartitionAnalysisEventConverter.Serialize(writer, (PartitionAnalysisEvent)obj); } else if (kind.Equals(FabricEventKind.PartitionEvent)) { PartitionEventConverter.Serialize(writer, (PartitionEvent)obj); } else if (kind.Equals(FabricEventKind.ReplicaEvent)) { ReplicaEventConverter.Serialize(writer, (ReplicaEvent)obj); } else if (kind.Equals(FabricEventKind.ServiceEvent)) { ServiceEventConverter.Serialize(writer, (ServiceEvent)obj); } else if (kind.Equals(FabricEventKind.ApplicationCreated)) { ApplicationCreatedEventConverter.Serialize(writer, (ApplicationCreatedEvent)obj); } else if (kind.Equals(FabricEventKind.ApplicationDeleted)) { ApplicationDeletedEventConverter.Serialize(writer, (ApplicationDeletedEvent)obj); } else if (kind.Equals(FabricEventKind.ApplicationHealthReportCreated)) { ApplicationHealthReportCreatedEventConverter.Serialize(writer, (ApplicationHealthReportCreatedEvent)obj); } else if (kind.Equals(FabricEventKind.ApplicationHealthReportExpired)) { ApplicationHealthReportExpiredEventConverter.Serialize(writer, (ApplicationHealthReportExpiredEvent)obj); } else if (kind.Equals(FabricEventKind.ApplicationUpgradeComplete)) { ApplicationUpgradeCompleteEventConverter.Serialize(writer, (ApplicationUpgradeCompleteEvent)obj); } else if (kind.Equals(FabricEventKind.ApplicationUpgradeDomainComplete)) { ApplicationUpgradeDomainCompleteEventConverter.Serialize(writer, (ApplicationUpgradeDomainCompleteEvent)obj); } else if (kind.Equals(FabricEventKind.ApplicationUpgradeRollbackComplete)) { ApplicationUpgradeRollbackCompleteEventConverter.Serialize(writer, (ApplicationUpgradeRollbackCompleteEvent)obj); } else if (kind.Equals(FabricEventKind.ApplicationUpgradeRollbackStart)) { ApplicationUpgradeRollbackStartEventConverter.Serialize(writer, (ApplicationUpgradeRollbackStartEvent)obj); } else if (kind.Equals(FabricEventKind.ApplicationUpgradeStart)) { ApplicationUpgradeStartEventConverter.Serialize(writer, (ApplicationUpgradeStartEvent)obj); } else if (kind.Equals(FabricEventKind.DeployedApplicationHealthReportCreated)) { DeployedApplicationHealthReportCreatedEventConverter.Serialize(writer, (DeployedApplicationHealthReportCreatedEvent)obj); } else if (kind.Equals(FabricEventKind.DeployedApplicationHealthReportExpired)) { DeployedApplicationHealthReportExpiredEventConverter.Serialize(writer, (DeployedApplicationHealthReportExpiredEvent)obj); } else if (kind.Equals(FabricEventKind.ProcessDeactivated)) { ProcessDeactivatedEventConverter.Serialize(writer, (ProcessDeactivatedEvent)obj); } else if (kind.Equals(FabricEventKind.ContainerDeactivated)) { ContainerDeactivatedEventConverter.Serialize(writer, (ContainerDeactivatedEvent)obj); } else if (kind.Equals(FabricEventKind.NodeAborted)) { NodeAbortedEventConverter.Serialize(writer, (NodeAbortedEvent)obj); } else if (kind.Equals(FabricEventKind.NodeAborting)) { NodeAbortingEventConverter.Serialize(writer, (NodeAbortingEvent)obj); } else if (kind.Equals(FabricEventKind.NodeAdded)) { NodeAddedEventConverter.Serialize(writer, (NodeAddedEvent)obj); } else if (kind.Equals(FabricEventKind.NodeClose)) { NodeCloseEventConverter.Serialize(writer, (NodeCloseEvent)obj); } else if (kind.Equals(FabricEventKind.NodeClosing)) { NodeClosingEventConverter.Serialize(writer, (NodeClosingEvent)obj); } else if (kind.Equals(FabricEventKind.NodeDeactivateComplete)) { NodeDeactivateCompleteEventConverter.Serialize(writer, (NodeDeactivateCompleteEvent)obj); } else if (kind.Equals(FabricEventKind.NodeDeactivateStart)) { NodeDeactivateStartEventConverter.Serialize(writer, (NodeDeactivateStartEvent)obj); } else if (kind.Equals(FabricEventKind.NodeDown)) { NodeDownEventConverter.Serialize(writer, (NodeDownEvent)obj); } else if (kind.Equals(FabricEventKind.NodeHealthReportCreated)) { NodeHealthReportCreatedEventConverter.Serialize(writer, (NodeHealthReportCreatedEvent)obj); } else if (kind.Equals(FabricEventKind.NodeHealthReportExpired)) { NodeHealthReportExpiredEventConverter.Serialize(writer, (NodeHealthReportExpiredEvent)obj); } else if (kind.Equals(FabricEventKind.NodeOpenedSuccess)) { NodeOpenedSuccessEventConverter.Serialize(writer, (NodeOpenedSuccessEvent)obj); } else if (kind.Equals(FabricEventKind.NodeOpenFailed)) { NodeOpenFailedEventConverter.Serialize(writer, (NodeOpenFailedEvent)obj); } else if (kind.Equals(FabricEventKind.NodeOpening)) { NodeOpeningEventConverter.Serialize(writer, (NodeOpeningEvent)obj); } else if (kind.Equals(FabricEventKind.NodeRemoved)) { NodeRemovedEventConverter.Serialize(writer, (NodeRemovedEvent)obj); } else if (kind.Equals(FabricEventKind.NodeUp)) { NodeUpEventConverter.Serialize(writer, (NodeUpEvent)obj); } else if (kind.Equals(FabricEventKind.PartitionHealthReportCreated)) { PartitionHealthReportCreatedEventConverter.Serialize(writer, (PartitionHealthReportCreatedEvent)obj); } else if (kind.Equals(FabricEventKind.PartitionHealthReportExpired)) { PartitionHealthReportExpiredEventConverter.Serialize(writer, (PartitionHealthReportExpiredEvent)obj); } else if (kind.Equals(FabricEventKind.PartitionReconfigurationCompleted)) { PartitionReconfigurationCompletedEventConverter.Serialize(writer, (PartitionReconfigurationCompletedEvent)obj); } else if (kind.Equals(FabricEventKind.PartitionPrimaryMoveAnalysis)) { PartitionPrimaryMoveAnalysisEventConverter.Serialize(writer, (PartitionPrimaryMoveAnalysisEvent)obj); } else if (kind.Equals(FabricEventKind.ServiceCreated)) { ServiceCreatedEventConverter.Serialize(writer, (ServiceCreatedEvent)obj); } else if (kind.Equals(FabricEventKind.ServiceDeleted)) { ServiceDeletedEventConverter.Serialize(writer, (ServiceDeletedEvent)obj); } else if (kind.Equals(FabricEventKind.ServiceHealthReportCreated)) { ServiceHealthReportCreatedEventConverter.Serialize(writer, (ServiceHealthReportCreatedEvent)obj); } else if (kind.Equals(FabricEventKind.ServiceHealthReportExpired)) { ServiceHealthReportExpiredEventConverter.Serialize(writer, (ServiceHealthReportExpiredEvent)obj); } else if (kind.Equals(FabricEventKind.DeployedServiceHealthReportCreated)) { DeployedServiceHealthReportCreatedEventConverter.Serialize(writer, (DeployedServiceHealthReportCreatedEvent)obj); } else if (kind.Equals(FabricEventKind.DeployedServiceHealthReportExpired)) { DeployedServiceHealthReportExpiredEventConverter.Serialize(writer, (DeployedServiceHealthReportExpiredEvent)obj); } else if (kind.Equals(FabricEventKind.StatefulReplicaHealthReportCreated)) { StatefulReplicaHealthReportCreatedEventConverter.Serialize(writer, (StatefulReplicaHealthReportCreatedEvent)obj); } else if (kind.Equals(FabricEventKind.StatefulReplicaHealthReportExpired)) { StatefulReplicaHealthReportExpiredEventConverter.Serialize(writer, (StatefulReplicaHealthReportExpiredEvent)obj); } else if (kind.Equals(FabricEventKind.StatelessReplicaHealthReportCreated)) { StatelessReplicaHealthReportCreatedEventConverter.Serialize(writer, (StatelessReplicaHealthReportCreatedEvent)obj); } else if (kind.Equals(FabricEventKind.StatelessReplicaHealthReportExpired)) { StatelessReplicaHealthReportExpiredEventConverter.Serialize(writer, (StatelessReplicaHealthReportExpiredEvent)obj); } else if (kind.Equals(FabricEventKind.ClusterHealthReportCreated)) { ClusterHealthReportCreatedEventConverter.Serialize(writer, (ClusterHealthReportCreatedEvent)obj); } else if (kind.Equals(FabricEventKind.ClusterHealthReportExpired)) { ClusterHealthReportExpiredEventConverter.Serialize(writer, (ClusterHealthReportExpiredEvent)obj); } else if (kind.Equals(FabricEventKind.ClusterUpgradeComplete)) { ClusterUpgradeCompleteEventConverter.Serialize(writer, (ClusterUpgradeCompleteEvent)obj); } else if (kind.Equals(FabricEventKind.ClusterUpgradeDomainComplete)) { ClusterUpgradeDomainCompleteEventConverter.Serialize(writer, (ClusterUpgradeDomainCompleteEvent)obj); } else if (kind.Equals(FabricEventKind.ClusterUpgradeRollbackComplete)) { ClusterUpgradeRollbackCompleteEventConverter.Serialize(writer, (ClusterUpgradeRollbackCompleteEvent)obj); } else if (kind.Equals(FabricEventKind.ClusterUpgradeRollbackStart)) { ClusterUpgradeRollbackStartEventConverter.Serialize(writer, (ClusterUpgradeRollbackStartEvent)obj); } else if (kind.Equals(FabricEventKind.ClusterUpgradeStart)) { ClusterUpgradeStartEventConverter.Serialize(writer, (ClusterUpgradeStartEvent)obj); } else if (kind.Equals(FabricEventKind.ChaosStopped)) { ChaosStoppedEventConverter.Serialize(writer, (ChaosStoppedEvent)obj); } else if (kind.Equals(FabricEventKind.ChaosStarted)) { ChaosStartedEventConverter.Serialize(writer, (ChaosStartedEvent)obj); } else if (kind.Equals(FabricEventKind.ChaosRestartNodeFaultCompleted)) { ChaosRestartNodeFaultCompletedEventConverter.Serialize(writer, (ChaosRestartNodeFaultCompletedEvent)obj); } else if (kind.Equals(FabricEventKind.ChaosRestartCodePackageFaultScheduled)) { ChaosRestartCodePackageFaultScheduledEventConverter.Serialize(writer, (ChaosRestartCodePackageFaultScheduledEvent)obj); } else if (kind.Equals(FabricEventKind.ChaosRestartCodePackageFaultCompleted)) { ChaosRestartCodePackageFaultCompletedEventConverter.Serialize(writer, (ChaosRestartCodePackageFaultCompletedEvent)obj); } else if (kind.Equals(FabricEventKind.ChaosRemoveReplicaFaultScheduled)) { ChaosRemoveReplicaFaultScheduledEventConverter.Serialize(writer, (ChaosRemoveReplicaFaultScheduledEvent)obj); } else if (kind.Equals(FabricEventKind.ChaosRemoveReplicaFaultCompleted)) { ChaosRemoveReplicaFaultCompletedEventConverter.Serialize(writer, (ChaosRemoveReplicaFaultCompletedEvent)obj); } else if (kind.Equals(FabricEventKind.ChaosMoveSecondaryFaultScheduled)) { ChaosMoveSecondaryFaultScheduledEventConverter.Serialize(writer, (ChaosMoveSecondaryFaultScheduledEvent)obj); } else if (kind.Equals(FabricEventKind.ChaosMovePrimaryFaultScheduled)) { ChaosMovePrimaryFaultScheduledEventConverter.Serialize(writer, (ChaosMovePrimaryFaultScheduledEvent)obj); } else if (kind.Equals(FabricEventKind.ChaosRestartReplicaFaultScheduled)) { ChaosRestartReplicaFaultScheduledEventConverter.Serialize(writer, (ChaosRestartReplicaFaultScheduledEvent)obj); } else if (kind.Equals(FabricEventKind.ChaosRestartNodeFaultScheduled)) { ChaosRestartNodeFaultScheduledEventConverter.Serialize(writer, (ChaosRestartNodeFaultScheduledEvent)obj); } else { throw new InvalidOperationException("Unknown Kind."); } }