public async Task <TranslateRequestResult> Translate(TranslateQueryDto translateData) { var translator = TranslationFactory.GetProvider(GetLogger(), GetLanguage(translateData.SourceLanguage), GetLanguage(translateData.TargetLanguage), translateData.Original, translateData.Provider); var result = await translator.Request(); result.IsExisting = (await _unitOfWork.Repository <Word>().GetFilteredAsync(w => w.Text == translateData.Original)).Any(); return(result); }
public async Task <IActionResult> Translate([FromBody] TranslateQueryDto translateQueryDto) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { var result = await _translationService.Translate(translateQueryDto); if (result == null) { return(BadRequest("There is no translation.")); } var mappedResult = _mapper.Map <TranslateResultDto>(result); return(Json(mappedResult)); } catch (Exception e) { return(BadRequest()); } }