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.

230 lines
8.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Estsh.Web.Util;
using System.Data;
using Estsh.Web.Dal;
using System.Collections;
using Estsh.Web.Models;
/***************************************************************************************************
*
* 作者:王勇
*
* *************************************************************************************************/
namespace Estsh.Core.Services
{
/// <summary>
/// 菜单业务处理类
/// </summary>
public class NoticeService
{
private NoticeDal dal = new NoticeDal(RemotingProxyProvider._remotingProxy);
/// <summary>
/// 获取菜单列表
/// </summary>
/// <param name="sqlWhere"></param>
/// <param name="orderBy"></param>
/// <returns></returns>
public List<TreeNode> getNoticeList(UserInfo userInfo, String rootPath)
{
DataTable dt = new DataTable();
dt = dal.getListByUser(userInfo.empId);
List<TreeNode> treeNodes = new List<TreeNode>();
TreeNode node;
for (int i = 0; i < dt.Rows.Count; i++)
{
node = new TreeNode();
node.id = dt.Rows[i]["Notice_id"].ToString();
node.name = dt.Rows[i]["name"] != null ? dt.Rows[i]["name"].ToString() : "";
node.parentId = dt.Rows[i]["parent_id"] != null ? dt.Rows[i]["parent_id"].ToString() : "0";
node.icon = dt.Rows[i]["icon_url"] != null ? dt.Rows[i]["icon_url"].ToString() : "";
if (node.parentId.Equals("10"))
{
node.iconSkin = dt.Rows[i]["icon_skin"] != null ? dt.Rows[i]["icon_skin"].ToString() : "";
}
else
{
node.tabUrl = rootPath + (dt.Rows[i]["url"] != null ? dt.Rows[i]["url"].ToString() : "");
}
node.target = "frmright";
treeNodes.Add(node);
}
return treeNodes;
}
/// <summary>
/// 获取首页菜单列表
/// </summary>
/// <param name="userInfo"></param>
/// <returns></returns>
public Hashtable getHomeNoticeList(UserInfo userInfo, string NoticeId)
{
Hashtable result = new Hashtable();
result = dal.getHomeNoticeListByUser(userInfo.empId, NoticeId);
return result;
}
/// <summary>
/// 获取Main页主菜单列表
/// </summary>
/// <param name="userInfo"></param>
/// <returns></returns>
public Hashtable getMainNoticeList(UserInfo userInfo, string NoticeId)
{
DataTable dt = new DataTable();
dt = dal.getMainNoticeListByUser(userInfo.empId, NoticeId);
Hashtable result = new Hashtable();
List<Hashtable> dataList = new List<Hashtable>();
Hashtable node;
for (int i = 0; i < dt.Rows.Count; i++)
{
node = new Hashtable();
node.Add("id", dt.Rows[i]["Notice_id"].ToString());
node.Add("name",dt.Rows[i]["name"] != null ? dt.Rows[i]["name"].ToString() : "");
node.Add("className", dt.Rows[i]["icon_skin"] != null ? dt.Rows[i]["icon_skin"].ToString() : "");
dataList.Add(node);
}
result.Add("list", dataList);
return result;
}
/// <summary>
/// 获取Main页子菜单列表
/// </summary>
/// <param name="userInfo"></param>
/// <returns></returns>
public Hashtable getChildNoticeList(UserInfo userInfo, string NoticeId,string rootPath)
{
DataTable dt = new DataTable();
dt = dal.getMainNoticeListByUser(userInfo.empId, NoticeId);
Hashtable result = new Hashtable();
List<TreeNode> treeNodes = new List<TreeNode>();
TreeNode node;
for (int i = 0; i < dt.Rows.Count; i++)
{
node = new TreeNode();
node.id = dt.Rows[i]["Notice_id"].ToString();
node.name = dt.Rows[i]["name"] != null ? dt.Rows[i]["name"].ToString() : "";
node.parentId = dt.Rows[i]["parent_id"] != null ? dt.Rows[i]["parent_id"].ToString() : "0";
node.icon = dt.Rows[i]["icon_url"] != null ? dt.Rows[i]["icon_url"].ToString() : "";
node.tabUrl = rootPath + (dt.Rows[i]["url"] != null ? dt.Rows[i]["url"].ToString() : "");
node.target = "frmright";
treeNodes.Add(node);
}
result.Add("treeNodes", treeNodes);
return result;
}
/// <summary>
/// 获取非tab的Main页子菜单列表
/// </summary>
/// <param name="userInfo"></param>
/// <returns></returns>
public Hashtable getNoNTabChildNoticeList(UserInfo userInfo, string NoticeId, string rootPath)
{
DataTable dt = new DataTable();
dt = dal.getMainNoticeListByUser(userInfo.empId, NoticeId);
Hashtable result = new Hashtable();
List<TreeNode> treeNodes = new List<TreeNode>();
TreeNode node;
for (int i = 0; i < dt.Rows.Count; i++)
{
node = new TreeNode();
node.id = dt.Rows[i]["Notice_id"].ToString();
node.name = dt.Rows[i]["name"] != null ? dt.Rows[i]["name"].ToString() : "";
node.parentId = dt.Rows[i]["parent_id"] != null ? dt.Rows[i]["parent_id"].ToString() : "0";
node.icon = dt.Rows[i]["icon_url"] != null ? dt.Rows[i]["icon_url"].ToString() : "";
node.url = rootPath + (dt.Rows[i]["url"] != null ? dt.Rows[i]["url"].ToString() : "");
node.target = "frmright";
treeNodes.Add(node);
}
result.Add("treeNodes", treeNodes);
return result;
}
/// <summary>
/// 根据分页条件获取分页数据
/// </summary>
/// <param name="NoticeName"></param>
/// <param name="pager"></param>
/// <param name="direction"></param>
/// <param name="sort"></param>
/// <returns></returns>
public Hashtable getNoticeListByPage(String NoticeName, Pager pager, String direction, String sort, string str)
{
Hashtable result = new Hashtable();
result = dal.getListByPage(pager.pageSize, pager.pageNo, str);
return result;
}
/// <summary>
/// 获取下拉框中的菜单数据
/// </summary>
/// <returns></returns>
public ArrayList getSelectNotice()
{
Hashtable result = new Hashtable();
DataTable dt = dal.getSelectNotice();
return DataTypeConvert.NewObject.DataTableToArrayList(dt);
}
/// <summary>
/// 保存菜单数据
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
public int saveNotice(Hashtable htParams)
{
return dal.saveNotice(htParams);
}
/// <summary>
/// 更新菜单数据
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
public int updateNotice(Hashtable htParams)
{
return dal.updateNotice(htParams);
}
/// <summary>
/// 查看菜单详情
/// </summary>
/// <param name="ruid"></param>
/// <returns></returns>
public ArrayList getNoticeDetail(String CONTENT_NO)
{
DataTable dt = dal.getList(CONTENT_NO);
ArrayList result = DataTypeConvert.NewObject.DataTableToArrayList(dt);
return result;
}
/// <summary>
/// 删除菜单
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
public int deleteNotice(String ids)
{
String[] idArray = ids.Split(',');
int count = 0;
foreach (String id in idArray)
{
if (!"".Equals(id))
{
count += this.dal.deleteNotice(id);
}
}
return count;
}
}
}