/// <summary> /// Creates termbase concept <see cref="Concept"/> with custom entry class Id /// </summary> /// <remarks> /// <param name="entryId">Entry class id</param> /// <param name="conceptRequest">Concept request <see cref="ConceptRequest"/></param> /// <param name="termbaseId">Termbase id</param> /// This method requires authentication. /// See the <a href="http://gs2017dev.sdl.com:41234/documentation/api/index#/">API documentation</a> for more information. /// </remarks> /// <exception cref="AuthorizationException"> /// Thrown when the current user does not have permission to make the request. /// </exception> /// <exception cref="ApiException">Thrown when a general API error occurs.</exception> /// <returns>Created concept <see cref="ConceptDetails"/></returns> public async Task <ConceptDetails> CreateConceptWithCustomEntryClass(string entryId, string termbaseId, ConceptRequest conceptRequest) { Ensure.ArgumentNotNull(conceptRequest, "conceptRequest"); Ensure.ArgumentNotNullOrEmptyString(entryId, "Entry class id"); var concept = new ConceptDetails { Concept = new Concept { EntryClass = new Entry { Id = entryId }, Attributes = conceptRequest.Attributes, Languages = conceptRequest.Languages, Transactions = conceptRequest.Transactions } }; return(await ApiConnection.Post <ConceptDetails>(ApiUrls.GetConcepts(termbaseId), concept, "application/json")); }
/// <summary> /// Creates termbase concept <see cref="Concept"/> with the default entry class Id /// </summary> /// <remarks> /// This method requires authentication. /// See the <a href="http://gs2017dev.sdl.com:41234/documentation/api/index#/">API documentation</a> for more information. /// </remarks> /// <exception cref="AuthorizationException"> /// Thrown when the current user does not have permission to make the request. /// </exception> /// <exception cref="ApiException">Thrown when a general API error occurs.</exception> /// <returns>Created concept <see cref="ConceptDetails"/></returns> public async Task <ConceptDetails> CreateConcept(TermbaseResponse termbase, ConceptRequest conceptRequest) { Ensure.ArgumentNotNull(termbase, "termbase"); Ensure.ArgumentNotNull(conceptRequest, "conceptRequest"); var defaultEntryClass = termbase.Termbase.EntryClasses.FirstOrDefault(d => d.IsDefault); var concept = new ConceptDetails { Concept = new Concept { EntryClass = new Entry { Id = defaultEntryClass.Id }, Attributes = conceptRequest.Attributes, Languages = conceptRequest.Languages, Transactions = conceptRequest.Transactions } }; return(await ApiConnection.Post <Models.Response.ConceptDetails>(ApiUrls.GetConcepts(termbase.Termbase.Id), concept, "application/json")); }