基于Oracle的EF操作类
1、EF操作类
using ProjectModel;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Data.Objects;
using System.Data.Entity.Infrastructure;
using System.Data.OracleClient;
using System.Linq;
using System.Web;
using System.Data.OracleClient;
namespace ProjectDbuntity
{
/// <summary>
/// 公共接口
/// </summary>
public class BaseEFDao<T> : IBaseDao<T> where T : class,new() //限制T为class
{
private DbContext GetDbContext()
{
return new ProjectModelEntities();
}
/// <summary>
/// 获取所有Entity
/// </summary>
/// <param name="exp">Lambda条件的where</param>
/// <returns></returns>
public virtual IEnumerable<T> GetEntities(Func<T, bool> exp)
{
using (DbContext Entities = GetDbContext())
{
//AsNoTracking不记录数据变化状况
ObjectContext context = ((IObjectContextAdapter)Entities).ObjectContext;
return context.CreateObjectSet<T>().AsNoTracking().Where(exp).ToList();
}
}
/// <summary>
/// 获取所有Entity(立即执行请使用ToList()
/// </summary>
/// <param name="CommandText">Sql语句</param>
/// <param name="objParams">可变参数</param>
/// <returns></returns>
public virtual IEnumerable<T> GetEntities()
{
using (DbContext Entities = GetDbContext())
{
ObjectContext context = ((IObjectContextAdapter)Entities).ObjectContext;
return context.ExecuteStoreQuery<T>("select * from " + typeof(T).Name).ToList();
}
}
/// <summary>
/// 根据条件查找
/// </summary>
/// <param name="exp">lambda查询条件where</param>
/// <returns></returns>
public virtual T GetEntity(Func<T, bool> exp)
{
using (DbContext Entities = GetDbContext())
{
ObjectContext context = ((IObjectContextAdapter)Entities).ObjectContext;
return context.CreateObjectSet<T>().Where(exp).SingleOrDefault();
}
}
/// <summary>
/// 获取所有Entity(立即执行请使用ToList()
/// </summary>
/// <param name="CommandText">Sql语句</param>
/// <param name="objParams">可变参数</param>
/// <returns></returns>
public virtual IEnumerable<T> GetEntities(string CommandText)
{
using (DbContext Entities = GetDbContext())
{
ObjectContext context = ((IObjectContextAdapter)Entities).ObjectContext;
return context.ExecuteStoreQuery<T>("select * from " + typeof(T).Name + " where " + CommandText).ToList();
}
}
/// <summary>
/// 插入Entity
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public virtual bool Insert(T entity)
{
using (DbContext Entities = GetDbContext())
{
ObjectContext context = ((IObjectContextAdapter)Entities).ObjectContext;
var obj = context.CreateObjectSet<T>();
obj.AddObject(entity);
return Entities.SaveChanges() > 0;
}
}
/// <summary>
/// 同时插入多个实体。
/// </summary>
/// <param name="entities"></param>
/// <returns></returns>
public virtual bool Insert(IEnumerable<T> entities)
{
using (DbContext Entities = GetDbContext())
{
foreach (var entity in entities)
{
ObjectContext context = ((IObjectContextAdapter)Entities).ObjectContext;
var obj = context.CreateObjectSet<T>();
obj.AddObject(entity);
}
return Entities.SaveChanges() > 0;
}
}
/// <summary>
/// 更新Entity(注意这里使用的傻瓜式更新,可能性能略低)
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public virtual bool Update(T entity)
{
using (DbContext Entities = GetDbContext())
{
ObjectContext context = ((IObjectContextAdapter)Entities).ObjectContext;
var obj = context.CreateObjectSet<T>();
obj.Attach(entity);
context.ObjectStateManager.ChangeObjectState(entity, System.Data.EntityState.Modified);
return context.SaveChanges() > 0;
}
}
/// <summary>
/// 删除Entity
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
public virtual bool Delete(T entity)
{
using (DbContext Entities = GetDbContext())
{
ObjectContext context = ((IObjectContextAdapter)Entities).ObjectContext;
var obj = context.CreateObjectSet<T>();
if (entity != null)
{
obj.Attach(entity);
context.ObjectStateManager.ChangeObjectState(entity, System.Data.EntityState.Deleted);
obj.DeleteObject(entity);
return context.SaveChanges() > 0;
}
return false;
}
}
/// <summary>
/// 批量删除Entity
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
public virtual bool Delete(Func<T, bool> exp)
{
using (DbContext Entities = GetDbContext())
{
ObjectContext context = ((IObjectContextAdapter)Entities).ObjectContext;
var q = context.CreateObjectSet<T>().Where(exp);
foreach (var item in q)
{
context.DeleteObject(item);
}
return context.SaveChanges() >= 0;
}
}
/// <summary>
/// 根据条件查找
/// </summary>
/// <param name="CommandText">Sql语句</param>
/// <param name="objParams">可变参数</param>
/// <returns></returns>
public virtual DataTable GetDTByCommand(string CommandText)
{
using (DbContext Entities = GetDbContext())
{
string connectionString = Entities.Database.Connection.ConnectionString;
return SqlQueryForDataTatable(connectionString, CommandText);
}
}
public virtual DataSet GetDSByCommand(string CommandText)
{
using (DbContext Entities = GetDbContext())
{
string connectionString = Entities.Database.Connection.ConnectionString;
return SqlQueryForDataSet(connectionString, CommandText);
}
}
/// <summary>
/// EF SQL 语句返回 dataTable
/// </summary>
/// <param name="db"></param>
/// <param name="sql"></param>
/// <param name="parameters"></param>
/// <returns></returns>
public DataTable SqlQueryForDataTatable(string strCon,
string sql)
{
OracleConnection conn = new System.Data.OracleClient.OracleConnection();
conn.ConnectionString = strCon;
if (conn.State != ConnectionState.Open)
{
conn.Open();
}
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = sql;
OracleDataAdapter adapter = new OracleDataAdapter(cmd);
DataTable table = new DataTable();
adapter.Fill(table);
conn.Close();
return table;
}
public DataSet SqlQueryForDataSet(string strCon, string sql)
{
OracleConnection conn = new System.Data.OracleClient.OracleConnection();
conn.ConnectionString = strCon;
if (conn.State != ConnectionState.Open)
{
conn.Open();
}
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = sql;
OracleDataAdapter adapter = new OracleDataAdapter(cmd);
DataSet ds = new DataSet();
adapter.Fill(ds);
conn.Close();
return ds;
}
//执行SQL语句
public void ExsSql(string sql)
{
using (DbContext Entities = GetDbContext())
{
string connectionString = Entities.Database.Connection.ConnectionString;
OracleConnection conn = new System.Data.OracleClient.OracleConnection();
conn.ConnectionString = connectionString;
if (conn.State != ConnectionState.Open)
{
conn.Open();
}
OracleCommand cmd = new OracleCommand(sql, conn);
cmd.ExecuteNonQuery();
conn.Close();
}
}
public int _ExsSql(string sql)
{
int ret = 0;
using (DbContext Entities = GetDbContext())
{
string connectionString = Entities.Database.Connection.ConnectionString;
OracleConnection conn = new System.Data.OracleClient.OracleConnection();
conn.ConnectionString = connectionString;
if (conn.State != ConnectionState.Open)
{
conn.Open();
}
OracleTransaction tran = conn.BeginTransaction();
try
{
OracleCommand cmd = new OracleCommand(sql, conn);
cmd.Transaction = tran;
ret = cmd.ExecuteNonQuery();
tran.Commit();
conn.Close();
}
catch
{
tran.Rollback();
ret = 0;
}
}
return ret;
}
public object ExsSclarSql(string sql)
{
using (DbContext Entities = GetDbContext())
{
string connectionString = Entities.Database.Connection.ConnectionString;
OracleConnection conn = new System.Data.OracleClient.OracleConnection();
conn.ConnectionString = connectionString;
if (conn.State != ConnectionState.Open)
{
conn.Open();
}
OracleCommand cmd = new OracleCommand(sql, conn);
var result = cmd.ExecuteScalar();
conn.Close();
return result;
}
}
/// <summary>
/// 数据分页
/// </summary>
/// <param name="viewName">表名</param>
/// <param name="fieldName">字段</param>
/// <param name="pageSize">默认20</param>
/// <param name="pageNo">页数</param>
/// <param name="orderString">排序</param>
/// <param name="whereString">可选</param>
/// <param name="recordTotal">总数</param>
/// <returns></returns>
public DataTable GetDataPager(string viewName, string fieldName, int pageSize, int pageNo, string orderString, string whereString, ref int recordTotal)
{
using (DbContext Entities = GetDbContext())
{
DataSet ds = new DataSet();
string connectionString = Entities.Database.Connection.ConnectionString;
OracleConnection conn = new System.Data.OracleClient.OracleConnection();
conn.ConnectionString = connectionString;
if (conn.State != ConnectionState.Open)
{
conn.Open();
}
try
{
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "usp_DataPager";
cmd.CommandType = CommandType.StoredProcedure;
OracleParameter[] paras = new OracleParameter[7];
paras[0] = new OracleParameter("viewName", viewName);
paras[1] = new OracleParameter("fieldName", fieldName);
paras[2] = new OracleParameter("pageSize", pageSize);
paras[3] = new OracleParameter("pageNo", pageNo);
paras[4] = new OracleParameter("orderString", orderString);
if (whereString.Trim() == "")
{
whereString = " 1=1 ";
}
paras[5] = new OracleParameter("whereString", whereString);
paras[5].Size = Int32.MaxValue;
paras[6] = new OracleParameter("recordTotal", recordTotal);
paras[6].Direction = ParameterDirection.Output;
cmd.Parameters.AddRange(paras);
OracleDataAdapter adapter = new OracleDataAdapter(cmd);
adapter.Fill(ds);
recordTotal = Int32.Parse(paras[6].Value == null ? "0" : paras[6].Value.ToString());
return ds.Tables[0];
}
catch (Exception ex)
{
throw ex;
}
finally { conn.Close(); }
}
}
/// <summary>
/// 执行存储过程返回集合数据
/// </summary>
/// <param name="ProName">存储过程名称</param>
/// <param name="sqlPara">存储过程参数</param>
/// <returns></returns>
public DataTable GetProData(string ProName, OracleParameter [] sqlPara)
{
using (DbContext Entities = GetDbContext())
{
DataSet ds = new DataSet();
string connectionString = Entities.Database.Connection.ConnectionString;
OracleConnection conn = new System.Data.OracleClient.OracleConnection();
conn.ConnectionString = connectionString;
if (conn.State != ConnectionState.Open)
{
conn.Open();
}
try
{
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = ProName;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddRange(sqlPara);
OracleDataAdapter adapter = new OracleDataAdapter(cmd);
adapter.Fill(ds);
return ds.Tables[0];
}
catch (Exception ex)
{
throw ex;
}
finally { conn.Close(); }
}
}
}
}
2、IBaseDao.cs类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace ProjectDbuntity
{
public interface IBaseDao<T> where T : class //限制class
{
#region 查询普通实现方案(基于Lambda表达式的Where查询)
/// <summary>
/// 获取所有Entity
/// </summary>
/// <param name="exp">Lambda条件的where</param>
/// <returns></returns>
IEnumerable<T> GetEntities(Func<T, bool> exp);
/// <summary>
/// 根据条件查找
/// </summary>
/// <param name="exp">lambda查询条件where</param>
/// <returns></returns>
T GetEntity(Func<T, bool> exp);
#endregion 查询普通实现方案(基于Lambda表达式的Where查询)
#region 查询Sql语句外接接口的查询实现
/// <summary>
/// 获取所有Entity(立即执行请使用ToList()
/// </summary>
/// <param name="CommandText">Sql语句</param>
/// <param name="objParams">可变参数</param>
/// <returns></returns>
IEnumerable<T> GetEntities(string CommandText);
#endregion 查询Sql语句外接接口的查询实现
/// <summary>
/// 插入Entity
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
bool Insert(T entity);
/// <summary>
/// 更新Entity
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
bool Update(T entity);
/// <summary>
/// 删除Entity
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
bool Delete(T entity);
}
}
3、调用和使用类
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Text;
using ProjectModel;
namespace ProjectDbuntity
{
#region 系统模块
public class JH_auth_userB : BaseEFDao<PATIENTINFO>
{
public string GetUname()
{
return "";
}
}
public class JH_auth_userC : BaseEFDao<CL_RECENTRY>
{
}
public class JH_auth_userD : BaseEFDao<CODE_DEPARTMENT>
{
}
用户表
//public class JH_Auth_UserB : BaseEFDao<JH_Auth_User>
//{
// public class UserInfo
// {
// public JH_Auth_User User;
// public string UserRoleCode;
// public UserInfo(string strUserName)
// {
// User = new JH_Auth_UserB().GetEntity(d => d.UserName == strUserName);
// UserRoleCode = new JH_Auth_UserRoleB().GetRoleCodeByUserName(strUserName);
// }
// }
// public string GetUserRealName(string strUserName)
// {
// return strUserName == "" ? "" : new JH_Auth_UserB().GetEntity(d => d.UserName == strUserName).UserRealName;
// }
// public string GetUserRealNames(string[] arrUserName)
// {
// string strReturn = "";
// foreach (var item in arrUserName)
// {
// strReturn = strReturn + GetUserRealName(item) + ",";
// }
// return strReturn.TrimEnd(',');
// }
// /// <summary>
// /// 获取前端需要的人员选择列表
// /// </summary>
// public string GetUserInfoForJS()
// {
// DataTable dtUsers = new JH_Auth_UserB().GetDTByCommand(" SELECT UserName,UserRealName,BranchCode,JH_Auth_Branch.DeptName FROM JH_Auth_User INNER JOIN dbo.JH_Auth_Branch ON JH_Auth_User.BranchCode=JH_Auth_Branch.DeptCode ");
// //获取选择用户需要的HTML和转化用户名需要的json数据
// string strJsonUsers = "{";
// for (int i = 0; i < dtUsers.Rows.Count; i++)
// {
// strJsonUsers = strJsonUsers + "'" + dtUsers.Rows[i]["UserName"].ToString() + "':'" + dtUsers.Rows[i]["UserRealName"].ToString() + "',";
// }
// strJsonUsers = strJsonUsers.TrimEnd(',');
// strJsonUsers = strJsonUsers + "}";
// return strJsonUsers;
// }
// /// <summary>
// /// 获取前端需要的人员选择列表
// /// </summary>
// public string GetBranchForJS()
// {
// string strJsonBranchs = "{";
// List<JH_Auth_Branch> ListBranch = new JH_Auth_BranchB().GetEntities(d => d.DeptName != "").ToList();
// foreach (var item in ListBranch)
// {
// strJsonBranchs = strJsonBranchs + "'" + item.DeptCode + "':'" + item.DeptName + "',";
// }
// strJsonBranchs = strJsonBranchs.TrimEnd(',');
// strJsonBranchs = strJsonBranchs + "}";
// return strJsonBranchs;
// }
// /// <summary>
// /// 根据部门编号获取部门用户
// /// </summary>
// /// <param name="branchNo"></param>
// /// <returns></returns>
// public DataTable GetUserByBranch(int branchNo)
// {
// DataTable dtUser = new DataTable();
// if (branchNo != 1)
// {
// dtUser = new JH_Auth_UserB().GetEntities(d => d.BranchCode == branchNo).ToDataTable();
// }
// else
// {
// dtUser = new JH_Auth_UserB().GetEntities(d => d.BranchCode != 1).ToDataTable();
// }
// return dtUser;
// }
// /// <summary>
// /// 修改密码
// /// </summary>
// public void UpadteMiMa(string strUser, string strNewPassWord)
// {
// StringBuilder strAddAuthTree = new StringBuilder();
// JH_Auth_User UPUser = new JH_Auth_UserB().GetEntities(d => d.UserName == strUser).SingleOrDefault();
// UPUser.UserPass = strNewPassWord;
// new JH_Auth_UserB().Update(UPUser);
// //修改老数据库密码
// new JH_Auth_UserB().ExsSql(" UPDATE jd.dbo.JH_Auth_User SET UserPass= '" + strNewPassWord + "' WHERE UserName='" + strUser + "'");
// }
// /// <summary>
// /// 加,号 获取去所在机构人员
// /// </summary>
// /// <param name="strBranchCode"></param>
// /// <returns></returns>
// public string GetAllUserListByBranch(int intBranchCode)
// {
// return new JH_Auth_UserB().GetEntities(d => d.BranchCode == intBranchCode).Select(d => d.UserName).ToList().ListTOString(',');
// }
// /// <summary>
// /// 获取系统全部可用人员的逗号格式
// /// </summary>
// /// <returns></returns>
// public string GetAllUserS()
// {
// return new JH_Auth_UserB().GetEntities(d => d.IsUse == "Y").Select(d => d.UserName).ToList().ListTOString(',');
// }
// /// <summary>
// /// 根据部门编号获取部门及以下部门用户
// /// </summary>
// /// <param name="branchCode">部门编号</param>
// /// <returns></returns>
// public DataTable GetUserByBranch(string branchCode, string NameTel, int HID, int page, int pageSize, ref int pageTotal)
// {
// string strSql = " JH_Auth_User users left JOIN IN_HosTypeTB branch ON branch.HosTypeID = users.remark1 ";
// string strWhere = " 1=1 AND users.Del='0'";
// if (branchCode != "")
// {
// strWhere += string.Format(" AND users.remark1 = '{0}'", branchCode);
// }
// if (HID != 0)
// {
// strWhere += string.Format(" AND users.remark1 = '{0}'", HID);
// }
// if (NameTel != "")
// {
// strWhere += string.Format(" AND (users.UserName LIKE '%{0}%' or users.UserRealName like '%{0}%')", NameTel);
// }
// return new JH_Auth_UserB().GetDataPager(strSql, " users.*,branch.HosName,(select TName from dbo.JH_Auth_Dic where JH_Auth_Dic.Result=users.IsUse and JH_Auth_Dic.ClassType='IsUsers') as YesOrNo ", pageSize, page, " users.ID ", strWhere, ref pageTotal);
// }
//}
部门表
//public class JH_Auth_BranchB : BaseEFDao<JH_Auth_Branch>
//{
// /// <summary>
// /// 绑定部门
// /// </summary>
// /// <param name="ddl"></param>
// public void BindBranch(DropDownList ddl, string strISALL = "N")
// {
// if (strISALL == "N")
// {
// ddl.DataSource = new JH_Auth_BranchB().GetEntities(d => d.DeptCode != 0 && d.DeptCode != 1);
// }
// else
// {
// ddl.DataSource = new JH_Auth_BranchB().GetEntities(d => d.DeptCode != 0);
// }
// ddl.DataTextField = "DeptName";
// ddl.DataValueField = "DeptCode";
// ddl.DataBind();
// }
// /// <summary>
// /// 根据部门代码删除部门及部门人员
// /// </summary>
// /// <param name="intBranchCode"></param>
// public void DelBranchByCode(int intBranchCode)
// {
// new JH_Auth_BranchB().Delete(d => d.DeptCode == intBranchCode);
// new JH_Auth_UserB().Delete(d => d.BranchCode == intBranchCode);
// }
// public void DelBranchByDeptCode(int intBranchCode)
// {
// string strSql = string.Format("update JH_Auth_Branch set Remark2 ='1' where DeptCode={0}", intBranchCode);
// new JH_Auth_BranchB()._ExsSql(strSql);
// }
// /// <summary>
// /// 获取机构数用在assginuser.ASPX中 // 暂时不用这个方法
// /// </summary>
// /// <param name="intRoleCode">角色代码</param>
// /// <param name="intBranchCode">机构代码</param>
// /// <returns></returns>
// public string GetBranchUserTree(string CheckNodes, int intBranchCode)
// {
// StringBuilder strTree = new StringBuilder();
// var q = new JH_Auth_BranchB().GetEntities(d => d.DeptRoot == intBranchCode);
// foreach (var item in q)
// {
// strTree.AppendFormat("{{id:'{0}',pId:'{1}',name:'{2}',{3}}},", item.DeptCode, item.DeptRoot, item.DeptName, item.DeptRoot == -1 || item.DeptRoot == 0 ? "open:true" : "open:false");
// strTree.Append(GetUserByBranch(CheckNodes, item.DeptCode));
// strTree.Append(GetBranchUserTree(CheckNodes, item.DeptCode));
// }
// return strTree.Length > 0 ? strTree.ToString() : "";
// }
// public string GetUserByBranch(string CheckNodes, int intBranchCode)
// {
// StringBuilder strTree = new StringBuilder();
// var q = new JH_Auth_UserB().GetEntities(d => d.BranchCode == intBranchCode && d.STATUS != "Y");
// foreach (var item in q)
// {
// strTree.AppendFormat("{{id:'{0}',pId:'{1}',name:'{2}',isUser:'{3}',{4}}},", item.UserName, intBranchCode, item.UserRealName, "Y", CheckNodes.SplitTOList(',').Contains(item.UserName) ? "checked:true" : "checked:false");
// }
// return strTree.Length > 0 ? strTree.ToString() : "";
// }
// /// <summary>
// /// 获取机构数用在assginuser.ASPX中
// /// </summary>
// /// <param name="intRoleCode">角色代码</param>
// /// <param name="intBranchCode">机构代码</param>
// /// <returns></returns>
// public string GetBranchUserTreeNew(string CheckNodes, int intBranchCode)
// {
// StringBuilder strTree = new StringBuilder();
// var q = new IN_HosTypeTBBLL().GetEntities(d => d.Del == "0");
// if (intBranchCode != 0)
// {
// q = new IN_HosTypeTBBLL().GetEntities(d => d.HosTypeID == intBranchCode && d.Del == "0");
// }
// foreach (var item in q)
// {
// strTree.AppendFormat("{{id:'{0}',pId:'{1}',name:'{2}',{3}}},", item.HosTypeID, "0", item.HosName, "open:true");
// strTree.Append(GetUserByBranchN(CheckNodes, item.HosTypeID));
// }
// return strTree.Length > 0 ? strTree.ToString() : "";
// }
// public string GetUserByBranchN(string CheckNodes, int intBranchCode)
// {
// StringBuilder strTree = new StringBuilder();
// var q = new JH_Auth_UserB().GetEntities(d => d.remark1 == intBranchCode && d.IsUse == "Y" && d.Del == "0");
// foreach (var item in q)
// {
// strTree.AppendFormat("{{id:'{0}',pId:'{1}',name:'{2}',isUser:'{3}',{4}}},", item.UserName, intBranchCode, item.UserRealName, "Y", CheckNodes.SplitTOList(',').Contains(item.UserName) ? "checked:true" : "checked:false");
// }
// return strTree.Length > 0 ? strTree.ToString() : "";
// }
// /// <summary>
// /// 获取机构数用在assginuser.ASPX中
// /// </summary>
// /// <param name="intRoleCode">角色代码</param>
// /// <param name="intBranchCode">机构代码</param>
// /// <returns></returns>
// public string GetBranchUserTreeNewS(string CheckNodes, int intBranchCode)
// {
// StringBuilder strTree = new StringBuilder();
// var q = new IN_HosTypeTBBLL().GetEntities(d => d.Del == "0");
// if (intBranchCode != 0)
// {
// q = new IN_HosTypeTBBLL().GetEntities(d => d.HosTypeID == intBranchCode && d.Del == "0");
// }
// foreach (var item in q)
// {
// strTree.AppendFormat("{{id:'{0}',pId:'{1}',name:'{2}',{3}}},", "s" + item.HosTypeID, "0", item.HosName, "open:true");
// strTree.Append(GetAuxExamSortTreeC(CheckNodes, "0", item.HosTypeID));
// }
// return strTree.Length > 0 ? strTree.ToString() : "";
// }
// public string GetUserByBranchNew(string CheckNodes, string parentCode, int intBranchCode)
// {
// StringBuilder strTree = new StringBuilder();
// var q = new IN_DoctorTBBLL().GetEntities(d => d.HosID == intBranchCode.ToString() && d.Del == "0" && d.DepartmentID.ToString() == parentCode && d.DocGZZT=="0");
// foreach (var item in q)
// {
// strTree.AppendFormat("{{id:'{0}',pId:'{1}',name:'{2}',isUser:'{3}',{4}}},", item.DoctorID, "d" + item.DepartmentID, item.DocName, "Y", CheckNodes.SplitTOList(',').Contains(item.DoctorID.ToString()) ? "checked:true" : "checked:false");
// }
// return strTree.Length > 0 ? strTree.ToString() : "";
// }
// public string GetAuxExamSortTreeC(string CheckNodes, string parentCode, int intBranchCode)
// {
// StringBuilder strTree = new StringBuilder();
// var q = new IN_DepartmentTBBLL().GetEntities(d => d.Del == "0" && d.ParentID.ToString() == parentCode && d.HosID == intBranchCode.ToString());
// foreach (var item in q)
// {
// if (parentCode == "0")
// {
// strTree.AppendFormat("{{id:'{0}',pId:'{1}',name:'{2}',sortcode:'{3}'}},", "d" + item.DepartmentID, "s" + item.HosID, item.DepName, item.DepartmentID);
// }
// else
// {
// strTree.AppendFormat("{{id:'{0}',pId:'{1}',name:'{2}',sortcode:'{3}'}},", "d" + item.DepartmentID, "d" + parentCode, item.DepName, item.DepartmentID);
// }
// strTree.Append(GetAuxExamSortTreeC(CheckNodes, item.DepartmentID.ToString(), intBranchCode));
// }
// if (q.Count() == 0)
// {
// strTree.Append(GetUserByBranchNew(CheckNodes, parentCode, intBranchCode));
// }
// return strTree.Length > 0 ? strTree.ToString() : "";
// }
// /// <summary>
// /// 获取组织机构树
// /// </summary>
// /// <param name="intDeptCode">机构代码</param>
// /// <returns></returns>
// public string GetBranchTree(int intDeptCode)
// {
// StringBuilder strTree = new StringBuilder();
// var q = new JH_Auth_BranchB().GetEntities(d => d.DeptRoot == intDeptCode && d.Remark2 == "0").OrderBy(d => d.DeptShort);
// foreach (var item in q)
// {
// strTree.AppendFormat("{{id:'{0}',pId:'{1}',attr:'{2}',name:'{3}',leader:'{4}',isuse:'{5}',order:'{6}'}},", item.DeptCode, item.DeptRoot, "Branch", item.DeptName, item.Remark1, item.Remark2, item.DeptShort);
// strTree.Append(GetBranchTree(item.DeptCode));
// }
// return strTree.Length > 0 ? strTree.ToString() : "";
// }
// public string GetBranchNameByCode(int intDeptCode)
// {
// return new JH_Auth_BranchB().GetEntities(d => d.DeptCode == intDeptCode).SingleOrDefault().DeptName;
// }
// //获取JSON用户信息
// public string GetUser_Branch()
// {
// var branches = new JH_Auth_BranchB().GetEntities(d => d.DeptCode != 0 && d.DeptCode != 1);
// var users = new JH_Auth_UserB().GetEntities(d => d.IsUse != "N");
// var b = branches.Select(o => new
// {
// text = o.DeptName,
// type = "BM",
// code = o.DeptCode,
// isselect = "N",
// subtree = users.Where(t => t.BranchCode == o.DeptCode).Select(p => new
// {
// text = p.UserRealName,
// type = "RY",
// code = p.UserName,
// zhiwu = p.zhiwu,
// isselect = "N",
// subtree = new List<string>()
// })
// });
// return JsonConvert.SerializeObject(b);
// }
//}
菜单权限表
//public class JH_Auth_MenuB : BaseEFDao<JH_Auth_Menu>
//{
// /// <summary>
// /// 判断用户是否有该菜单的权限
// /// </summary>
// /// <param name="strUserName">用户名称</param>
// /// <param name="strMenuCode">页面代码</param>
// /// <returns></returns>
// public bool IsHasMenuAuth(string strUserName, int intMenuCode)
// {
// bool IsHas = false;
// if (new JH_Auth_MenuB().GetEntities(u => u.isMenu == "Y" && u.IsUse == "Y" && u.AuthCode == intMenuCode).Count() == 0 || new JH_Auth_MenuB().GetDTByCommand(" select top 1 UserName from [vw_JH_Auth_UserAuth] where isMenu='Y' and IsUse='Y' and UserName='" + strUserName + "' and AuthCode='" + intMenuCode + "'").Rows.Count > 0)
// {
// IsHas = true;
// }
// return IsHas;
// }
// /// <summary>
// /// 获取用户一级的菜单
// /// </summary>
// /// <param name="strUserName">用户名</param>
// /// <returns></returns>
// public string GetMainMenuByUserName(string strUserName)
// {
// StringBuilder strMainMenu = new StringBuilder();
// string sql = " select * from [vw_JH_Auth_UserAuth] where UserName='" + strUserName + "' and PAuthCode=1 and isMenu='Y' and IsUse='Y' ORDER BY DisplayOrder ";
// DataTable dt = new JH_Auth_MenuB().GetDTByCommand(sql);
// if (dt.Rows.Count > 0)
// {
// for (int i = 0; i < dt.Rows.Count; i++)
// {
// strMainMenu.AppendFormat("<li id='{0}'><a href='#'><img src='{2}' title='{3}' /><h2>{4}</h2></a></li>", dt.Rows[i]["AuthCode"].ToString(), dt.Rows[i]["FileName"].ToString() != "" ? dt.Rows[i]["FileName"] : "#", string.IsNullOrEmpty(dt.Rows[i]["Ico"].ToString()) ? "../images/icon02.png" : dt.Rows[i]["Ico"].ToString(), dt.Rows[i]["AuthName"].ToString(), dt.Rows[i]["AuthName"].ToString());
// }
// }
// return strMainMenu.ToString();
// }
// public string GetMainMenuByUserName()
// {
// StringBuilder strMainMenu = new StringBuilder();
// string sql = "select b.AuthCode, c.AuthName, c.PAuthCode, c.FileName, c.Ico, c.DisplayOrder, c.IsUse, c.isMenu, c.AuthLevel, "
// + "c.Remark from dbo.JH_Auth_Menu c inner join dbo.JH_Auth_RoleAuth b on b.AuthCode = c.AuthCode "
// + " where b.RoleCode='1018' and PAuthCode=1 and isMenu='Y' and IsUse='Y' ORDER BY DisplayOrder";
// DataTable dt = new JH_Auth_MenuB().GetDTByCommand(sql);
// if (dt.Rows.Count > 0)
// {
// for (int i = 0; i < dt.Rows.Count; i++)
// {
// strMainMenu.AppendFormat("<li id='{0}'><a href='#'><img src='{2}' title='{3}' /><h2>{4}</h2></a></li>", dt.Rows[i]["AuthCode"].ToString(), dt.Rows[i]["FileName"].ToString() != "" ? dt.Rows[i]["FileName"] : "#", string.IsNullOrEmpty(dt.Rows[i]["Ico"].ToString()) ? "../images/icon02.png" : dt.Rows[i]["Ico"].ToString(), dt.Rows[i]["AuthName"].ToString(), dt.Rows[i]["AuthName"].ToString());
// }
// }
// return strMainMenu.ToString();
// }
// /// <summary>
// /// 根据用户名,父菜单代码获取用户可以查看的子菜单
// /// </summary>
// /// <param name="strUserName">用户代码</param>
// /// <param name="intPMenuCode">父菜单代码</param>
// /// <returns></returns>
// public string GetChiMenuByUserName(string strUserName, int intPMenuCode, DataTable ListAuth)
// {
// StringBuilder strMainMenu = new StringBuilder();
// DataTable dt = ListAuth.Where("PAuthCode = " + intPMenuCode).OrderBy("DisplayOrder");
// for (int i = 0; i < dt.Rows.Count; i++)
// {
// string strAuthName = dt.Rows[i]["AuthName"].ToString();
// int intAuthCode = int.Parse(dt.Rows[i]["AuthCode"].ToString());
// if (dt.Rows[i]["AuthLevel"].ToString() == "2")
// {
// strMainMenu.Append("<dd><div class='title'><span><img src='../images/leftico01.png' /></span>" + strAuthName + "</div><ul class='menuson'>" + GetChiMenuByUserName(strUserName, intAuthCode, ListAuth) + "</ul></dd>");
// }
// if (dt.Rows[i]["AuthLevel"].ToString() == "3")
// {
// string MenuUrl = dt.Rows[i]["FileName"].ToString();
// if (MenuUrl.Contains('?'))
// {
// MenuUrl = MenuUrl + "&";
// }
// else
// {
// MenuUrl = MenuUrl + "?";
// }
// strMainMenu.Append("<li hrefurl='" + MenuUrl + "MenuCode=" + intAuthCode + "' id='" + intAuthCode + "'><cite></cite><a href='#'>" + strAuthName + "</a><i></i></li>");
// }
// }
// return strMainMenu.Length > 0 ? strMainMenu.ToString() : "";
// }
// /// <summary>
// /// 获得所有菜单
// /// </summary>
// /// <param name="intPAuthCode"></param>
// /// <returns></returns>
// public string GetAllAuth(int intPAuthCode)
// {
// StringBuilder strTree = new StringBuilder();
// var Results = new JH_Auth_MenuB().GetEntities(u => u.PAuthCode == intPAuthCode && u.isMenu == "Y");
// if (Results.Count() > 0)
// {
// foreach (var item in Results)
// {
// strTree.AppendFormat("{{id:'{0}',pId:'{1}',level:'{2}',name:'{3}',taburl:'{4}',isuse:'{5}',ishasbt:'{6}',menuicon:'{7}',{8},order:'{9}'}},", item.AuthCode, item.PAuthCode, item.AuthLevel, item.AuthName, item.FileName, item.IsUse, item.IsHasbt, item.Ico, item.AuthLevel < 1 ? "open:true" : "open:false", item.DisplayOrder);
// strTree.Append(GetAllAuth(item.AuthCode));
// }
// }
// return strTree.Length > 0 ? strTree.ToString() : "";
// }
// /// <summary>
// /// 删除菜单(包括子菜单)
// /// </summary>
// /// <param name="MenuID"></param>
// /// <returns></returns>
// public bool DelAllMenuByID(int MenuID)
// {
// try
// {
// List<int> ListMenu = new List<int>();
// new JH_Auth_MenuB().GetMenuSByID(MenuID, ref ListMenu);
// new JH_Auth_MenuB().Delete(d => ListMenu.Contains(d.AuthCode));
// new JH_Auth_MenuB().Delete(d => d.AuthCode == MenuID);
// return true;
// }
// catch (Exception)
// {
// return false;
// }
// }
// //获取菜单下所有子菜单(包含本身)
// public void GetMenuSByID(int MenuID, ref List<int> ListMenuID)
// {
// var q = new JH_Auth_MenuB().GetEntities(d => d.PAuthCode == MenuID);
// foreach (var item in q)
// {
// ListMenuID.Add(item.AuthCode);
// GetMenuSByID(item.AuthCode, ref ListMenuID);
// }
// }
// /// <summary>
// /// 为新增菜单增加三个默认的按钮
// /// </summary>
// /// <param name="PModel"></param>
// /// <returns></returns>
// public bool addDefaultBtn(JH_Auth_Menu PModel)
// {
// try
// {
// List<string> ListBtns = new List<string> { "ADD", "EDIT", "DEL", "SetList" };
// foreach (string btnType in ListBtns)
// {
// JH_Auth_Menu NewAuth = new JH_Auth_Menu();
// NewAuth.PAuthCode = PModel.AuthCode;
// NewAuth.AuthLevel = PModel.AuthLevel + 1;
// NewAuth.AuthName = btnType;
// NewAuth.FileName = btnType;
// NewAuth.IsUse = "Y";
// NewAuth.Ico = "";
// NewAuth.isMenu = "N";
// NewAuth.isSys = "Y";
// NewAuth.AuthDesc = "";
// new JH_Auth_MenuB().Insert(NewAuth);
// }
// return true;
// }
// catch (Exception)
// {
// return false;
// }
// }
//}
角色表
//public class JH_Auth_RoleB : BaseEFDao<JH_Auth_Role>
//{
// /// <summary>
// /// 获取角色树
// /// </summary>
// /// <param name="intRoleCode">角色代码</param>
// /// <returns></returns>
// public string GetRoleTree(int intRoleCode)
// {
// StringBuilder strTree = new StringBuilder();
// var q = new JH_Auth_RoleB().GetEntities(d => d.PRoleCode == intRoleCode);
// foreach (var item in q)
// {
// strTree.AppendFormat("{{id:'{0}',pId:'{1}',icon:'../../Image/admin/users.png',issys:'{2}',isuse:'{3}',name:'{4}',nodedec:'{5}'}},", item.RoleCode, item.PRoleCode, item.isSysRole, item.IsUse, item.RoleName, item.RoleDec);
// strTree.Append(GetRoleTree(item.RoleCode));
// }
// return strTree.Length > 0 ? strTree.ToString() : "";
// }
// /// <summary>
// /// 删除角色
// /// </summary>
// /// <param name="intRoleCode">角色代码</param>
// /// <returns></returns>
// public string delRole(int intRoleCode)
// {
// new JH_Auth_RoleB().Delete(d => intRoleCode == d.RoleCode && d.isSysRole != "Y");
// new JH_Auth_UserRoleB().Delete(d => intRoleCode == d.RoleCode);
// new JH_Auth_RoleAuthB().Delete(d => intRoleCode == d.RoleCode);
// return "Success";
// }
//}
角色权限表
//public class JH_Auth_RoleAuthB : BaseEFDao<JH_Auth_RoleAuth>
//{
// /// <summary>
// /// 获得角色的权限树
// /// </summary>
// /// <param name="intRoleCode"></param>
// /// <param name="intPAuthCode"></param>
// /// <returns></returns>
// public string GetRoleAuth(int intRoleCode, int intPAuthCode, List<JH_Auth_Menu> ListAuth, List<JH_Auth_RoleAuth> ListAuth_Role)
// {
// StringBuilder strTree = new StringBuilder();
// var Results = ListAuth.Where(d => d.PAuthCode == intPAuthCode);
// var query = from q in ListAuth_Role.Where(rm => rm.RoleCode == intRoleCode)
// select q.AuthCode;
// if (Results.Count() > 0)
// {
// foreach (var item in Results)
// {
// strTree.AppendFormat("{{id:'{0}',pId:'{1}',level:'{2}',name:'{3}',taburl:'{4}',isuse:'{5}',icon:'{6}',{7},{8}}},", item.AuthCode, item.PAuthCode, item.AuthLevel, item.AuthName == "SetList" ? item.FileName : item.AuthName, item.FileName, item.IsUse, item.Ico, query.Contains(item.AuthCode) ? "checked:true" : "checked:false", int.Parse(item.AuthLevel.ToString()) < 2 ? "open:true" : "open:false");
// strTree.Append(GetRoleAuth(intRoleCode, item.AuthCode, ListAuth, ListAuth_Role));
// }
// }
// return strTree.Length > 0 ? strTree.ToString() : "";
// }
// /// <summary>
// /// 为角色分配菜单
// /// </summary>
// /// <param name="arrMenuCodes">菜单代码</param>
// /// <param name="intRoleCode">角色代码</param>
// /// <returns></returns>
// public string AssignMenu(string[] arrMenuCodes, int intRoleCode)
// {
// try
// {
// new JH_Auth_RoleAuthB().Delete(d => d.RoleCode == intRoleCode);
// foreach (string item in arrMenuCodes)
// {
// JH_Auth_RoleAuth NewRoleMenu = new JH_Auth_RoleAuth();
// NewRoleMenu.RoleCode = intRoleCode;
// NewRoleMenu.AuthCode = int.Parse(item);
// new JH_Auth_RoleAuthB().Insert(NewRoleMenu);
// }
// return "Success";
// }
// catch
// {
// return "Faile";
// }
// }
//}
用户角色表
//public class JH_Auth_UserRoleB : BaseEFDao<JH_Auth_UserRole>
//{
// /// <summary>
// /// 获取用户的角色代码
// /// </summary>
// /// <param name="strUserName">用户名</param>
// /// <returns></returns>
// public string GetRoleCodeByUserName(string strUserName)
// {
// string strRoleCode = "";
// var q = new JH_Auth_UserRoleB().GetEntities(d => d.UserName == strUserName);
// foreach (var item in q)
// {
// strRoleCode = strRoleCode + item.RoleCode.ToString() + ",";
// }
// return strRoleCode.TrimEnd(','); ;
// }
// /// <summary>
// /// //删除角色权限关系
// /// </summary>
// /// <param name="strUserName">用户名</param>
// /// <param name="intRoleCode">角色代码</param>
// public void DelUserRole(string strUserName, int intRoleCode)
// {
// new JH_Auth_UserRoleB().Delete(d => d.UserName == strUserName && d.RoleCode == intRoleCode);
// }
// /// <summary>
// /// 为角色分配用户
// /// </summary>
// /// <param name="arrUserNames"></param>
// /// <param name="intRoleCode"></param>
// /// <returns></returns>
// public string AssignUser(string[] arrUserNames, int intRoleCode)
// {
// try
// {
// new JH_Auth_UserRoleB().Delete(d => d.RoleCode == intRoleCode && d.UserName != "admin");
// foreach (string item in arrUserNames)
// {
// JH_Auth_UserRole NewUser_Role = new JH_Auth_UserRole();
// NewUser_Role.RoleCode = intRoleCode;
// NewUser_Role.UserName = item.ToString();
// new JH_Auth_UserRoleB().Insert(NewUser_Role);
// }
// return "Success";
// }
// catch
// {
// return "Faile";
// }
// }
// /// <summary>
// /// 根据角色获取相应用户
// /// </summary>
// /// <param name="intRoleCode"></param>
// /// <returns></returns>
// public string GetUserByRoleCode(int intRoleCode)
// {
// return new JH_Auth_UserRoleB().GetEntities(d => d.RoleCode == intRoleCode).Select(d => d.UserName).ToList().ListTOString(',');
// }
// public DataTable GetUserDTByRoleCode(int intRoleCode)
// {
// DataTable dt = new JH_Auth_UserRoleB().GetDTByCommand(" SELECT ur.username,JH_Auth_User.userrealname FROM dbo.JH_Auth_UserRole ur inner join dbo.JH_Auth_User on ur.username=JH_Auth_User.username where ur.rolecode= " + intRoleCode);
// return dt;
// }
//}
//public class JH_Auth_FormBaseB : BaseEFDao<JH_Auth_FormBase>
//{ }
//public class JH_Auth_ConFirmDataB : BaseEFDao<JH_Auth_ConFirmData>
//{ }
附件表
//public class JH_Auth_FormAttchgB : BaseEFDao<JH_Auth_FormAttchg>
//{
// /// <summary>
// /// 插入并返回自增ID
// /// </summary>
// /// <param name="models"></param>
// /// <returns></returns>
// public string InsertList(IEnumerable<JH_Auth_FormAttchg> models)
// {
// if (Insert(models))
// {
// return string.Join(",", models.Select(o => o.id));
// }
// return string.Empty;
// }
//}
//public class JH_Auth_LogB : BaseEFDao<JH_Auth_Log>
//{ }
//public class JH_Auth_CodeB : BaseEFDao<JH_Auth_Code>
//{
// /// <summary>
// /// 获取分类的最新编号
// /// </summary>
// /// <param name="formCode"></param>
// /// <returns></returns>
// public string GetFormNumberCode(string formCode)
// {
// DataTable dtCode = new JH_Auth_CodeB().GetDTByCommand(string.Format("Select top 1 * from JH_Auth_Code where FormCode='{0}' Order by Id Desc", formCode));
// int formNumCode = 1;
// if (dtCode.Rows.Count > 0)
// {
// formNumCode = Convert.ToInt32(dtCode.Rows[0]["FormNum"]) + 1;
// }
// JH_Auth_Code code = new JH_Auth_Code();
// code.FormCode = formCode;
// code.FormNum = formNumCode.ToString("000");
// new JH_Auth_CodeB().Insert(code);
// return code.FormNum;
// }
// public string GetFormNCode(string table, string zdmc, string BMCode)
// {
// DataTable dtCode = new DataTable();
// if (BMCode == "")
// {
// dtCode = new JH_Auth_CodeB().GetDTByCommand(string.Format("Select top 1 * from {0} Order by {1} DESC", table, zdmc));
// }
// else
// {
// dtCode = new JH_Auth_CodeB().GetDTByCommand(string.Format("Select top 1 * from {0} where {1} like '{2}___' Order by {1} Desc", table, zdmc, BMCode));
// }
// int formNumCode = 1;
// if (dtCode.Rows.Count > 0)
// {
// string mgs = dtCode.Rows[0][0].ToString();
// if (mgs.Length > 0)
// {
// formNumCode = Convert.ToInt32(mgs.Substring(mgs.Length - 3)) + 1;
// }
// // formNumCode = Convert.ToInt32(dtCode.Rows[0]["Id"]) + 1;
// }
// string FormNum = BMCode + formNumCode.ToString("000");
// return FormNum;
// }
//}
//public class JH_Auth_DicB : BaseEFDao<JH_Auth_Dic>
//{
// /// <summary>
// /// 根据类型获取基础设置数据
// /// </summary>
// /// <param name="typeC">类型</param>
// /// <returns></returns>
// public void GetDicList(DropDownList ddl,string typeC)
// {
// ddl.DataSource = new JH_Auth_DicB().GetEntities(d => d.ClassType == typeC).ToList();
// ddl.DataTextField = "TName";
// ddl.DataValueField = "Id";
// ddl.DataBind();
// }
//}
#endregion
}