Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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
                    });
                }
            }
        }