using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace FangYar.WebUI.ashx { /// /// SysAreaHandler 的摘要说明 /// public class SysAreaHandler : IHttpHandler { private FangYar.BLL.TBL.SysAreaBLL bll = new BLL.TBL.SysAreaBLL(); private FangYar.BLL.ToTree_BLL blltree = new BLL.ToTree_BLL(); public void ProcessRequest(HttpContext context) { // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Other, "行政区域操作请求", ""); context.Response.ContentType = "text/json"; string action = context.Request.Params["Action"]; string returnstr = ""; switch (action) { case "List": returnstr = GetModelList(context); break; case "Add": returnstr = AddModel(context); break; case "Edit": returnstr = EditModel(context); break; case "Del": returnstr = DelModel(context); break; case "AreaTree": returnstr = GetAreaTree(context); break; case "getAreaName": returnstr = getAreaName(context); break; } context.Response.Write(returnstr); } //查询 private string GetModelList(HttpContext context) { string returnstr = ""; try { string keywords = context.Request.Params["keywords"]; string limit = context.Request.Params["limit"]; string page = context.Request.Params["page"]; int pageIndex = 1; int pageSize = 10; if (!string.IsNullOrEmpty(limit)) { pageIndex = int.Parse(page); } if (!string.IsNullOrEmpty(limit)) { pageSize = int.Parse(limit); } string where = null; if (!string.IsNullOrEmpty(keywords)) { where = "AREA_CODE like '" + keywords + "' or AREA_NAME like '" + keywords + "' "; } returnstr = "{\"code\":0,\"msg\":\"\","; int count = bll.Count(where); returnstr += "\"count\":" + count + ",\"data\":"; if (count == 0) { returnstr += "[]"; } else { List list = bll.QueryList(pageIndex, pageSize, where, null); returnstr += FangYar.Common.JsonHelper.ToJson(list); } returnstr += "}"; } catch (Exception e) { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "行政区域操作请求", "查询异常:" + e); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "行政区域操作请求", "查询"); return returnstr; } //添加 private string AddModel(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string areaCode = context.Request.Params["areaCode"]; string areaName = context.Request.Params["areaName"]; string areaLev = context.Request.Params["areaLev"]; string PID = context.Request.Params["PID"]; if (string.IsNullOrEmpty(areaCode)) { msg = "编号不能为空!"; } else if (string.IsNullOrEmpty(areaName)) { msg = "名称不能为空!"; } else { FangYar.Model.TBL.TBL_SYS_AREA_Model model = new Model.TBL.TBL_SYS_AREA_Model(); model.ID = Guid.NewGuid().ToString("N"); model.AREA_CODE = areaCode; model.AREA_NAME = areaName; model.AREA_LEVEL = areaLev; model.PID = PID; if (bll.Add(model)) { msg = "添加成功!"; code = 1; } else { msg = "添加失败!"; } } } catch (Exception e) { msg = "添加失败!"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "行政区域操作请求", "添加异常:" + e); } returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\"}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Add, "行政区域操作请求", "添加"); return returnstr; } //修改 private string EditModel(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string ID = context.Request.Params["ID"]; string areaCode = context.Request.Params["areaCode"]; string areaName = context.Request.Params["areaName"]; string areaLev = context.Request.Params["areaLev"]; string PID = context.Request.Params["PID"]; if (string.IsNullOrEmpty(areaCode)) { msg = "编号不能为空!"; } else if (string.IsNullOrEmpty(areaName)) { msg = "名称不能为空!"; } else { FangYar.Model.TBL.TBL_SYS_AREA_Model model = bll.GetModelByID(ID); if (model == null) { msg = "记录不存在!"; } else { model.AREA_CODE = areaCode; model.AREA_NAME = areaName; model.AREA_LEVEL = areaLev; model.PID = PID; if (bll.Edit(model)) { msg = "修改成功!"; code = 1; } else { msg = "修改失败!"; } } } } catch (Exception e) { msg = "修改失败!"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "行政区域操作请求", "修改异常:" + e); } returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\"}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Update, "行政区域操作请求", "修改"); return returnstr; } //删除 private string DelModel(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string UIDList = context.Request.Params["UIDList"]; UIDList = UIDList.Replace(",", "','"); if (bll.Delete(UIDList)) { msg = "删除成功!"; code = 1; } else { msg = "删除失败!"; } } catch (Exception e) { msg = "删除失败!"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "行政区域操作请求", "删除异常:" + e); } returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\"}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Delete, "行政区域操作请求", "删除"); return returnstr; } //区域树 private string GetAreaTree(HttpContext context) { string returnstr = ""; try { string treeid = context.Request.Params["pid"]; string where = null; if (!string.IsNullOrEmpty(treeid)) { where = " AREA_CODE = " + treeid; } List list = new List(); list = blltree.GetTree("AREA_CODE", "PID", "AREA_NAME", "TBL_SYS_AREA", where, list); returnstr = "{\"data\":"; if (list.Count == 0) { returnstr += "[]"; } else { returnstr += FangYar.Common.JsonHelper.ToJson(list); } returnstr += "}"; } catch (Exception e) { returnstr = "{\"data\":[]}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "行政区域操作请求", "区域树异常:" + e); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "行政区域操作请求", "区域树"); return returnstr; } //根据区域码 private string getAreaName(HttpContext context) { string returnstr = ""; try { string AreaCode = context.Request.Params["AreaID"]; int count = bll.Count("AREA_CODE ='" + AreaCode + "'"); if (count > 0) { returnstr = "{\"code\":1,\"data\":"; FangYar.Model.TBL.TBL_SYS_AREA_Model model = bll.GetModelByID(AreaCode); returnstr += FangYar.Common.JsonHelper.ToJson(model); returnstr += "}"; } else { returnstr = "{\"code\":0,\"data\":[]}"; } } catch (Exception e) { returnstr = "{\"code\":0,\"data\":[]}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "行政区域操作请求", "根据区域码异常:" + e); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "行政区域操作请求", "根据区域码"); return returnstr; } public bool IsReusable { get { return false; } } } }