public ValidationResult Validate(TranslationDTO translations) { var error = ""; var count = 1; //no rows if (translations.Translations.Count == 0) { return(new ValidationResult() { IsFailed = true, Error = "Add translations" }); } //duplicate keys var duplicateItems = translations.Translations.GroupBy(x => x.Key).Where(y => y.Count() > 1).SelectMany(z => z); var duplicateKeys = duplicateItems.Select(x => x.Key).Distinct().ToList(); duplicateKeys.ForEach(x => { error += count + ". Remove duplicate key: '" + x + "' \n"; count++; }); var validationResult = new ValidationResult() { IsFailed = error.Length > 0, Error = error }; return(validationResult); }
public async Task <IActionResult> ConfirmTranslation(int id, [FromBody] TranslationDTO translation) { var entity = await dataProvider.ConfirmTranslation(id, translation); return(entity == null?StatusCode(304) as IActionResult : Ok(entity)); }
private async void SaveTranslation_Clicked(object sender, EventArgs e) { var httpService = new HttpService(); var translationsUrl = "complexstrings/" + ComplexStringId + "/translations"; var editedTranslation = new TranslationDTO { Id = Guid.NewGuid(), CreatedOn = DateTime.UtcNow, LanguageId = Translation.LanguageId, TranslationValue = Translation.Translation, UserId = User.Id }; if (string.IsNullOrEmpty(editedTranslation.TranslationValue) || editedTranslation.TranslationValue == "Not translated") { return; } var translationResult = await httpService.PostAsync <TranslationDTO>(translationsUrl, editedTranslation); if (translationResult != null) { Translation.Id = translationResult.Id.ToString(); await DisplayAlert("Result", "Translation saved!", "Ok"); await Navigation.PopAsync(); } }
public override void Write(Utf8JsonWriter writer, Translation value, JsonSerializerOptions options) { var dto = new TranslationDTO { Name = value.Name, Data = value.ToDictionary(p => p.Key, p => (object)p.Value) }; JsonSerializer.Serialize(writer, dto, options); }
private TranslationDTO Resolve(List <String> item) { TranslationDTO result = new TranslationDTO(); result.languageId = int.Parse(item[0]); result.labelCode = item[1]; result.translation = item[2]; return(result); }
public async Task Post([FromBody] TranslationDTO translations) { var validationResult = _translationValidator.Validate(translations); if (validationResult.IsFailed) { throw new Exception(validationResult.Error); } await _translationService.SaveTranslationForCulture(translations.CultureId, translations.Translations); }
public async Task <IActionResult> EditStringTranslation(int id, [FromBody] TranslationDTO translation) { var user = await _currentUser.GetCurrentUserProfile(); translation.UserId = user.Id; var entity = await dataProvider.EditStringTranslation(id, translation); return(entity == null?StatusCode(304) as IActionResult : Ok(entity)); }
public async Task <IActionResult> SetStringTranslation(int id, [FromBody] TranslationDTO translation) { if (!ModelState.IsValid) { return(BadRequest()); } var user = await _currentUser.GetCurrentUserProfile(); translation.UserId = user.Id; var entity = await dataProvider.SetStringTranslation(id, translation); return(entity == null?StatusCode(304) as IActionResult : Ok(entity)); }
public TranslationBM(TranslationDTO translationDto) { this.languageId = translationDto.languageId; this.labelCode = translationDto.labelCode; this.translation = translationDto.translation; }