public static StreamPrediction ConvertNode(object nodeRef) { var node = (dynamic)nodeRef; var obj = new StreamPrediction(); obj.ID = node["id"]; obj.Status = Enum.Parse(typeof(PredictionStatus), node["status"]); obj.Title = node["title"]; if (DateTime.TryParse(node["created_at"], out DateTime output1)) { obj.CreateAt = output1; } if (DateTime.TryParse(node["ended_at"], out DateTime output2)) { obj.EndedAt = output2; } if (DateTime.TryParse(node["locked_at"], out DateTime output3)) { obj.LockedAt = output3; } obj.PredictionWindow = node["prediction_window"]; var predictionResults = StreamPredictionOutcome.Convert(node["outcomes"]); obj.FirstOutcome = predictionResults[0]; obj.SecondOutcome = predictionResults[1]; return(obj); }