예제 #1
0
        public IActionResult GetTranslation(string key, LanguageCode language = LanguageCode.ENG)
        {
            if (string.IsNullOrEmpty(key) || !Enum.IsDefined(language.GetType(), language))
            {
                return(BadRequest());
            }

            var result = _translationHelper.GetTranslation(language, key.ToUpper());

            if (string.IsNullOrEmpty(result))
            {
                return(NotFound());
            }

            return(Ok(result));
        }
예제 #2
0
        public async Task <IActionResult> Update(LanguageCode languageCode, string key, string value)
        {
            try
            {
                if (string.IsNullOrEmpty(key) || string.IsNullOrEmpty(value) || !Enum.IsDefined(languageCode.GetType(), languageCode))
                {
                    return(BadRequest());
                }

                if (!string.IsNullOrEmpty(_translationHelper.GetTranslation(languageCode, key)))
                {
                    return(BadRequest("VALIDATION_TRANSLATIONDOESNTEXISTS"));
                }

                var translation = await _dbContext.TranslationValues.Where(t => t.LanguageCode == languageCode && t.Key == key.ToUpperInvariant()).FirstOrDefaultAsync();

                translation.Value = value;
                await _dbContext.SaveChangesAsync();

                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(ex));
            }
        }
예제 #3
0
        public async Task <IActionResult> Add(LanguageCode languageCode, string key, string value)
        {
            try
            {
                if (string.IsNullOrEmpty(key) || string.IsNullOrEmpty(value) || !Enum.IsDefined(languageCode.GetType(), languageCode))
                {
                    return(BadRequest());
                }

                if (!string.IsNullOrEmpty(_translationHelper.GetTranslation(languageCode, key)))
                {
                    return(BadRequest("VALIDATION_TRANSLATIONALREADYEXISTS"));
                }

                var translation = new TranslationValue
                {
                    Key          = key.ToUpperInvariant(),
                    Value        = value,
                    LanguageCode = languageCode
                };

                await _dbContext.TranslationValues.AddAsync(translation);

                await _dbContext.SaveChangesAsync();

                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(ex));
            }
        }