public ActionResult AddSystemSetting(SettingViewModel Setting) { try { int languageId = CultureHelper.GetCurrentLanguageId(Request.Cookies["_culture"]); var systemSetting = new SystemSetting { CreatedOn = DateTime.Now, CreatedBy = User.Identity.Name, Status = Setting.Status, DeletedOn = Setting.DeletedOn, }; _db.SystemSettings.Add(systemSetting); _db.SaveChanges(); var systemSettingTran = new SystemSettingTranslation() { Name = Setting.Name, LanguageId = languageId, IsDefault = languageId == CultureHelper.GetDefaultLanguageId(), SettingId = systemSetting.Id, Value = Setting.Value }; _db.SystemSettingTranslations.Add(systemSettingTran); if (!systemSettingTran.IsDefault) { var systemSettingTran1 = new SystemSettingTranslation() { Name = Setting.Name, LanguageId = CultureHelper.GetDefaultLanguageId(), IsDefault = true, SettingId = systemSetting.Id, Value = Setting.Value }; _db.SystemSettingTranslations.Add(systemSettingTran1); } _db.SaveChanges(); return(Json(Setting, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { LogHelper.LogException(User.Identity.Name, ex, "Error while add System Settings"); return(null); } }
public ActionResult EditSystemSetting(SettingViewModel systemSettingViewModel) { try { var systemSetting = _db.SystemSettings.Find(systemSettingViewModel.Id); if (systemSetting != null && systemSetting.Status != (int)GeneralEnums.StatusEnum.Deleted) { systemSetting.Status = systemSettingViewModel.Status; _db.Entry(systemSetting).State = EntityState.Modified; _db.SaveChanges(); var systemSettingTran = _db.SystemSettingTranslations.FirstOrDefault(r => r.LanguageId == systemSettingViewModel.LanguageId && r.SettingId == systemSettingViewModel.Id); if (systemSettingTran != null) { systemSettingTran.Value = systemSettingViewModel.Value; _db.Entry(systemSettingTran).State = EntityState.Modified; } else { var systemTran = new SystemSettingTranslation() { Name = systemSettingViewModel.Name, Value = systemSettingViewModel.Value, LanguageId = systemSettingViewModel.LanguageId, IsDefault = false, SettingId = systemSetting.Id, }; _db.SystemSettingTranslations.Add(systemTran); } _db.SaveChanges(); } return(Json(systemSettingViewModel, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { LogHelper.LogException(User.Identity.Name, ex, "Error While Editing System Settings (Post)"); return(null); } }
public static SettingViewModel GetOrCreate(string name, string defaultValue, int languageId = (int)GeneralEnums.LanguageEnum.Arabic) { using (var db = new CrmSystemEntities()) { var setting = db.SystemSettings.FirstOrDefault(r => r.SystemSettingTranslations.Any(x => x.Name == name && x.LanguageId == languageId) && r.Status == (int)GeneralEnums.StatusEnum.Active) ?? db.SystemSettings.FirstOrDefault(r => r.SystemSettingTranslations.Any(x => x.Name == name && x.IsDefault) && r.Status == (int)GeneralEnums.StatusEnum.Active); if (setting == null) { setting = new SystemSetting { Status = (int)GeneralEnums.StatusEnum.Active, CreatedBy = "System", CreatedOn = DateTime.Now }; db.SystemSettings.Add(setting); db.SaveChanges(); var settingTrans = new SystemSettingTranslation() { LanguageId = languageId, IsDefault = languageId == CultureHelper.GetDefaultLanguageId(), Name = name, Value = defaultValue, SettingId = setting.Id }; db.SystemSettingTranslations.Add(settingTrans); if (!settingTrans.IsDefault) { var settingTrans1 = new SystemSettingTranslation() { LanguageId = CultureHelper.GetDefaultLanguageId(), IsDefault = true, Name = name, Value = defaultValue, SettingId = setting.Id }; db.SystemSettingTranslations.Add(settingTrans1); } db.SaveChanges(); var sysSetting = new SettingViewModel() { Id = setting.Id, Name = settingTrans.Name, Value = settingTrans.Value }; return(sysSetting); } else { return(new SettingViewModel() { Id = setting.Id, Name = setting.SystemSettingTranslations.FirstOrDefault()?.Name, Value = setting.SystemSettingTranslations.FirstOrDefault()?.Value }); } } }