/// <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())); } }
/// <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())); } }
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)); }