public static async Task <INRule> ParseAsync(JObject ruleObject) { var conditionsRaw = JArray.Parse(ruleObject["Conditions"].ToString()); var actionsRaw = JArray.Parse(ruleObject["Actions"].ToString()); var conditions = conditionsRaw.Select(condition => NCondition.Parse(condition.ToString())); var actions = actionsRaw.Select(action => NAction.Parse(action.ToString())); return(new NRule(conditions, actions)); }