public IActionResult Post([FromBody] TagsExportWordsSettings settings) { //NGRAM COUNT LIST VALIDATION var nGramCount = globalStore.DataSets.Get(DataSetName).DataSet.NGramCount; var nGramResult = CommonValidators.ValidateNGramList(settings.NGramList, nGramCount); if (nGramResult.IsFailure) { return(HttpErrorResult(StatusCodes.Status400BadRequest, nGramResult.Error)); } //TAGS VALIDATION List <TagElastic> tags; if (settings.TagIdList == null) { tags = tagService.GetTagElasticLeafs(DataSetName); } else { tags = tagService.GetTagElastic(DataSetName, settings.TagIdList); if (tags.Count < settings.TagIdList.Count) { var missingTagIds = settings.TagIdList.Except(tags.Select(t => t.Id)).ToList(); return(HttpErrorResult(StatusCodes.Status400BadRequest, string.Format(ServiceResources.TheFollowingTagIdsNotExistInTheDataSet_0, string.Join(", ", missingTagIds)))); } } var process = tagService.ExportWords(DataSetName, settings, tags); return(HttpObjectResult(StatusCodes.Status202Accepted, process)); }
public Process ExportWords(string dataSetName, TagsExportWordsSettings settings, List <TagElastic> tags) { var process = processHandler.Create( ProcessTypeEnum.TagsExportWords, dataSetName, settings, string.Format(TagResources.ExportingWordsFrom_0_TagOfDataset_1, tags.Count, dataSetName)); processHandler.Start(process, (tokenSource) => tagsHandler.ExportWords(process.Id, dataSetName, settings.TagIdList, settings.NGramList, tokenSource.Token, urlProvider.GetHostUrl())); return(process.ToProcessModel()); }
public async Task <ClientResponseWithObject <Process> > WordsExportAsync(TagsExportWordsSettings settings) { var client = new ApiClient(_configuration, WordsExportEndpoint); return(await client.SendAsync <Process>(System.Net.Http.HttpMethod.Post, settings, null, null, Headers, true)); }
public Task <ClientResponseWithObject <Process> > WordsExportAsync(TagsExportWordsSettings settings) { throw new NotImplementedException(); }