public static SemanticPropertiesSet CreateLink(string parentTitle, Uri parentUri, Term term) { var properties = new SemanticPropertiesSet { SemanticProperty.CreateValue <Href>((JToken)parentUri.ToString()), SemanticProperty.CreateValue <DisplayText>((JToken)parentTitle), SemanticProperty.CreateTerm <Rel>(term) }; return(properties); }
internal static SemanticProperty AddLink(this SemanticDocument doc, SemanticPropertiesSet link) { var linksRel = TermFactory.From <Links>(); var links = doc.Value[linksRel] ?? (SemanticProperty.CreateList(linksRel, new SemanticPropertiesList())).Then( sp => doc.Value.Add(sp)); var semanticPropertiesList = links.Value.AsT3; semanticPropertiesList.Add(link); return(links); }
public static SemanticProperty Create(string title, MethodParameter[] methodParameters, Uri uri, Term term) { var operationSemProp = SemanticProperty.CreateSet(term, new SemanticPropertiesSet() { SemanticProperty.Create <ActionUrl>((JToken)uri.ToString()), SemanticProperty.Create <DisplayText>((JToken)title), }); var fields = new SemanticPropertiesSet(); foreach (var methodParameter in methodParameters) { var fieldProperties = new SemanticPropertiesSet(); methodParameter.Type.Switch( text => fieldProperties.Add(SemanticProperty.CreateTerm <FieldKind, TextField>()), password => fieldProperties.Add(SemanticProperty.CreateTerm <FieldKind, PasswordField>()), select => { fieldProperties.Add(SemanticProperty.CreateTerm <FieldKind, SelectField>()); var optionsList = new SemanticPropertiesList(); foreach (var selectOption in select.Options) { optionsList.Add(new SemanticPropertiesSet { SemanticProperty.CreateValue <DisplayText>(selectOption.Description), SemanticProperty.CreateValue <FieldValue>(selectOption.OptionId) }); } var options = SemanticProperty.CreateList <Options>(optionsList); fieldProperties.Add(options); } ); fieldProperties.Add(SemanticProperty.CreateValue <FieldName>((JToken)methodParameter.UrlPart.ToString())); var field = SemanticProperty.CreateSet(methodParameter.Term, fieldProperties); fields.Add(field); } operationSemProp.Value.Add(SemanticProperty.CreateSet(TermFactory.From <Fields>(), fields)); return(operationSemProp); }