public static SheetLinkData FromJson(JObject obj) { var data = new SheetLinkData() { SheetName = (string)obj["sheet"] }; if (obj["project"] == null) { data.Projection = new IdentityProjection(); } else { data.ProjectedColumnName = (string)obj["project"]; data.Projection = new ColumnProjection() { ProjectedColumnName = data.ProjectedColumnName }; } if (obj["key"] == null) { data.RowProducer = new PrimaryKeyRowProducer(); } else { data.KeyColumnName = (string)obj["key"]; data.RowProducer = new IndexedRowProducer() { KeyColumnName = data.KeyColumnName }; } return(data); }
public static ComplexLinkConverter FromJson(JToken obj) { return(new ComplexLinkConverter() { _Links = obj["links"].Select(o => SheetLinkData.FromJson((JObject)o)).ToArray() }); }
public static SheetLinkData FromJson(JObject obj) { var data = new SheetLinkData() { SheetName = (string)obj["sheet"] }; if (obj["project"] == null) { data.Projection = new IdentityProjection(); } else { data.ProjectedColumnName = (string)obj["project"]; data.Projection = new ColumnProjection() { ProjectedColumnName = data.ProjectedColumnName }; } if (obj["key"] == null) { data.RowProducer = new PrimaryKeyRowProducer(); } else { data.KeyColumnName = (string)obj["key"]; data.RowProducer = new IndexedRowProducer() { KeyColumnName = data.KeyColumnName }; } var when = obj["when"]; if (when != null) { var condition = new LinkCondition(); condition.KeyColumnName = (string)when["key"]; condition.Value = when["value"].ToObject <object>(); data.When = condition; } return(data); }