gyhlw_dotnet/网站项目/DataService/BLL/ZHC/zhc_menu_tree.cs

253 lines
7.7 KiB
C#

/** 版本信息模板在安装目录下,可自行修改。
* zhc_menu_tree.cs
*
* 功 能: N/A
* 类 名: zhc_menu_tree
*
* Ver 变更日期 负责人 变更内容
* ───────────────────────────────────
* V0.01 2021/4/20 11:18:49 N/A 初版
*
* Copyright (c) 2012 Maticsoft Corporation. All rights reserved.
*┌──────────────────────────────────┐
*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
*│ 版权所有:动软卓越(北京)科技有限公司              │
*└──────────────────────────────────┘
*/
using System;
using System.Data;
using System.Collections.Generic;
using Maticsoft.Common;
using DataService.Model;
using System.Text;
namespace DataService.BLL
{
/// <summary>
/// zhc_menu_tree
/// </summary>
public partial class zhc_menu_tree
{
private readonly DataService.DAL.zhc_menu_tree dal = new DataService.DAL.zhc_menu_tree();
public zhc_menu_tree()
{ }
#region BasicMethod
/// <summary>
/// 是否存在该记录
/// </summary>
public bool Exists(string id)
{
return dal.Exists(id);
}
/// <summary>
/// 增加一条数据
/// </summary>
public bool Add(DataService.Model.zhc_menu_tree model)
{
return dal.Add(model);
}
/// <summary>
/// 更新一条数据
/// </summary>
public bool Update(DataService.Model.zhc_menu_tree model)
{
return dal.Update(model);
}
/// <summary>
/// 删除一条数据
/// </summary>
public bool Delete(string id)
{
return dal.Delete(id);
}
/// <summary>
/// 删除一条数据
/// </summary>
public bool DeleteList(string idlist)
{
return dal.DeleteList(idlist);
}
/// <summary>
/// 得到一个对象实体
/// </summary>
public DataService.Model.zhc_menu_tree GetModel(string id)
{
return dal.GetModel(id);
}
/// <summary>
/// 得到一个对象实体,从缓存中
/// </summary>
public DataService.Model.zhc_menu_tree GetModelByCache(string id)
{
string CacheKey = "zhc_menu_treeModel-" + id;
object objModel = Maticsoft.Common.DataCache.GetCache(CacheKey);
if (objModel == null)
{
try
{
objModel = dal.GetModel(id);
if (objModel != null)
{
int ModelCache = Maticsoft.Common.ConfigHelper.GetConfigInt("ModelCache");
Maticsoft.Common.DataCache.SetCache(CacheKey, objModel, DateTime.Now.AddMinutes(ModelCache), TimeSpan.Zero);
}
}
catch { }
}
return (DataService.Model.zhc_menu_tree)objModel;
}
/// <summary>
/// 获得数据列表
/// </summary>
public DataSet GetList(string strWhere)
{
return dal.GetList(strWhere);
}
/// <summary>
/// 获得数据列表
/// </summary>
public List<DataService.Model.zhc_menu_tree> GetModelList(string strWhere)
{
DataSet ds = dal.GetList(strWhere);
return DataTableToList(ds.Tables[0]);
}
/// <summary>
/// 获得数据列表
/// </summary>
public List<DataService.Model.zhc_menu_tree> DataTableToList(DataTable dt)
{
List<DataService.Model.zhc_menu_tree> modelList = new List<DataService.Model.zhc_menu_tree>();
int rowsCount = dt.Rows.Count;
if (rowsCount > 0)
{
DataService.Model.zhc_menu_tree model;
for (int n = 0; n < rowsCount; n++)
{
model = dal.DataRowToModel(dt.Rows[n]);
if (model != null)
{
modelList.Add(model);
}
}
}
return modelList;
}
/// <summary>
/// 获得数据列表
/// </summary>
public DataSet GetAllList()
{
return GetList("");
}
/// <summary>
/// 分页获取数据列表
/// </summary>
public int GetRecordCount(string strWhere)
{
return dal.GetRecordCount(strWhere);
}
/// <summary>
/// 分页获取数据列表
/// </summary>
public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)
{
return dal.GetListByPage(strWhere, orderby, startIndex, endIndex);
}
/// <summary>
/// 分页获取数据列表
/// </summary>
//public DataSet GetList(int PageSize,int PageIndex,string strWhere)
//{
//return dal.GetList(PageSize,PageIndex,strWhere);
//}
#endregion BasicMethod
#region ExtensionMethod
/// <summary>
/// 获取新记录id
/// </summary>
public string GetNewId()
{
return dal.GetNewId();
}
/// <summary>
/// 根据父节点id,获取子节点深度
/// </summary>
public int GetDepth(string parent_id)
{
return dal.GetDepth(parent_id);
}
/// <summary>
/// 获得数据列表
/// </summary>
public DataSet GetList(string strSelect, string strWhere)
{
return dal.GetList(strSelect, strWhere);
}
/// <summary>
/// 获取菜单全名
/// var sb = new StringBuilder();
/// bll_menu_tree.GetMenuFullName("10006", sb);
// var value = sb.ToString();
/// </summary>
/// <param name="id">菜单id</param>
/// <param name="sb"></param>
public void GetMenuFullName(string id, StringBuilder sb)
{
dal.GetMenuFullName(id, sb);
}
/// <summary>
/// 修改菜单的全路径名称
/// </summary>
/// <param name="id"></param>
public void UpdateFullName(string id)
{
var model = dal.GetModel(id);
var items = dal.GetList("").Tables[0];
var dic = new Dictionary<string, string>();
for (int i = 0; i < items.Rows.Count; i++)
{
var row = items.Rows[i];
var key = row["id"].ToString();
var name = row["name"].ToString();
dic.Add(key, name);
}
var list = GetModelList(string.Format(" full_id like '{0}%' ", model.full_id + "-"));
list.Add(model);
foreach (var item in list)
{
var menu_id = item.id;
List<string> list_name = new List<string>();
var array = item.full_id.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
if (array.Length > 0)
{
foreach (var sub in array)
{
list_name.Add(dic[sub]);
}
var full_name = string.Join("-", list_name.ToArray());
dal.UpdateMenuFullName(menu_id, full_name);
}
}
}
#endregion ExtensionMethod
}
}