Exemple #1
0
        /// <summary>
        /// add language
        /// </summary>
        /// <param name="lang"></param>
        /// <returns></returns>
        public async Task <RServiceResult <GanjoorLanguage> > AddLanguageAsync(GanjoorLanguage lang)
        {
            lang.Name = lang.Name == null ? lang.Name : lang.Name.Trim();
            lang.Code = lang.Code == null ? lang.Code : lang.Code.Trim();
            if (string.IsNullOrEmpty(lang.Name) || string.IsNullOrEmpty(lang.Code))
            {
                return(new RServiceResult <GanjoorLanguage>(null, "ورود کد و نام زبان اجباری است."));
            }
            if (string.IsNullOrEmpty(lang.NativeName))
            {
                lang.NativeName = lang.Name;
            }
            var existing = await _context.GanjoorLanguages.Where(l => l.Name == lang.Name || l.Code == lang.Code).FirstOrDefaultAsync();

            if (existing != null)
            {
                return(new RServiceResult <GanjoorLanguage>(null, "اطلاعات تکراری است."));
            }
            try
            {
                _context.GanjoorLanguages.Add(lang);
                await _context.SaveChangesAsync();

                return(new RServiceResult <GanjoorLanguage>(lang));
            }
            catch (Exception exp)
            {
                return(new RServiceResult <GanjoorLanguage>(null, exp.ToString()));
            }
        }
Exemple #2
0
        /// <summary>
        /// update an existing language
        /// </summary>
        /// <param name="updated"></param>
        /// <returns></returns>
        public async Task <RServiceResult <bool> > UpdateLangaugeAsync(GanjoorLanguage updated)
        {
            try
            {
                var lang = await _context.GanjoorLanguages.Where(l => l.Id == updated.Id).SingleOrDefaultAsync();

                if (lang == null)
                {
                    return(new RServiceResult <bool>(false, "اطلاعات زبان یافت نشد."));
                }

                lang.Name        = updated.Name;
                lang.RightToLeft = updated.RightToLeft;
                lang.Code        = updated.Code;
                lang.NativeName  = updated.NativeName;
                lang.Description = updated.Description;
                _context.Update(lang);

                await _context.SaveChangesAsync();

                return(new RServiceResult <bool>(true));
            }
            catch (Exception exp)
            {
                return(new RServiceResult <bool>(false, exp.ToString()));
            }
        }
Exemple #3
0
        public async Task <IActionResult> UpdateLangaugeAsync([FromBody] GanjoorLanguage lang)
        {
            if (ReadOnlyMode)
            {
                return(BadRequest("سایت به دلایل فنی مثل انتقال سرور موقتاً در حالت فقط خواندنی قرار دارد. لطفاً ساعاتی دیگر مجدداً تلاش کنید."));
            }
            var res = await _translationService.UpdateLangaugeAsync(lang);

            if (!string.IsNullOrEmpty(res.ExceptionString))
            {
                return(BadRequest(res.ExceptionString));
            }
            return(Ok(res.Result));
        }