コード例 #1
0
        /// <summary>
        /// Creates the language translation.
        /// </summary>
        /// <param name="translationDetails">The translation details.</param>
        /// <returns></returns>
        public async Task <CSSResponse> CreateLanguageTranslation(CreateLanguageTranslation translationDetails)
        {
            var languageIdDetails = new LanguageIdDetails {
                LanguageId = translationDetails.LanguageId
            };
            var menuIdDetails = new MenuIdDetails {
                MenuId = translationDetails.MenuId
            };
            var variableIdDetails = new VariableIdDetails {
                VariableId = translationDetails.VariableId
            };

            var languageTranslations = await _repository.LanguageTranslation.GetLanguageTranslationByOtherIds(languageIdDetails, menuIdDetails, variableIdDetails);

            if (languageTranslations?.Count > 0)
            {
                return(new CSSResponse($"Translation with language id '{translationDetails.LanguageId}' and " +
                                       $"menu id '{translationDetails.MenuId}' and variable id '{translationDetails.VariableId}' already exists.", HttpStatusCode.Conflict));
            }

            var languageTranslationRequest = _mapper.Map <LanguageTranslation>(translationDetails);

            _repository.LanguageTranslation.CreateLanguageTranslation(languageTranslationRequest);

            await _repository.SaveAsync();

            return(new CSSResponse(new LanguageTranslationIdDetails {
                TranslationId = languageTranslationRequest.Id
            }, HttpStatusCode.Created));
        }
コード例 #2
0
        public async Task <IActionResult> CreateLanguageTranslation([FromBody] CreateLanguageTranslation translationDetails)
        {
            var result = await _languageTranslationService.CreateLanguageTranslation(translationDetails);

            return(StatusCode((int)result.Code, result.Value));
        }