/// <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, HealthEvaluation obj) { var kind = obj.Kind; if (kind.Equals(HealthEvaluationKind.Application)) { ApplicationHealthEvaluationConverter.Serialize(writer, (ApplicationHealthEvaluation)obj); } else if (kind.Equals(HealthEvaluationKind.Applications)) { ApplicationsHealthEvaluationConverter.Serialize(writer, (ApplicationsHealthEvaluation)obj); } else if (kind.Equals(HealthEvaluationKind.ApplicationTypeApplications)) { ApplicationTypeApplicationsHealthEvaluationConverter.Serialize(writer, (ApplicationTypeApplicationsHealthEvaluation)obj); } else if (kind.Equals(HealthEvaluationKind.DeltaNodesCheck)) { DeltaNodesCheckHealthEvaluationConverter.Serialize(writer, (DeltaNodesCheckHealthEvaluation)obj); } else if (kind.Equals(HealthEvaluationKind.DeployedApplication)) { DeployedApplicationHealthEvaluationConverter.Serialize(writer, (DeployedApplicationHealthEvaluation)obj); } else if (kind.Equals(HealthEvaluationKind.DeployedApplications)) { DeployedApplicationsHealthEvaluationConverter.Serialize(writer, (DeployedApplicationsHealthEvaluation)obj); } else if (kind.Equals(HealthEvaluationKind.DeployedServicePackage)) { DeployedServicePackageHealthEvaluationConverter.Serialize(writer, (DeployedServicePackageHealthEvaluation)obj); } else if (kind.Equals(HealthEvaluationKind.DeployedServicePackages)) { DeployedServicePackagesHealthEvaluationConverter.Serialize(writer, (DeployedServicePackagesHealthEvaluation)obj); } else if (kind.Equals(HealthEvaluationKind.Event)) { EventHealthEvaluationConverter.Serialize(writer, (EventHealthEvaluation)obj); } else if (kind.Equals(HealthEvaluationKind.Node)) { NodeHealthEvaluationConverter.Serialize(writer, (NodeHealthEvaluation)obj); } else if (kind.Equals(HealthEvaluationKind.Nodes)) { NodesHealthEvaluationConverter.Serialize(writer, (NodesHealthEvaluation)obj); } else if (kind.Equals(HealthEvaluationKind.Partition)) { PartitionHealthEvaluationConverter.Serialize(writer, (PartitionHealthEvaluation)obj); } else if (kind.Equals(HealthEvaluationKind.Partitions)) { PartitionsHealthEvaluationConverter.Serialize(writer, (PartitionsHealthEvaluation)obj); } else if (kind.Equals(HealthEvaluationKind.Replica)) { ReplicaHealthEvaluationConverter.Serialize(writer, (ReplicaHealthEvaluation)obj); } else if (kind.Equals(HealthEvaluationKind.Replicas)) { ReplicasHealthEvaluationConverter.Serialize(writer, (ReplicasHealthEvaluation)obj); } else if (kind.Equals(HealthEvaluationKind.Service)) { ServiceHealthEvaluationConverter.Serialize(writer, (ServiceHealthEvaluation)obj); } else if (kind.Equals(HealthEvaluationKind.Services)) { ServicesHealthEvaluationConverter.Serialize(writer, (ServicesHealthEvaluation)obj); } else if (kind.Equals(HealthEvaluationKind.SystemApplication)) { SystemApplicationHealthEvaluationConverter.Serialize(writer, (SystemApplicationHealthEvaluation)obj); } else if (kind.Equals(HealthEvaluationKind.UpgradeDomainDeltaNodesCheck)) { UpgradeDomainDeltaNodesCheckHealthEvaluationConverter.Serialize(writer, (UpgradeDomainDeltaNodesCheckHealthEvaluation)obj); } else if (kind.Equals(HealthEvaluationKind.UpgradeDomainNodes)) { UpgradeDomainNodesHealthEvaluationConverter.Serialize(writer, (UpgradeDomainNodesHealthEvaluation)obj); } else { throw new InvalidOperationException("Unknown Kind."); } }