/// <summary> /// Parses the links. /// </summary> /// <param name="jsonWorkItem">The json work item.</param> /// <returns>JsonLinkCollection.</returns> private static JsonLinkCollection ParseLinks(JsonWorkItem jsonWorkItem) { JArray value = (JArray)((JObject)jsonWorkItem.JsonValue).Properties().FirstOrDefault(p => p.Name == "relations").Value <Object>(); JsonLinkCollection links = JsonLinkCollection.FromToken(value); return(links); }
/// <summary> /// Froms the token. /// </summary> /// <param name="json">The json.</param> /// <returns>JsonWorkItem.</returns> public static JsonWorkItem FromToken(JToken json) { var initializer = DefaultInitializer(json); var workItem = new JsonWorkItem(json, initializer); return(workItem); }
/// <summary> /// Parses the fields. /// </summary> /// <param name="jsonWorkItem">The json work item.</param> /// <returns>JsonFieldCollection.</returns> private static JsonFieldCollection ParseFields(JsonWorkItem jsonWorkItem) { JProperty property = ((JObject)jsonWorkItem.JsonValue).Properties().FirstOrDefault(p => p.Name == "fields"); JsonFieldCollection fields = JsonFieldCollection.FromToken(property.Value); return(fields); }
/// <summary> /// Initializes a new instance of the <see cref="JsonBackedObjectBase" /> class. /// </summary> /// <param name="json">The json.</param> public JsonWorkItemLink(JToken json) : base(json) { r_OtherItem = new Lazy <JsonWorkItem>(() => { JsonWorkItem retVal = JsonWorkItem.APIFactory().GetWorkItem(new Uri(sr_Url.Eval(this))); return(retVal); }); }
/// <summary> /// Initializes static members of the <see cref="JsonLink" /> class. /// </summary> static JsonLink() { sr_RelationTypes = new Lazy <Dictionary <string, JsonRelationType> >(() => { if (PreLoadedTypes != null) { return(PreLoadedTypes); } IReadOnlyList <JsonRelationType> knownTypes = JsonWorkItem.APIFactory().GetRelationTypes().Result; return(knownTypes.ToDictionary(knownType => knownType.ReferenceName)); }); }
/// <summary> /// Froms the token. /// </summary> /// <param name="json">The json.</param> /// <returns>JsonRelatedLink.</returns> public static new JsonRelatedLink FromToken(JToken json) { var initializer = new JsonWorkItemInitializer { OtherItemInitializer = new ParameterizedLazyWithReset <JsonRelatedLink, JsonWorkItem>(o => { var retVal = JsonWorkItem.APIFactory().GetWorkItem(new Uri(sr_Url.Eval(o))); return(retVal); }), LinkTypeEndInitializer = new ParameterizedLazyWithReset <JsonRelatedLink, JsonLinkTypeEnd>(o => { JProperty property = ((JObject)o.JsonValue).Properties().FirstOrDefault(p => p.Name == "rel"); var retVal = new JsonLinkTypeEnd(property.Value); return(retVal); }) }; return(new JsonRelatedLink(json, initializer)); }
/// <summary> /// Fieldses to j array. /// </summary> /// <param name="workItem">The work item.</param> /// <returns>JArray.</returns> public static JArray FieldsToJArray(JsonWorkItem workItem) { var elements = new JArray(); foreach (JsonField field in workItem.Fields) { var fullDefinition = JsonFieldDefinitionCollection.GetDefinition(field.FieldDefinition.ReferenceName); if ((field.Value != null) && !sr_ExcludedFields.Contains(field.FieldDefinition.ReferenceName) && !fullDefinition.ReadOnly) { var element = new JObject { new JProperty("op", "add"), new JProperty("path", "/fields/" + field.ReferenceName), new JProperty("value", field.Value) }; elements.Add(element); } } return(elements); }
/// <summary> /// Deferreds the load links. /// </summary> /// <param name="jsonWorkItem">The json work item.</param> /// <returns>JsonLinkCollection.</returns> private static JsonLinkCollection DeferredLoadLinks(JsonWorkItem jsonWorkItem) { return(APIFactory().GetLinksForWorkItemRevision(jsonWorkItem).Result); }
/// <summary> /// Deferreds the load fields. /// </summary> /// <param name="jsonWorkItem">The json work item.</param> /// <returns>JsonFieldCollection.</returns> /// <exception cref="NoReStAPIEquivilantException"></exception> /// <exception cref="DynCon.OSI.VSO.ReSTClient.Objects.Base.NoReStAPIEquivilantException"></exception> private static JsonFieldCollection DeferredLoadFields(JsonWorkItem jsonWorkItem) { throw new NoReStAPIEquivilantException(); }