using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using Estsh.Web.Util; using Estsh.Web.Service; using System.Collections; using Estsh.Web.Models; /*************************************************************************************************** * * 作者:王勇 * * *************************************************************************************************/ namespace Estsh.Core.Web.Controllers { /// /// 菜单模块控制类 /// public class NoticeController : Controller { private NoticeService service = new NoticeService(); // // GET: /Notice/ public ActionResult Index() { return View(); } /// /// 加载首页功能菜单 /// /// public ActionResult getHomeNoticeById(string NoticeId) { UserInfo user = (UserInfo)Session["loginedUser"]; Hashtable result = new Hashtable(); result = service.getHomeNoticeList(user,NoticeId); //String json = Estsh.Web.Util.JSON.Encode(result); return Json(result); } /// /// 加载Main页功能主菜单 /// /// public ActionResult getMainNoticeById(string NoticeId) { UserInfo user = (UserInfo)Session["loginedUser"]; Hashtable result = new Hashtable(); result = service.getMainNoticeList(user, NoticeId); //String json = Estsh.Web.Util.JSON.Encode(result); return Json(result); } /// /// 加载Main页功能子菜单 /// /// public ActionResult getChildNoticeById(string NoticeId) { UserInfo user = (UserInfo)Session["loginedUser"]; string path = Request.ApplicationPath; if (path.EndsWith("/")) { path = path.Substring(0, path.Length - 1); } Hashtable result = new Hashtable(); result = service.getChildNoticeList(user, NoticeId,path); return Json(result); } /// /// 加载非Tab的Main页功能子菜单 /// /// public ActionResult getNoNTabChildNoticeById(string NoticeId) { UserInfo user = (UserInfo)Session["loginedUser"]; string path = Request.ApplicationPath; if (path.EndsWith("/")) { path = path.Substring(0, path.Length - 1); } Hashtable result = new Hashtable(); result = service.getNoNTabChildNoticeList(user, NoticeId, path); return Json(result); } /// /// 加载功能树 /// /// public ActionResult getNoticeTree() { UserInfo user = (UserInfo)Session["loginedUser"]; string path = Request.ApplicationPath; if (path.EndsWith("/")) { path = path.Substring(0, path.Length - 1); } List treeNodes = new List(); treeNodes = service.getNoticeList(user, path); Hashtable result = new Hashtable(); result.Add("treeNodes", treeNodes); String json = Estsh.Web.Util.JSON.Encode(result); return Json(result, JsonRequestBehavior.AllowGet); } /// /// 获取菜单管理列表数据 /// /// 菜单名称 /// 分页 /// 排序方式 /// 排序列 /// public ActionResult getNoticeListByPage(string SUBJECT,string CONTENT_TYPE,string txtStartTime,string txtEndTime,String NoticeName, Pager pager, String direction, String sort) { string str = " 1=1 "; if (string.IsNullOrEmpty(CONTENT_TYPE)) { return null; } if (!(string.IsNullOrEmpty(SUBJECT)) && SUBJECT != "null") { str += " and SUBJECT like '%" + SUBJECT + "%'"; } if (!(string.IsNullOrEmpty(CONTENT_TYPE)) && CONTENT_TYPE != "null") { str += " and CONTENT_TYPE=" + CONTENT_TYPE + ""; } if (!(string.IsNullOrEmpty(txtStartTime)) && txtStartTime != "null" && !(string.IsNullOrEmpty(txtEndTime)) && txtEndTime != "null") { str += " and PPUBLISH_TIME BEGIN '" + txtStartTime + "' AND '" + txtEndTime + "' end"; } Hashtable result = new Hashtable(); result.Add("pager.pageNo",pager.pageNo); Hashtable dataHt = this.service.getNoticeListByPage(NoticeName, pager, direction, sort, str); result.Add("rows", dataHt["dataList"]); result.Add("pager.totalRows", dataHt["totalCount"]); result.Add("sort",sort); result.Add("direction", direction); return Json(result); } /// /// 获取父节点菜单下拉列表数据 /// /// public ActionResult getSelectNotice() { Hashtable result = new Hashtable(); ArrayList NoticeList = this.service.getSelectNotice(); result.Add("list", NoticeList); return Json(result, JsonRequestBehavior.AllowGet); } /// /// 保存菜单数据 /// /// public ActionResult saveNotice() { String editType = Request["editType"].ToString(); String SUBJECT = Request["SUBJECT"].ToString(); String EXPIRE_DATE = Request["EXPIRE_DATE"].ToString(); String CONTENT_TYPE = Request["CONTENT_TYPE"].ToString(); String BODY = Request["BODY"].ToString(); Hashtable htParams = new Hashtable(); htParams.Add("@SUBJECT", SUBJECT); htParams.Add("@EXPIRE_DATE", EXPIRE_DATE); htParams.Add("@CONTENT_TYPE", CONTENT_TYPE); htParams.Add("@BODY", BODY); UserInfo loginUser = (UserInfo)Session["loginedUser"]; String message = ""; String flag = ""; if (editType != null && editType.Trim().Equals("edit")) { try { htParams.Add("@update_userid", loginUser.empId); //htParams.Add("@Notice_id", Notice_id); this.service.updateNotice(htParams); message = "修改成功"; flag = "OK"; } catch (Exception e) { message = "修改失败!"; flag = "Fail"; } } else { try { htParams.Add("@create_userid", loginUser.empId); this.service.saveNotice(htParams); message = "添加成功"; flag = "OK"; } catch (Exception e) { message = "添加失败!"; flag = "Fail"; } } Hashtable result = new Hashtable(); result.Add("message", message); result.Add("flag", flag); return Json(result) ; } /// /// 查看菜单详情 /// /// /// public ActionResult getNoticeDetail(String Notice_id) { ArrayList NoticeInfo = this.service.getNoticeDetail(Notice_id); Hashtable htNoticeInfo = (Hashtable)NoticeInfo[0]; ViewData.Add("Notice_id", htNoticeInfo["Notice_id"]); ViewData.Add("name", htNoticeInfo["name"]); ViewData.Add("description", htNoticeInfo["description"]); ViewData.Add("url", htNoticeInfo["url"]); ViewData.Add("parent_id", htNoticeInfo["parent_id"]); ViewData.Add("icon_url", htNoticeInfo["icon_url"]); ViewData.Add("icon_open_url", htNoticeInfo["icon_open_url"]); ViewData.Add("icon_close_url", htNoticeInfo["icon_close_url"]); ViewData.Add("icon_skin", htNoticeInfo["icon_skin"]); ViewData.Add("enabled", htNoticeInfo["enabled"]); ViewData.Add("sort_num", htNoticeInfo["sort_num"]); return View("~/Views/NoticeManage/viewNotice.aspx"); } /// /// 编辑菜单 /// /// /// public ActionResult editNotice(String CONTENT_NO) { ArrayList NoticeInfo = this.service.getNoticeDetail(CONTENT_NO); Hashtable htNoticeInfo = (Hashtable)NoticeInfo[0]; ViewData.Add("SUBJECT", htNoticeInfo["SUBJECT"]); ViewData.Add("EXPIRE_DATE", htNoticeInfo["EXPIRE_DATE"]); ViewData.Add("CONTENT_TYPE", htNoticeInfo["CONTENT_TYPE"]); ViewData.Add("BODY", htNoticeInfo["BODY"]); return View("~/Views/Sweb/Notice/editNotice.aspx"); } /// /// 编辑菜单 /// /// /// public ActionResult viewSeeNotice(String CONTENT_NO) { ArrayList NoticeInfo = this.service.getNoticeDetail(CONTENT_NO); Hashtable htNoticeInfo = (Hashtable)NoticeInfo[0]; ViewData.Add("SUBJECT", htNoticeInfo["SUBJECT"]); ViewData.Add("EXPIRE_DATE", htNoticeInfo["EXPIRE_DATE"]); ViewData.Add("CONTENT_TYPE", htNoticeInfo["CONTENT_TYPE"]); ViewData.Add("BODY", htNoticeInfo["BODY"]); return View("~/Views/Sweb/SeeNotice/viewSeeNotice.aspx"); } /// /// 删除菜单 /// /// /// public ActionResult deleteNotice(String ids) { int delCount = 0; try { delCount = this.service.deleteNotice(ids); } catch(Exception e) { delCount = -1; } Hashtable result = new Hashtable(); result.Add("status", delCount); return Json(result); } /// /// 获取小尺寸工具栏 /// /// public ActionResult getMinToolbar() { ArrayList result = new ArrayList(); try { String path = Request.ApplicationPath; if (path.EndsWith("/")) { path = path.Substring(0, path.Length - 1); } string url = Request.UrlReferrer.AbsolutePath; url = url.Substring(url.LastIndexOf(path) + path.Length); if (Request.UrlReferrer.AbsoluteUri.Split('?').Length > 1) { url = url + "?" + Request.UrlReferrer.AbsoluteUri.Split('?')[1]; } UserInfo user = (UserInfo)Session["loginedUser"]; string opType = Request["opType"]; if (user != null) { result.Add(CommonService.getMinToolbar(user, url, opType)); } } catch (Exception e) { result.Add(e.Message); } return Json(result); } } }