You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

120 lines
4.3 KiB
C#

using System;
using System.Data;
using System.Linq;
using System.Text;
using System.Web.Mvc;
using DSWeb.SoftMng.BLL;
using DSWeb.SoftMng.Model;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
// ReSharper disable once CheckNamespace
namespace DSWeb.SoftMng.Controllers
{
public class JsonHandlerController : Controller
{
#region Json 读写
/// <summary>
/// 写入 Json 文件
/// </summary>
/// <param name="name">根节点名称</param>
/// <param name="path">路径</param>
/// <param name="key">键</param>
/// <param name="value">值</param>
public void WriteJson(string name,string path,string key, string value)
{
//获取物理路径
path = Server.MapPath(path);
//判断文件是否存在
if (System.IO.File.Exists(path))
{
string jsonString = System.IO.File.ReadAllText(path, Encoding.Default);//读取 Json 文件
JObject jo = JObject.Parse(jsonString);//解析 Json 文件
//JObject json = new JObject()
//{
// ["Key"] = key,
// ["Value"] = value
//};
// jo[name][0].AddAfterSelf(json);
System.IO.File.WriteAllText(path, Convert.ToString(jo));//将内容写进jon文件中
}
else
{
throw new Exception("文件不存在");
}
}
#endregion
#region 自定义列 操作
/// <summary>
/// 获取自定义列
/// </summary>
/// <returns></returns>
public JsonResult GetCustomHead(string nodeName, string userCode)
{
sys_CustomColumnsConfigBLL bll = new sys_CustomColumnsConfigBLL();
StringBuilder where = new StringBuilder();
where.Append(string.Format(" NodeName = '{0}' AND UserCode = '{1}'", nodeName, userCode));
var model = bll.GetModelList(where.ToString()).FirstOrDefault();
return model != null ? Json(new { data = model.UserConfig, exist = true }) : Json(new { exist = false });
}
/// <summary>
/// 配置自定义列
/// </summary>
/// <returns></returns>
public JsonResult SetCustomHead(sys_CustomColumnsConfig model)
{
bool result;
sys_CustomColumnsConfigBLL bll = new sys_CustomColumnsConfigBLL();
StringBuilder where = new StringBuilder();
where.Append(string.Format(" NodeName = '{0}' AND UserCode = '{1}'", model.NodeName, model.UserCode));
var list = bll.GetModelList(where.ToString());
if (list.Count == 0)
{
model.GId = Guid.NewGuid().ToString();
result = bll.Add(model) > 0;
}
else
{
model.GId = list[0].GId;
result = bll.Update(model) > 0;
}
return Json(new { success = result, message = result ? "操作成功" : "操作失败" });
}
/// <summary>
/// 删除自定义列
/// </summary>
/// <param name="nodeName"></param>
/// <param name="userCode"></param>
/// <returns></returns>
public JsonResult DelCustomHead(string nodeName, string userCode)
{
bool result;
sys_CustomColumnsConfigBLL bll = new sys_CustomColumnsConfigBLL();
StringBuilder where = new StringBuilder();
where.Append(string.Format(" NodeName = '{0}' AND UserCode = '{1}'", nodeName, userCode));
result = bll.DeleteListWhere(where.ToString()) > 0;
return Json(new { success = result, message = result ? "操作成功" : "操作失败" });
}
#endregion
#region 即时通讯
[HttpPost]
public JsonResult GetOnlineUser()
{
userBLL bll=new userBLL();
try
{
var list = bll.GetModelList("");
var result = new { state = true, data = list };
return Json(result);
}
catch (Exception e)
{
var result = new { state = false, message = e.Message };
return Json(result);
}
}
#endregion
}
}