Ejemplo n.º 1
0
        public ActionResult SysConfigEdit(SysConfigModel model)
        {
            var       result = new JsonModel();
            var       opType = OperationType.Update;
            SysConfig config = null;

            if (model.Id == 0)
            {
                config = new SysConfig();
                opType = OperationType.Insert;
            }
            else
            {
                config = SysConfigRepository.Get(model.Id);
                if (config == null)
                {
                    result.msg = "记录不存在!";
                    return(Json(result));
                }
            }
            Mapper.Map(model, config);
            switch (config.ConfigType)
            {
            case SysConfigType.String:
                config.ConValue = JsonConvert.SerializeObject(model.StringValue);
                break;

            case SysConfigType.Bool:
                config.ConValue = JsonConvert.SerializeObject(model.BoolValue);
                break;

            case SysConfigType.TextArea:
                config.ConValue = JsonConvert.SerializeObject(model.TextAreaValue);
                break;

            case SysConfigType.Int:
                config.ConValue = JsonConvert.SerializeObject(model.IntValue);
                break;

            case SysConfigType.Long:
                config.ConValue = JsonConvert.SerializeObject(model.LongValue);
                break;

            case SysConfigType.StringArray:
                config.ConValue = JsonConvert.SerializeObject(model.StringArrayValue.Split(','));
                break;

            default:
                break;
            }
            SysConfigRepository.Save(config);
            LogRepository.Insert(TableSource.SysConfig, opType, config.Id);
            result.code = JsonModelCode.Succ;
            result.msg  = "保存成功!";
            return(Json(result));
        }
Ejemplo n.º 2
0
        public ActionResult SysConfigEdit(long id, string reUrl)
        {
            ViewBag.ReUrl = reUrl ?? Url.Action("SysConfigList");
            var model = new SysConfigModel();

            if (id == 0)
            {
                return(View(model));
            }
            var config = SysConfigRepository.Get(id);

            if (config == null)
            {
                ShowErrorMsg();
                return(Redirect(ViewBag.ReUrl));
            }
            Mapper.Map(config, model);
            switch (model.ConfigType)
            {
            case SysConfigType.String:
                model.StringValue = JsonConvert.DeserializeObject <string>(model.ConValue);
                break;

            case SysConfigType.Bool:
                model.BoolValue = JsonConvert.DeserializeObject <bool>(model.ConValue);
                break;

            case SysConfigType.TextArea:
                model.TextAreaValue = JsonConvert.DeserializeObject <string>(model.ConValue);
                break;

            case SysConfigType.Int:
                model.IntValue = JsonConvert.DeserializeObject <int>(model.ConValue);
                break;

            case SysConfigType.Long:
                model.LongValue = JsonConvert.DeserializeObject <long>(model.ConValue);
                break;

            case SysConfigType.StringArray:
                model.StringArrayValue = string.Join(",", JsonConvert.DeserializeObject <string[]>(model.ConValue));
                break;

            default:
                break;
            }
            return(View(model));
        }
 /// <summary>
 /// 解析配置
 /// </summary>
 /// <typeparam name="TConfigSection">配置项类型</typeparam>
 /// <param name="CreateCacheFun">如果缓存不存在则通过此委托创建</param>
 /// <returns></returns>
 public static TConfigSection Get <TConfigSection>(bool cached = true, string PropNameSurfix = "")
 {
     return(SysConfigRepository.Get <TConfigSection>(cached, PropNameSurfix));
 }