Files
Web_CRICS_Server_VS2010_Prod/WebSite/Controllers/SysSettingController.cs

129 lines
6.1 KiB
C#
Raw Normal View History

2025-12-11 09:17:16 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Domain;
using Service;
namespace WebSite.Controllers
{
public class SysSettingController : BaseController
{
private const int AUTHORITY_SysSetting = 52;
public ISysSettingManager SysSettingManager { get; set; }
#region Action
public ActionResult Index()
{
return View("SimonIndex");
}
[Authorize]
public ActionResult Save(string jsonData)
{
try
{
IDictionary<string, string> settings = Newtonsoft.Json.JsonConvert.DeserializeObject<IDictionary<string, string>>(jsonData);
foreach (var kv in settings)
{
SysSettingManager.SetValue(kv.Key, kv.Value);
}
SaveSystemLog(AUTHORITY_SysSetting, HttpContext.InnerLanguage("EditSystemSetting"), "");
return Json(new { IsSuccess = true, Message = HttpContext.InnerLanguage("SaveSuccess") });
}
catch (Exception ex)
{
SaveSystemLog(AUTHORITY_SysSetting, HttpContext.InnerLanguage("EditSystemSetting"), ex.Message);
return Json(new { IsSuccess = true, Message = HttpContext.InnerLanguage("SaveFailed") });
}
}
[Authorize]
public ActionResult LoadAll()
{
var list = SysSettingManager.LoadAll().Where(r => r.AllowEdit);
IList<object> result = new List<object>();
foreach (var setting in list)
{
switch ((int)Session["isCN"])
{
case 1:
{
if (setting.ERemark == "Address")
{
result.Add(new { id = setting.ID, name = setting.Name, remark = setting.ERemark, value = setting.Value, group = setting.EType, editor = new { type = "validatebox", options = new { required = true, validType = "ip" } } });
}
else if (setting.ERemark == "Port")
{
result.Add(new { id = setting.ID, name = setting.Name, remark = setting.ERemark, value = setting.Value, group = setting.EType, editor = new { type = "numberbox", options = new { required = true, min = 1, max = 65535 } } });
}
else if (setting.ERemark == "Synchronization Time")
{
result.Add(new { id = setting.ID, name = setting.Name, remark = setting.ERemark, value = setting.Value, group = setting.EType, editor = new { type = "timespinner", options = new { required = true } } });
}
else
{
result.Add(new { id = setting.ID, name = setting.Name, remark = setting.ERemark, value = setting.Value, group = setting.EType, editor = "text" });
}
}
break;
case 2:
{
if (setting.Remark == "地址")
{
result.Add(new { id = setting.ID, name = setting.Name, remark = setting.Remark, value = setting.Value, group = setting.Type, editor = new { type = "validatebox", options = new { required = true, validType = "ip" } } });
}
else if (setting.Remark == "端口")
{
result.Add(new { id = setting.ID, name = setting.Name, remark = setting.Remark, value = setting.Value, group = setting.Type, editor = new { type = "numberbox", options = new { required = true, min = 1, max = 65535 } } });
}
else if (setting.Remark == "同步時間")
{
result.Add(new { id = setting.ID, name = setting.Name, remark = setting.Remark, value = setting.Value, group = setting.Type, editor = new { type = "timespinner", options = new { required = true } } });
}
else
{
result.Add(new { id = setting.ID, name = setting.Name, remark = setting.Remark, value = setting.Value, group = setting.Type, editor = "text" });
}
}
break;
default:
{
if (setting.Remark == "地址")
{
result.Add(new { id = setting.ID, name = setting.Name, remark = setting.Remark, value = setting.Value, group = setting.Type, editor = new { type = "validatebox", options = new { required = true, validType = "ip" } } });
}
else if (setting.Remark == "端口")
{
result.Add(new { id = setting.ID, name = setting.Name, remark = setting.Remark, value = setting.Value, group = setting.Type, editor = new { type = "numberbox", options = new { required = true, min = 1, max = 65535 } } });
}
else if (setting.Remark == "同步时间")
{
result.Add(new { id = setting.ID, name = setting.Name, remark = setting.Remark, value = setting.Value, group = setting.Type, editor = new { type = "timespinner", options = new { required = true } } });
}
else
{
result.Add(new { id = setting.ID, name = setting.Name, remark = setting.Remark, value = setting.Value, group = setting.Type, editor = "text" });
}
}
break;
}
}
return Json(new { total = result.Count, rows = result });
}
#endregion
}
}