public async Task<JsonResult<ResponseViewModel<JObject>>> PostLanguageTranslation(TranslateLanguageModel languageModel) { var result = ServiceExecutor.ExecuteAsync( () => _translateService.GetLanguageTranslation( new TranslateLanguageModel(languageModel.CurrentLanguageCode, languageModel.TargetLanguageCode, languageModel.ContentForTranslation))); return Json(await result); }
public async Task<string[]> GetAllLanguageKeysTranslations(TranslateLanguageModel languageModel) { var baseRequestParameters = $"{BaseAdress}{Translate}{ApiKey}{"&lang="}{languageModel.CurrentLanguageCode}{"-"}{languageModel.TargetLanguageCode}"; var valuesForTranslate = new StringBuilder(); languageModel.ContentForTranslation.ToList().ForEach(x => { valuesForTranslate.Append("&text="); valuesForTranslate.Append(x); }); //w przyszłości to nie będzie działało ... i bede musial to robic po trochu ... obecnie mam około 7k + znaków ... if (valuesForTranslate.ToString().Count() > 10000) throw new Exception(ThrowMessage.TooLongRequest.ToString()); var resultRequest = await _webClient.GetStringAsync($"{baseRequestParameters}{valuesForTranslate}").ConfigureAwait(false); YandexResponse result = JsonConvert.DeserializeObject<YandexResponse>(resultRequest); return result.Text.ToArray(); }
public async Task<JObject> GetLanguageTranslation(TranslateLanguageModel languageModel) { string requestString = $"{BaseAdress}{Translate}{ApiKey}{"&lang="}{languageModel.CurrentLanguageCode}{"-"}{languageModel.TargetLanguageCode}"; var requestContent = new StringBuilder(); languageModel.ContentForTranslation.ToList().ForEach(x => { requestContent.Append("&text="); requestContent.Append(x); }); var result = await _webClient.GetStringAsync($"{requestString}{requestContent}"); return JObject.Parse(result); }