public static OrchestrationState GetOrchestrationState(this DbDataReader reader) { ParentInstance?parentInstance = null; string? parentInstanceId = GetParentInstanceId(reader); if (parentInstanceId != null) { parentInstance = new ParentInstance { OrchestrationInstance = new OrchestrationInstance { InstanceId = parentInstanceId } }; } return(new OrchestrationState { CompletedTime = reader.GetUtcDateTimeOrNull(reader.GetOrdinal("CompletedTime")) ?? default, CreatedTime = reader.GetUtcDateTimeOrNull(reader.GetOrdinal("CreatedTime")) ?? default, Input = reader.GetStringOrNull(reader.GetOrdinal("InputText")), LastUpdatedTime = reader.GetUtcDateTimeOrNull(reader.GetOrdinal("LastUpdatedTime")) ?? default, Name = GetName(reader), Version = GetVersion(reader), OrchestrationInstance = new OrchestrationInstance { InstanceId = GetInstanceId(reader), ExecutionId = GetExecutionId(reader), }, OrchestrationStatus = (OrchestrationStatus)Enum.Parse( typeof(OrchestrationStatus), GetStringOrNull(reader, reader.GetOrdinal("RuntimeStatus"))), Output = GetStringOrNull(reader, reader.GetOrdinal("OutputText")), Status = GetStringOrNull(reader, reader.GetOrdinal("CustomStatusText")), ParentInstance = parentInstance });
public override int GetHashCode() { unchecked { return(CombineHashCodes(Type?.GetHashCode() ?? 0, StructuralComparisons.StructuralEqualityComparer.GetHashCode(IdentifierValues), ParentInstance?.GetHashCode() ?? 0)); } }