示例#1
0
		/// <summary>
		///   Add tag to text entity.
		/// </summary>
		/// <param name="tag"> the tag string </param>
		/// <param name="collectionId"> id of collection </param>
		/// <param name="textId"> id of text entity </param>
		/// <param name="category"> category for tag </param>
		/// <param name="relevance"> tags relevance, a number between 0 and 1 </param>
		/// <returns> </returns>
		public Tag AddTag(string tag, int collectionId, int textId, TagCategoryType? category = null, decimal? relevance = null)
		{
			var reqObj = new RequestBase<AddTagRequest>
			             {
			             	Method = "text.addTag",
			             	Parameters = new AddTagRequest
			             	             {
			             	             	Category = category,
			             	             	CollectionID = collectionId,
			             	             	ExternalTextID = null,
			             	             	Relevance = relevance,
			             	             	Tag = tag,
			             	             	TextID = textId
			             	             }
			             };

			return CallSaploApi<Tag>(reqObj);
		}
示例#2
0
		/// <summary>
		///   Add tag to text entity.
		/// </summary>
		/// <param name="tag"> the tag string </param>
		/// <param name="collectionId"> id of collection </param>
		/// <param name="textId"> id of text entity </param>
		/// <param name="category"> category for tag </param>
		/// <param name="relevance"> tags relevance, a number between 0 and 1 </param>
		/// <param name="taskId"> unqiue identifier for this operation </param>
		/// <returns> </returns>
		public void AddTagAsync(string tag, int collectionId, int textId, TagCategoryType? category, decimal? relevance, Guid taskId)
		{
			var asyncOp = CreateOperationFromTaskId(taskId);

			new Action<string, int, int, TagCategoryType?, decimal?, AsyncOperation>(
				(t, collectionid, textid, cat, rel, operation) =>
				{
					Tag result = null;
					Exception exception = null;
					try
					{
						result = AddTag(t, collectionid, textid, cat, rel);
					}
					catch (Exception ex)
					{
						exception = ex;
					}
					RemoveOperation(operation);
					operation.PostOperationCompleted(state => OnAddTagCompleted(state as TagCompletedEventArgs),
					                                 new TagCompletedEventArgs(result, exception, false, operation.UserSuppliedState));
				}).BeginInvoke(tag, collectionId, textId, category, relevance, asyncOp, null, null);
		}
示例#3
0
		/// <summary>
		///   Updates an text for an text entity. leave any property as null if no modification should be made.
		/// </summary>
		/// <param name="tag"> the tag to update </param>
		/// <param name="collectionId"> id of collection for text entity </param>
		/// <param name="textId"> id of text entity </param>
		/// <param name="newTag"> new name of tag </param>
		/// <param name="newCategory"> new category for tag </param>
		/// <param name="newRelevance"> new relevance </param>
		/// <returns> </returns>
		public Tag UpdateTag(string tag, int collectionId, int textId, string newTag = null, TagCategoryType? newCategory = null, decimal? newRelevance = null)
		{
			var reqObj = new RequestBase<UpdateTagRequest>
			             {
			             	Method = "text.updateTag",
			             	Parameters = new UpdateTagRequest
			             	             {
			             	             	CollectionID = collectionId,
			             	             	OriginalTag = tag,
			             	             	TextID = textId,
			             	             	UpdatedCategory = newCategory,
			             	             	UpdatedTag = newTag,
			             	             	UpdatedRelevance = newRelevance
			             	             }
			             };

			return CallSaploApi<Tag>(reqObj);
		}