コード例 #1
0
        public void AddContentTranslation(string languageCode, string name, string source, string translation)
        {
            if (_brandRepository.ContentTranslations.Any(x => x.Name == name && x.Source == source && x.Language == languageCode))
            {
                return;
            }

            _contentTranslationCommands.CreateContentTranslation(new AddContentTranslationData
            {
                Language      = languageCode,
                ContentName   = name,
                ContentSource = source,
                Translation   = translation
            });

            var addedTranslation = _brandRepository.ContentTranslations.First(x => x.Name == name && x.Source == source && x.Language == languageCode);

            _contentTranslationCommands.ActivateContentTranslation(addedTranslation.Id, "Activated when database has been seeded on first application start");
        }
コード例 #2
0
        public IHttpActionResult CreateContentTranslation(AddContentTranslationModel model)
        {
            VerifyPermission(Permissions.Create, Modules.TranslationManager);

            IList <ValidationFailure> validationErrors = null;
            var createTranslationData = Mapper.DynamicMap <AddContentTranslationData>(model);

            foreach (var translationData in model.Translations)
            {
                createTranslationData.Language    = translationData.Language;
                createTranslationData.Translation = translationData.Translation;

                var validationResult = _translationCommands.ValidateThatContentTranslationCanBeAdded(createTranslationData);
                if (!validationResult.IsValid)
                {
                    validationErrors = validationResult.Errors;
                    break;
                }

                _translationCommands.CreateContentTranslation(createTranslationData);
            }

            return(Ok(validationErrors != null ? ValidationExceptionResponse(validationErrors) : new { result = "success" }));
        }