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 读写 /// /// 写入 Json 文件 /// /// 根节点名称 /// 路径 /// 键 /// 值 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 自定义列 操作 /// /// 获取自定义列 /// /// 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 }); } /// /// 配置自定义列 /// /// 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 ? "操作成功" : "操作失败" }); } /// /// 删除自定义列 /// /// /// /// 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 } }