系统管理模块

1、实体类

  public partial class T_Role{public string RoleId { get; set; }public string RoleName { get; set; }public string CommentAry { get; set; }public string CodeNo { get; set; }public string CustomNo { get; set; }public string SpellNo { get; set; }public string StrokeNo { get; set; }}

角色类

   public partial class T_Role_Privilege{public string RoleId { get; set; }public string Privid { get; set; }public string BarCaption { get; set; }public Nullable<int> BarOrder { get; set; }public string IsEndNode { get; set; }public Nullable<int> IsToolBar { get; set; }public string NodeID { get; set; }public string ParentNode { get; set; }public int Id { get; set; }}

角色权限

  public partial class T_Operator{public string OperatorID { get; set; }public string DepID { get; set; }public string OperatorName { get; set; }public string Passwrod { get; set; }public string RoleID { get; set; }public string UserID { get; set; }public string CellPhone { get; set; }public string Emial { get; set; }public Nullable<int> LoginCount { get; set; }public string LastLoginTime { get; set; }public Nullable<int> State { get; set; }public string BuildMan { get; set; }public Nullable<System.DateTime> BuildDate { get; set; }public string EditMan { get; set; }public Nullable<System.DateTime> EditDate { get; set; }}

操作用户

  public partial class T_Operator_Privilege{public string BarCaption { get; set; }public Nullable<int> BarOrder { get; set; }public string IsEndNode { get; set; }public Nullable<int> IsToolBar { get; set; }public string NodeId { get; set; }public string OperatorID { get; set; }public string ParentNode { get; set; }public string PrivId { get; set; }public int Id { get; set; }}

用户权限

public partial class T_Organization{public string F_OrgID { get; set; }public string F_OrgName { get; set; }public string F_OrgManager { get; set; }public Nullable<System.DateTime> F_BuildDate { get; set; }public string F_BuildMan { get; set; }public string F_TellPhoneNum { get; set; }public string F_Address { get; set; }public Nullable<bool> F_State { get; set; }public string F_ParentID { get; set; }}

组织机构

  public partial class T_WholeMenu{public string NodeId { get; set; }public string NodeName { get; set; }public string ParentNode { get; set; }public string IsEndNode { get; set; }public string PluginId { get; set; }public string CommentAry { get; set; }public string Disporder { get; set; }public Nullable<int> Type { get; set; }public string GroupByName { get; set; }public string ImageIco { get; set; }public Nullable<int> TypeShow { get; set; }public Nullable<bool> IsStartUp { get; set; }}

菜单管理

public partial class Sys_Buttons{public int KeyId { get; set; }public string ButtonCaption { get; set; }public int Sortnum { get; set; }public string IconCls { get; set; }public string IconUrl { get; set; }public string ButtonTag { get; set; }public string Remark { get; set; }public string ButtonHtml { get; set; }public string BuggonGroup { get; set; }public int State { get; set; }public string ToolTip { get; set; }}

按钮管理

 public partial class Sys_Button_Privilege{public int SysId { get; set; }public Nullable<int> ButtonId { get; set; }public string OperatorId { get; set; }public string RoleId { get; set; }public string NodeId { get; set; }}

按钮权限管理

 public partial class Sys_WholeMenuButtons{public int KeyId { get; set; }public string MenuId { get; set; }public Nullable<int> ButtonId { get; set; }public Nullable<int> Sortnum { get; set; }public string ButtonName { get; set; }}

菜单按钮

2、服务器契约

服务契约代码

[ServiceContract(Namespace = "www.kubim.com/OperatorSerivce")]
public interface IOperationpurviewService
{

 #region 操作人员管理//添加人员[OperationContract(IsInitiating = true)]bool InsertOperatorInfo(T_Operator operatorEntity);///<summary>///修改操作T_Operator /// </summary>[OperationContract(IsInitiating = true)]bool UpdateT_Operator(T_Operator model);///<summary>///修改操作T_Operator /// </summary>[OperationContract(IsInitiating = true)]T_Operator T_OperatorById(string operatorid);///<summary>///删除操作T_Operator ///  </summary>[OperationContract(IsInitiating = true)]bool DeleteT_Operator(String id);//获取最大人员编号[OperationContract(IsInitiating = true)]int GetMaxOperatorId();//获取所有人员[OperationContract(IsInitiating = true)]IQueryable<T_Operator> GetOperatorAllList();//根据用户登录的ID查询[OperationContract(IsInitiating = true)]List<FindMenuRigthByOperator> GetRightOperatorByOperatorId(string operatorid);//根据用户登录的ID查询[OperationContract(IsInitiating = true)]List<FindMenuRigthByOperator> GetRightOperatorByRoleId(string roleid);/// <summary>/// 用户登录/// </summary>/// <param name="loginUserName">登录名称</param>/// <param name="loginPassword">登录密码</param>/// <returns></returns>[OperationContract(IsInitiating = true)]bool LoginUser(string loginUserName, string loginPassword);/// <summary>/// 用户登录/// </summary>/// <param name="loginUserName">登录名称</param>/// <param name="loginPassword">登录密码</param>/// <param name="log">登录其它信息</param>/// <returns>返回字符串信息</returns>[OperationContract(IsInitiating = true)]string Login(string loginUserName, string loginPassword, params string[] log);/// <summary>/// 用户登陆/// </summary>/// <param name="loginUserName">Name of the login user.</param>/// <param name="loginPassword">The login password.</param>/// <param name="log">The log.</param>/// <returns>用户信息.</returns>[OperationContract(IsInitiating = true)]T_Operator LoginOperator(string loginUserName, string loginPassword, params string[] log);/// <summary>/// 用户登录次数添加/// </summary>/// <param name="operatorId">操作员ID</param>[OperationContract(IsInitiating = true)]bool OperatorAddLoginCount(T_Operator operatorId);/// <summary>/// 获取人员信息/// </summary>/// <param name="departId">以部门编号</param>[OperationContract(IsInitiating = true)]List<T_Operator> GetOperatorListByDepartId(string departId);/// <summary>/// 判斷用戶登陸名稱是否存在/// Determines whether [is existe login user name] [the specified login user name]./// </summary>/// <param name="loginUserName">Name of the login user.</param>/// <returns><c>true</c> if [is existe login user name] [the specified login user name]; otherwise, <c>false</c>.</returns>[OperationContract(IsInitiating = true)]bool IsExisteLoginUserName(string loginUserName);#endregion

操作人员管理

        #region 用户角色管理//新增用户角色[OperationContract(IsInitiating = true)]bool InsertRoleInfo(T_Role roleEntity);/// <summary>/// 获取用户角色/// </summary>/// <param name="roleid">获取用户信息</param>/// <returns></returns>[OperationContract(IsInitiating = true)]T_Role T_RoleById(string roleid);///<summary>///修改操作T_Role /// </summary>[OperationContract(IsInitiating = true)]bool UpdateT_Role(T_Role model);///<summary>///删除操作T_Role /// </summary>[OperationContract(IsInitiating = true)]bool DeleteT_Role(String id);//获取用户角色人员信息[OperationContract(IsInitiating = true)]List<FindRoleRigthByRole> GetRoleRigthByRoleCode(string roleCode);//获取所有角色[OperationContract(IsInitiating = true)]List<T_Role> GetRoleAllList();//获取最大角色编号[OperationContract(IsInitiating = true)]int GetMaxRoleId();/// <summary>/// 修改用户密码/// </summary>/// <param name="oldPwd">旧的用户密码</param>/// <param name="newPwd">新的用户密码</param>/// <param name="userid">用户人员编号</param>/// <returns></returns>[OperationContract(IsInitiating = true)]string ChangeUserPwd(string oldPwd, string newPwd, string userid);#endregion

用户角色管理

        #region 用户授权管理//新增用户权限信息[OperationContract(IsInitiating = true)]void InsertOperatorPrivilegeInfo(T_Operator_Privilege operatorEntity);//删除用户权限信息[OperationContract(IsInitiating = true)]void DeleteOperatorPrivilegeInfoByOperatorId(string operatorid);#endregion

用户授权管理

       #region 角色授权管理//新增角色权限 [OperationContract(IsInitiating = true)]void InsertTRolePrivilege(T_Role_Privilege roleEntity);//删除角色权限[OperationContract(IsInitiating = true)]void DeleteRolePrivilegeByRoleId(string roleid);/// <summary>/// 添加项目权限/// </summary>/// <param name="projectLimitses">项目权限信息</param>/// <param name="typeinfo">操作员/角色 Operator/Role</param>/// <param name="typeid">角色编号/用户编号</param>/// <returns>bool</returns>[OperationContract(IsInitiating = true)]bool AddProjectLimits(List<T_ProjectLimits> projectLimitses, string typeinfo, string typeid);/// <summary>/// 添加机构数据权限/// </summary>/// <param name="organizationPrivileges">项目权限信息</param>/// <param name="typeinfo">操作员/角色 Operator/Role</param>/// <param name="typeid">角色编号/用户编号</param>/// <returns>bool</returns>[OperationContract(IsInitiating = true)]bool AddOrgizationLimits(List<T_Organization_Privilege> organizationPrivileges, string typeinfo, string typeid);/// <summary>/// 添加项目权限/// </summary>/// <param name="organizationPrivileges">项目权限信息</param>/// <param name="typeinfo">操作员/角色 Operator/Role</param>/// <param name="typeid">角色编号/用户编号</param>/// <returns>bool</returns>[OperationContract(IsInitiating = true)]bool AddLineMileageLimits(List<LineMileage_Privilege> organizationPrivileges, string typeinfo, string typeid);#endregion

角色授权管理

        #region 菜单管理//添加菜单[OperationContract(IsInitiating = true)]void InsertTWholemenu(T_WholeMenu menuEntity);//修改菜单[OperationContract(IsInitiating = true)]bool UpdateTWholeMenu(T_WholeMenu menuEntity);//获取所有菜单[OperationContract(IsInitiating = true)]List<T_WholeMenu> GetAllWholeMenuList();//获取父菜单的ID[OperationContract(IsInitiating = true)]int GetTwholeMenuNodeId();//获取子菜单的ID[OperationContract(IsInitiating = true)]int GetTWholeMenuNodeChildrenId();//获取最大的菜单[OperationContract(IsInitiating = true)]int GetMaxWholeMenuId(string parentnode);//删除父节点下所有菜单[OperationContract(IsInitiating = true)]void DeleteWholeMenu(string parentid);//根据菜单编号删除下面所有信息[OperationContract(IsInitiating = true)]void DeleteWholeMenuNode(string nodeid);//保存用户权限[OperationContract(IsInitiating = true)]bool AddUserRight(DataTable dt, string type, string typeid);#endregion

菜单管理

     #region 系统字典管理//添加字典信息[OperationContract(IsInitiating = true)]bool InsertDectionary(T_DictionaryInfo tInfo);//修改字典信息[OperationContract(IsInitiating = true)]bool UpdateDectionary(T_DictionaryInfo tInfo);//获取所有字典信息[OperationContract(IsInitiating = true)]List<T_DictionaryInfo> GetAllDictonaryList();//根据字典类型[OperationContract(IsInitiating = true)]List<T_DictionaryInfo> SearchDictionaryOfType(string fDictonaryType);//根据字典类型
        [OperationContract()]List<T_DictionaryInfo> SearchDictionaryOfTypeCode(string typeCode);//获取父菜单的编号[OperationContract(IsInitiating = true)]int GetMaxDictionaryParentCode();//获取子菜单的编号[OperationContract(IsInitiating = true)]int GetDictionaryNodeChildrenCode();//获取最大的菜单[OperationContract(IsInitiating = true)]int GetMaxDictionaryCode(string parentCode);//删除子菜单[OperationContract(IsInitiating = true)]bool DeleteDictionaryChildrenCode(string dictonaryCode);//删除父菜和下面的所有的子菜单bool DeleteDictonaryCode(string parnentdictonaryCode);//数据库名称[OperationContract(IsInitiating = true)]DataTable GetAllTableNameByDb(string dataBaseName);//获取父节点下的子节点的Count[OperationContract(IsInitiating = true)]int GetDictionaryCountByParentCode(string parentCode);//根据字典编号获取明细信息[OperationContract(IsInitiating = true)]T_DictionaryInfo GetTDictonaryInfo(string dictonaryCode);#endregion

系统字典管理

   #region 组织机构/// <summary>/// 新增操作T_Organization/// </summary>/// <param name="model">The model.</param>/// <param name="operatorid">The operatorid.</param>/// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>[OperationContract(IsInitiating = true)]bool InsertT_Organization(T_Organization model,string operatorid);///<summary>///修改操作T_Organization /// </summary>[OperationContract(IsInitiating = true)]bool UpdateT_Organization(T_Organization model);///<summary>///删除操作T_Organization /// </summary>[OperationContract(IsInitiating = true)]bool DeleteT_Organization(String id);///<summary>///获取所有数据T_Organization /// </summary>[OperationContract(IsInitiating = true)]List<T_Organization> GetT_OrganizationListData();/// <summary>/// 根据用户判断当前组织机构信息 </summary>/// <param name="operatorId"></param>/// <returns></returns>[OperationContract(IsInitiating = true)]IQueryable<T_Organization> GetT_OrganizationBy(string operatorId);#endregion

组织机构

      #region 机构权限/// <summary>///根据SQL语句查询返回IQueryableT_Organization_Privilege/// <param name="sql">T_Organization_PrivilegeSQL语句</param>/// </summary>
        [OperationContract]IQueryable<T_Organization_Privilege> GetT_Organization_PrivilegeBySql(string sql, params object[] obj);/// <summary>///获取实体T_Organization_Privilege/// <param name="id">主键编号</param>/// </summary>
        [OperationContract]List<T_Organization_Privilege> GetT_Organization_PrivilegeById(string id);/// <summary>///修改实体T_Organization_Privilege/// <param name="entity">T_Organization_Privilege实体</param>/// </summary>
        [OperationContract]bool UpdateT_Organization_Privilege(List<T_Organization_Privilege> entity);/// <summary>///新增实体T_Organization_Privilege/// <param name="entity">T_Organization_Privilege实体</param>/// </summary>
        [OperationContract]bool CreateT_Organization_Privilege(List<T_Organization_Privilege> entity, string operatorId);/// <summary>///新增实体T_Organization_Privilege/// <param name="entity">T_Organization_Privilege实体</param>/// </summary>
        [OperationContract]bool CreateT_Organization_PrivilegeEntity(T_Organization_Privilege entity);/// <summary>///删除T_Organization_Privilege/// <param name="id">主键编号</param>/// </summary>
        [OperationContract]bool DeleteT_Organization_Privilege(List<int> id);/// <summary>///获取实体LineMileage_Privilege/// <param name="id">主键编号</param>/// </summary>
        [OperationContract]LineMileage_Privilege GetLineMileage_PrivilegeById(string id);/// <summary>///修改实体LineMileage_Privilege/// <param name="entity">LineMileage_Privilege实体</param>/// </summary>
        [OperationContract]bool UpdateLineMileage_Privilege(LineMileage_Privilege entity);/// <summary>///新增实体LineMileage_Privilege/// <param name="entity">LineMileage_Privilege实体</param>/// </summary>
        [OperationContract]bool CreateLineMileage_Privilege(List<LineMileage_Privilege> entity, string operatorId);/// <summary>///删除LineMileage_Privilege/// <param name="id">主键编号</param>/// </summary>
        [OperationContract]bool DeleteLineMileage_Privilege(string id);/// <summary>/// 获取线路里程权限信息/// </summary>/// <param name="strsql">sql</param>/// <param name="obj">参数</param>/// <returns>IQueryable</returns>
        [OperationContract]IQueryable<T_ProjectLimits> GetT_ProjectLimitsBySql(string strsql, params object[] obj);/// <summary>///根据SQL语句查询返回IQueryableLineMileage_Privilege/// <param name="sql">LineMileage_PrivilegeSQL语句</param>/// </summary>
        [OperationContract]IQueryable<LineMileage_Privilege> GetLineMileage_PrivilegeBySql(string sql, params CmdParameter[] obj);/// <summary>///新增实体T_ProjectLimits/// <param name="entity">T_ProjectLimits实体</param>/// </summary>
        [OperationContract]bool CreateT_ProjectLimits_Privilege(List<T_ProjectLimits> entity, string operatorId);/// <summary>/// 获取当前用户的信息/// </summary>/// <param name="operatorid"></param>/// <returns></returns>
        [OperationContract]IQueryable<T_ProjectLimits> GetT_ProjectLimitsByOperator(string operatorid);#endregion

机构权限

        #region 系统菜单按钮/// <summary>///获取实体Sys_Buttons/// <param name="id">主键编号</param>/// </summary>
        [OperationContract]Sys_Buttons GetSys_ButtonsById(int id);/// <summary>///修改实体Sys_Buttons/// <param name="entity">Sys_Buttons实体</param>/// </summary>
        [OperationContract]bool UpdateSys_Buttons(Sys_Buttons entity);/// <summary>///新增实体Sys_Buttons/// <param name="entity">Sys_Buttons实体</param>/// </summary>
        [OperationContract]bool CreateSys_Buttons(Sys_Buttons entity);/// <summary>///删除Sys_Buttons/// <param name="id">主键编号</param>/// </summary>
        [OperationContract]bool DeleteSys_Buttons(int id);[OperationContract]IQueryable<Sys_WholeMenuButtons> GetSys_WholeMenuButtonsBySql(string sql, params CmdParameter[] obj);/// <summary>///根据SQL语句查询返回IQueryableSys_Buttons/// <param name="sql">Sys_ButtonsSQL语句</param>/// </summary>
        [OperationContract]IQueryable<Sys_Buttons> GetSys_ButtonsBySql(string sql, params CmdParameter[] obj);/// <summary>/// 返回菜单的按钮/// </summary>/// <param name="menuId">菜单编号</param>/// <returns></returns>
        [OperationContract]List<TWholeMenuButton> GetTWholeMenuButtons(string menuId);/// <summary>/// 返回所有的菜单信息/// </summary>/// <returns></returns>
        [OperationContract]List<TWholeMenuButton> GetTWholeMenuButtonsAllList();/// <summary>/// 获取对应的权限/// </summary>/// <param name="operatorId">操作员ID</param>/// <returns></returns>
        [OperationContract]List<TWholeMenuButton> GetButtonLimitsAlList(string operatorId);/// <summary>/// 获取对应的权限/// </summary>/// <param name="roleId">角色ID</param>/// <returns></returns>
        [OperationContract]List<TWholeMenuButton> GetButtonLimitstRoleAllList(string roleId);/// <summary>///新增实体Sys_WholeMenuButtons/// <param name="entity">Sys_WholeMenuButtons实体</param>/// </summary>
        [OperationContract]bool CreateSys_WholeMenuButtons(List<Sys_WholeMenuButtons> entity);/// <summary>///删除Sys_WholeMenuButtons/// <param name="nodeid">主键编号</param>/// </summary>
        [OperationContract]bool DeleteSys_WholeMenuButtons(string nodeid);/// <summary>/// 根据用户获取项目权限/// </summary>/// <param name="operatorId">操作员编号</param>/// <returns></returns>
        [OperationContract]IQueryable<ProjectsLimits> GetProjectsLimitsesByOperator(string operatorId);/// <summary>/// 根据用户编号获取对应的线程里程信息/// </summary>/// <param name="operatorId">操作员编号</param>/// <param name="projectKey">项目编号</param>/// <returns></returns>
        [OperationContract]IEnumerable<LineMileageLimits> GetLineMileageLimitsesByOperator(string operatorId, string projectKey);#endregion

系统菜单按钮

}

3、服务契约实现

服务类代码

    //服务/// <summary>/// Class OperationService./// </summary>[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]public class OperationService : IOperationpurviewService, IDisposable{private readonly RBIM5D_PROJECTContext _dbContext;public OperationService(){_dbContext = new RBIM5D_PROJECTEntities();}

 #region 操作人员管理public bool InsertOperatorInfo(T_Operator operatorEntity){try{_dbContext.Set<T_Operator>().Attach(operatorEntity);_dbContext.Set<T_Operator>().Add(operatorEntity);_dbContext.SaveChanges();}catch (DbEntityValidationException ex){throw ex.InnerException;  }catch (DbException ee){throw ee.InnerException;}return true;}/// <summary>/// 修改操作T_Operator/// </summary>/// <param name="model">The model.</param>/// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>public bool UpdateT_Operator(T_Operator model){try{var category = _dbContext.T_Operator.FirstOrDefault(o => o.OperatorID == model.OperatorID);if (category != null){category.OperatorID = model.OperatorID;category.DepID = model.DepID;category.OperatorName = model.OperatorName;category.Passwrod = model.Passwrod;category.RoleID = model.RoleID;category.UserID = model.UserID;category.CellPhone = model.CellPhone;category.Emial = model.Emial;category.State = model.State;category.EditMan = model.EditMan;category.EditDate = model.EditDate;}_dbContext.SaveChanges();}catch (EntityException){return false;}catch (Exception){return false;}return true;}/// <summary>/// 修改操作T_Operator/// </summary>/// <param name="operatorid">The operatorid.</param>/// <returns>T_Operator.</returns>public T_Operator T_OperatorById(string operatorid){try{return _dbContext.Set<T_Operator>().FirstOrDefault(o => o.OperatorID == operatorid && o.State == 0);}catch (EntityException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}catch (DbException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}}/// <summary>/// 删除操作T_Operator/// </summary>/// <param name="id">The identifier.</param>/// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>public bool DeleteT_Operator(string id){try{T_Operator category = _dbContext.T_Operator.First(o => o.OperatorID == id);return LU.DAL.BaseDAL<T_Operator>.ManagerContent(_dbContext).Del(category);}catch (EntityException){return false;}catch (Exception){return false;}}/// <summary>/// Gets the maximum operator identifier./// </summary>/// <returns>System.Int32.</returns>public int GetMaxOperatorId(){try{const string strsql = "select max(Convert(int,OperatorID)) from T_Operator";return _dbContext.Database.SqlQuery<int>(strsql).First();}catch (Exception ee){throw ee.InnerException;}}public IQueryable<T_Operator> GetOperatorAllList(){try{return _dbContext.T_Operator.Where(o => o.State == 0);}catch (EntityException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}}/// <summary>/// Gets the right operator by operator identifier./// </summary>/// <param name="operatorid">The operatorid.</param>/// <returns>List&lt;FindMenuRigthByOperator&gt;.</returns>public List<FindMenuRigthByOperator> GetRightOperatorByOperatorId(string operatorid){try{var list = new List<FindMenuRigthByOperator>();{var query = from a in _dbContext.T_Operator_Privilegejoin b in _dbContext.T_WholeMenu on a.NodeId equals b.NodeIdwhere a.OperatorID == operatoridselect new{a.OperatorID,ParentNode1 = a.ParentNode,a.NodeId,a.IsEndNode,a.PrivId,a.IsToolBar,a.BarOrder,a.BarCaption,b.NodeName,b.ParentNode,b.PluginId,b.CommentAry,b.Disporder,b.Type,b.GroupByName,b.ImageIco,b.TypeShow,b.IsStartUp};if (query.Any()){list.AddRange(query.ToList().Select(item => new FindMenuRigthByOperator{BarCaption = item.BarCaption,BarOrder = item.BarOrder,CommentAry = item.CommentAry,IsEndNode = item.IsEndNode,IsToolBar = item.IsToolBar,NodeId = item.NodeId,NodeName = item.NodeName,ParentNode1 = item.ParentNode1,ParentNode = item.ParentNode,PluginId = item.PluginId,PrivId = item.PrivId,GroupByName = item.GroupByName,ImageIco = item.ImageIco,TypeShow = item.TypeShow,IsStartUp = item.IsStartUp,}));}} return list;}catch (EntityException e){throw e.InnerException;}}/// <summary>/// Gets the right operator by role identifier./// </summary>/// <param name="roleid">The roleid.</param>/// <returns>List&lt;FindMenuRigthByOperator&gt;.</returns>public List<FindMenuRigthByOperator> GetRightOperatorByRoleId(string roleid){try{var list = new List<FindMenuRigthByOperator>();{var query = from a in _dbContext.T_Role_Privilegejoin b in _dbContext.T_WholeMenu on a.NodeID equals b.NodeIdwhere a.RoleId == roleidselect new{a.RoleId,ParentNode1 = a.ParentNode,a.NodeID,a.IsEndNode,a.Privid,a.IsToolBar,a.BarOrder,a.BarCaption,b.NodeName,b.ParentNode,b.PluginId,b.CommentAry,b.Disporder,b.Type,b.GroupByName,b.ImageIco,b.TypeShow,b.IsStartUp};if (query.Any()){list.AddRange(query.ToList().Select(item => new FindMenuRigthByOperator{BarCaption = item.BarCaption,BarOrder = item.BarOrder,CommentAry = item.CommentAry,IsEndNode = item.IsEndNode,IsToolBar = item.IsToolBar,NodeId = item.NodeID,NodeName = item.NodeName,ParentNode1 = item.ParentNode1,ParentNode = item.ParentNode,PluginId = item.PluginId,PrivId = item.Privid,GroupByName = item.GroupByName,ImageIco = item.ImageIco,TypeShow = item.TypeShow,IsStartUp = item.IsStartUp}));}} return list;}catch (EntityException e){throw e.InnerException;}}/// <summary>/// 用户登录/// </summary>/// <param name="loginUserName">登录名称</param>/// <param name="loginPassword">登录密码</param>/// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>public bool LoginUser(string loginUserName, string loginPassword){if (string.IsNullOrEmpty(loginUserName) || string.IsNullOrEmpty(loginPassword))return false;try{// ReSharper disable ImplicitlyCapturedClosurevar queryExits = _dbContext.T_Operator.Where(o => o.OperatorID == loginUserName);// ReSharper restore ImplicitlyCapturedClosureif (queryExits.Any()){string password = EncodeHelper.DesEncrypt(loginPassword);var queryLogin = _dbContext.T_Operator.Where(o => o.OperatorID == loginUserName && o.Passwrod == password);if (queryLogin.Any()){var firstOrDefault = queryLogin.FirstOrDefault();if (firstOrDefault != null)OperatorAddLoginCount(firstOrDefault);return true;}return false;}}catch (EntityException){return false;}return false;}/// <summary>/// 用户登录/// </summary>/// <param name="loginUserName">登录名称</param>/// <param name="loginPassword">登录密码</param>/// <param name="log">登录其它信息</param>/// <returns>返回字符串信息</returns>public string Login(string loginUserName, string loginPassword, params string[] log){if (string.IsNullOrEmpty(loginUserName) || string.IsNullOrEmpty(loginPassword))return "用户或密码不能为空!谢谢";try{T_Operator queryExits = _dbContext.T_Operator.FirstOrDefault(o => o.OperatorID == loginUserName);if (queryExits != null){if (queryExits.State == 0){string password = EncodeHelper.DesEncrypt(loginPassword);var queryLogin = _dbContext.T_Operator.FirstOrDefault(o => o.OperatorID == loginUserName && o.Passwrod == password);if (queryLogin != null){OperatorAddLoginCount(queryLogin);return "success";}return "密码与当前用户不匹配!请从新尝试!";}return "尊敬的用户您好!您的账户已经锁定或无效!请联系系统管理员!谢谢";}return "系统中没有查找到该用户!请查看用户名称是否正确!谢谢";}catch (EntityException ex){LogHelper.Info("用户登录", ex);return "服务端数据库打开无法连接!请联系系统管理!谢谢";}catch (Exception ex){LogHelper.Info("用户登录", ex);return "登录失败!";}}/// <summary>/// 用户登陆/// </summary>/// <param name="loginUserName">Name of the login user.</param>/// <param name="loginPassword">The login password.</param>/// <param name="log">The log.</param>/// <returns>用户信息.</returns>public T_Operator LoginOperator(string loginUserName, string loginPassword, params string[] log){if (string.IsNullOrEmpty(loginUserName) || string.IsNullOrEmpty(loginPassword))return null;try{string loginUser = loginUserName.ToLower();T_Operator queryExits = _dbContext.T_Operator.FirstOrDefault(o => o.OperatorID.ToLower() == loginUser || o.UserID.ToLower() == loginUser);if (queryExits != null){if (queryExits.State == 0){string password = EncodeHelper.DesEncrypt(loginPassword);if (queryExits.Passwrod == password){OperatorAddLoginCount(queryExits);return queryExits;}}}return null;}catch (EntityException ex){LogHelper.Info("用户登录", ex);throw ex;}catch (Exception ex){LogHelper.Info("用户登录", ex);throw ex;}}/// <summary>/// 用户登录次数添加/// </summary>/// <param name="operatorId">操作员ID</param>/// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>public bool OperatorAddLoginCount(T_Operator operatorId){if (operatorId != null){_dbContext.Sys_logs.Add(new Sys_logs{BusinessName = "用户登录",OperationIp = operatorId.OperatorID,OperationTime = DateTime.Now});operatorId.LoginCount = operatorId.LoginCount == null ? 0 : operatorId.LoginCount + 1;operatorId.LastLoginTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");}_dbContext.SaveChanges();return false;}/// <summary>/// 获取人员信息/// </summary>/// <param name="departId">以部门编号</param>/// <returns>List&lt;T_Operator&gt;.</returns>public List<T_Operator> GetOperatorListByDepartId(string departId){try{return _dbContext.Set<T_Operator>().Where(@operator => @operator.DepID == departId).ToList();}catch (EntityException e){throw e.InnerException;}}/// <summary>/// 判斷用戶登陸名稱是否存在/// Determines whether [is existe login user name] [the specified login user name]./// </summary>/// <param name="loginUserName">Name of the login user.</param>/// <returns><c>true</c> if [is existe login user name] [the specified login user name]; otherwise, <c>false</c>.</returns>public bool IsExisteLoginUserName(string loginUserName){T_Operator tOperator = _dbContext.T_Operator.FirstOrDefault(o => o.UserID == loginUserName);if (tOperator != null)return true;return false;}/// <summary>/// Gets the toperators by role identifier./// </summary>/// <param name="roleid">The roleid.</param>/// <returns>List&lt;T_Operator&gt;.</returns>List<T_Operator> GetToperatorsByRoleId(string roleid){try{return _dbContext.Set<T_Operator>().Where(o => o.RoleID == roleid).ToList();}catch (SqlException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}catch (EntityException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}}/// <summary>/// 修改用户密码/// </summary>/// <param name="oldPwd">旧的用户密码</param>/// <param name="newPwd">新的用户密码</param>/// <param name="userid">用户人员编号</param>/// <returns>System.String.</returns>public string ChangeUserPwd(string oldPwd, string newPwd, string userid){string password = EncodeHelper.DesEncrypt(oldPwd);var istrue = _dbContext.T_Operator.FirstOrDefault(o => o.OperatorID == userid && o.Passwrod == password);if (istrue != null){istrue.Passwrod = EncodeHelper.DesEncrypt(newPwd);_dbContext.SaveChanges();}else{return "当前的用户密码不正确!";}return "成功";}#endregion

操作人员管理

   #region 用户权限管理public void InsertOperatorPrivilegeInfo(T_Operator_Privilege operatorEntity){try{//  _enity.Attach(operatorEntity);_dbContext.Set<T_Operator_Privilege>().Add(operatorEntity);//  _enity.ObjectStateManager.ChangeObjectState(operatorEntity, EntityState.Added);
                _dbContext.SaveChanges();}catch (Exception ee){throw ee.InnerException;}}public void DeleteOperatorPrivilegeInfoByOperatorId(string operatorid){try{//  _enity.ExecuteStoreCommand("delete from  T_Operator_Privilege where Operatorid=@operatorids", new SqlParameter("@operatorids", operatorid));var rsult = from fx in _dbContext.T_Operator_Privilege where fx.OperatorID == operatorid select fx;if (rsult.Any()){foreach (var privilege in rsult){_dbContext.T_Operator_Privilege.Remove(privilege);}_dbContext.SaveChanges();}}catch (Exception ee){throw ee.InnerException;}}#endregion

用户权限管理

#region 用户角色//新增角色public bool InsertRoleInfo(T_Role roleEntity){try{_dbContext.T_Role.Add(roleEntity);_dbContext.SaveChanges();return true;}catch (DbException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}}public T_Role T_RoleById(string roleid){try{return _dbContext.Set<T_Role>().FirstOrDefault(o => o.RoleId == roleid && o.CodeNo == "有效");}catch (DbException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}}///<summary>///修改操作T_Role /// </summary>public bool UpdateT_Role(T_Role model){try{var category = _dbContext.T_Role.FirstOrDefault(o => o.RoleId == model.RoleId);if (category != null){category.RoleId = model.RoleId;category.RoleName = model.RoleName;category.CommentAry = model.CommentAry;category.CodeNo = model.CodeNo;category.CustomNo = model.CustomNo;category.SpellNo = model.SpellNo;category.StrokeNo = model.StrokeNo;}_dbContext.SaveChanges();}catch (EntityException){return false;}catch (Exception){return false;}return true;}///<summary>///删除操作T_Role /// </summary>public bool DeleteT_Role(string model){try{var category = _dbContext.T_Role.Where(o => o.RoleId == model);if (category.Any()){foreach (var item in category){_dbContext.Set<T_Role>().Attach(item);_dbContext.Set<T_Role>().Remove(item);}_dbContext.SaveChanges();}}catch (EntityException){return false;}catch (Exception){return false;}return true;}//返回角色权限信息public List<FindRoleRigthByRole> GetRoleRigthByRoleCode(string roleCode){var list = new List<FindRoleRigthByRole>();var query = from a in _dbContext.T_Role_Privilegejoin b in _dbContext.T_WholeMenu on a.NodeID equals b.NodeIdwherea.RoleId == roleCodeselect new{a.RoleId,ParentNode1 = a.ParentNode,a.NodeID,a.IsEndNode,a.Privid,a.IsToolBar,a.BarOrder,a.BarCaption,b.NodeName,b.ParentNode,b.PluginId,b.CommentAry,b.Disporder,b.Type,b.GroupByName,b.ImageIco,b.TypeShow};if (query.Any()){list.AddRange(query.ToList().Select(item => new FindRoleRigthByRole{BarCaption = item.BarCaption,BarOrder = item.BarOrder,CommentAry = item.CommentAry,IsEndNode = item.IsEndNode,IsToolBar = item.IsToolBar,NodeID = item.NodeID,NodeName = item.NodeName,ParentNode1 = item.ParentNode1,ParentNode = item.ParentNode,PluginId = item.PluginId,Privid = item.Privid,GroupByName = item.GroupByName,ImageIco = item.ImageIco,TypeShow = item.TypeShow,Disporder = item.Disporder}));}return list;}public List<T_Role> GetRoleAllList(){try{return (from fx in _dbContext.T_Role select fx).ToList();}catch (EntityException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}}public int GetMaxRoleId(){try{const string strsql = "select max(Convert(int,Roleid)) from T_Role";return _dbContext.Database.SqlQuery<int>(strsql).FirstOrDefault();}catch (Exception ee){throw ee.InnerException;}}#endregion

用户角色

#region 用户角色权限管理public void InsertTRolePrivilege(T_Role_Privilege roleEntity){// _enity.Attach(roleEntity);try{_dbContext.T_Role_Privilege.Add(roleEntity);//  _enity.ObjectStateManager.ChangeObjectState(roleEntity, EntityState.Added);
                _dbContext.SaveChanges();}catch (Exception ee){throw ee.InnerException;}}public void DeleteRolePrivilegeByRoleId(string roleid){try{_dbContext.Database.ExecuteSqlCommand("delete from T_Role_Privilege where roleid=@roleid", new SqlParameter("@roleid", roleid));}catch (Exception ee){throw ee.InnerException;}}public bool AddProjectLimits(List<T_ProjectLimits> projectLimitses, string typeinfo, string typeid){try{switch (typeinfo){case "Operator":string strsql = "delete from T_ProjectLimits where F_OperatorID=@Opid";SqlParameter[] parms = new SqlParameter[]{new SqlParameter("@Opid", typeid)};_dbContext.Database.ExecuteSqlCommand(strsql, parms);_dbContext.Set<T_ProjectLimits>().AddRange(projectLimitses);break;case "Role":string sqlrole = "delete from T_ProjectLimits where F_RoleId=@Opid";SqlParameter[] parmsrole = new SqlParameter[]{new SqlParameter("@Opid", typeid)};_dbContext.Database.ExecuteSqlCommand(sqlrole, parmsrole);//获取该角色的操作员DataTable opDt = Untity.ListToDataTable(GetToperatorsByRoleId(typeid));if (opDt.Rows.Count > 0){foreach (DataRow rows in opDt.Rows){string strsqloperator = "delete from T_ProjectLimits where F_OperatorID=@optUser";SqlParameter[] parmsoperator = new SqlParameter[]{new SqlParameter("@optUser", rows["OperatorId"])};_dbContext.Database.ExecuteSqlCommand(strsqloperator, parmsoperator);}}foreach (var item in projectLimitses){//添加角色信息item.F_RoleId = typeid;item.F_OperatorID = "";_dbContext.Set<T_ProjectLimits>().Add(item);foreach (DataRow rows in opDt.Rows){T_ProjectLimits  tp=new T_ProjectLimits(){F_ItemKey = item.F_ItemKey,F_ItemText = item.F_ItemText,F_OperatorID = rows["OperatorId"].ToString(),F_RoleId = typeid,F_SortId = item.F_SortId};                _dbContext.Set<T_ProjectLimits>().Add(tp);}}break;}_dbContext.SaveChanges();return true;}catch (EntityException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}catch (DbException exception){throw exception.InnerException;}}public bool AddOrgizationLimits(List<T_Organization_Privilege> organizationPrivileges, string typeinfo, string typeid){try{switch (typeinfo){case "Operator":string strsql = "delete from T_Organization_Privilege where F_OperatorId=@Opid";SqlParameter[] parms = new SqlParameter[]{new SqlParameter("@Opid", typeid)};_dbContext.Database.ExecuteSqlCommand(strsql, parms);_dbContext.Set<T_Organization_Privilege>().AddRange(organizationPrivileges);break;case "Role":string sqlrole = "delete from T_Organization_Privilege where F_RoleId=@Opid";SqlParameter[] parmsrole = new SqlParameter[]{new SqlParameter("@Opid", typeid)};_dbContext.Database.ExecuteSqlCommand(sqlrole, parmsrole);//获取该角色的操作员DataTable opDt = Untity.ListToDataTable(GetToperatorsByRoleId(typeid));if (opDt.Rows.Count > 0){foreach (DataRow rows in opDt.Rows){string strsqloperator = "delete from T_Organization_Privilege where F_OperatorId=@optUser";SqlParameter[] parmsoperator = new SqlParameter[]{new SqlParameter("@optUser", rows["OperatorId"])};_dbContext.Database.ExecuteSqlCommand(strsqloperator, parmsoperator);}}foreach (var item in organizationPrivileges){//添加角色信息item.F_OperatorId = "";item.F_RoleId = typeid;_dbContext.Set<T_Organization_Privilege>().Add(item);foreach (DataRow rows in opDt.Rows){T_Organization_Privilege tOrg=new T_Organization_Privilege(){F_KeyId = item.F_KeyId,F_OperatorId = rows["OperatorId"].ToString(),F_OrgID = item.F_OrgID,F_OrgName = item.F_OrgName,F_RoleId = typeid,F_ParentId = item.F_ParentId};_dbContext.Set<T_Organization_Privilege>().Add(tOrg);}}break;}_dbContext.SaveChanges();return true;}catch (EntityException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}catch (DbException exception){throw exception.InnerException;}}public bool AddLineMileageLimits(List<LineMileage_Privilege> organizationPrivileges, string typeinfo, string typeid){try{switch (typeinfo){case "Operator":string strsql = "delete from LineMileage_Privilege where OperatorId=@Opid";SqlParameter[] parms = new SqlParameter[]{new SqlParameter("@Opid", typeid)};_dbContext.Database.ExecuteSqlCommand(strsql, parms);_dbContext.Set<LineMileage_Privilege>().AddRange(organizationPrivileges);_dbContext.SaveChanges();break;case "Role":string sqlrole = "delete from LineMileage_Privilege where RoleId=@Opid";SqlParameter[] parmsrole = new SqlParameter[]{new SqlParameter("@Opid", typeid)};_dbContext.Database.ExecuteSqlCommand(sqlrole, parmsrole);//获取该角色的操作员DataTable opDt = Untity.ListToDataTable(GetToperatorsByRoleId(typeid));if (opDt.Rows.Count > 0){foreach (DataRow rows in opDt.Rows){string strsqloperator = "delete from LineMileage_Privilege where OperatorId=@optUser";SqlParameter[] parmsoperator = new SqlParameter[]{new SqlParameter("@optUser", rows["OperatorId"])};_dbContext.Database.ExecuteSqlCommand(strsqloperator, parmsoperator);}}foreach (var item in organizationPrivileges){//添加角色信息item.RoleId = typeid;item.OperatorId = "";_dbContext.Set<LineMileage_Privilege>().Add(item);foreach (DataRow rows in opDt.Rows){LineMileage_Privilege line = new LineMileage_Privilege(){MileageId = item.MileageId,MileageName = item.MileageName,NodeId = item.NodeId,OperatorId = rows["OperatorId"].ToString(),RoleId = typeid};_dbContext.Set<LineMileage_Privilege>().Add(line);}}_dbContext.SaveChanges();break;}return true;}catch (DbEntityValidationException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}catch (EntityException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}catch (DbException exception){throw exception.InnerException;}}#endregion

用户角色权限管理

#region 菜单管理public void InsertTWholemenu(T_WholeMenu menuEntity){try{_dbContext.Set<T_WholeMenu>().Add(menuEntity);_dbContext.SaveChanges();}catch (Exception ee){throw ee.InnerException;}}public bool UpdateTWholeMenu(T_WholeMenu menuEntity){try{var category = _dbContext.T_WholeMenu.FirstOrDefault(o => o.NodeId == menuEntity.NodeId);if (category != null){category.NodeId = menuEntity.NodeId;category.NodeName = menuEntity.NodeName;category.ParentNode = menuEntity.ParentNode;category.IsEndNode = menuEntity.IsEndNode;category.PluginId = menuEntity.PluginId;category.CommentAry = menuEntity.CommentAry;category.Disporder = menuEntity.Disporder;category.Type = menuEntity.Type;category.GroupByName = menuEntity.GroupByName;category.ImageIco = menuEntity.ImageIco;category.TypeShow = menuEntity.TypeShow;category.IsStartUp = menuEntity.IsStartUp;}_dbContext.SaveChanges();}catch (Exception ee){throw ee.InnerException;}return true;}public List<T_WholeMenu> GetAllWholeMenuList(){try{var query = from fx in _dbContext.T_WholeMenu select fx;return query.ToList();}catch (EntityException ex){LogHelper.Error("GetAllWholeMenuList",ex);throw ex.InnerException;}}public int GetTwholeMenuNodeId(){try{var category = _dbContext.T_WholeMenu.Where(o => o.NodeId.Length == 2).Max(o => o.NodeId);return Convert.ToInt32(category);}catch (EntityException ex){LogHelper.Error("GetTwholeMenuNodeId", ex);throw ex.InnerException;}}public int GetTWholeMenuNodeChildrenId(){try{var category = _dbContext.T_WholeMenu.Where(o => o.NodeId.Length > 3).Max(o => o.NodeId);return Convert.ToInt32(category);}catch (EntityException ex){LogHelper.Error("GetTWholeMenuNodeChildrenId", ex);throw ex.InnerException;}}public int GetMaxWholeMenuId(string parentnode){try{var category = _dbContext.T_WholeMenu.Where(o => o.ParentNode == parentnode).Max(o => o.NodeId);return Convert.ToInt32(category);}catch (EntityException ex){LogHelper.Error("GetMaxWholeMenuId", ex);throw ex.InnerException;}}//多级菜单删除public void DeleteWholeMenu(string parentid){try{var catetory = _dbContext.T_WholeMenu.Where(o => o.ParentNode == parentid);if (catetory.Any()){foreach (var item in catetory){T_WholeMenu itemTwhole = item;var queryReslut = _dbContext.T_WholeMenu.Where(o => o.ParentNode == itemTwhole.NodeId);//查询该菜单下面是否有子菜单if (queryReslut.Any()){foreach (var wholeMenu in queryReslut){T_WholeMenu menu = wholeMenu;var queryRm = _dbContext.T_WholeMenu.Where(o => o.ParentNode == menu.NodeId);if (queryRm.Any()){foreach (var itemMenu in queryRm){_dbContext.T_WholeMenu.Remove(itemMenu);}}_dbContext.T_WholeMenu.Remove(wholeMenu);}}_dbContext.T_WholeMenu.Remove(item);}_dbContext.SaveChanges();}}catch (InvalidOperationException e){Console.WriteLine(e);}catch (Exception ee){throw ee.InnerException;}}public void DeleteWholeMenuNode(string nodeid){try{var catetory = _dbContext.T_WholeMenu.Where(o => o.NodeId == nodeid);if (catetory.Any()){foreach (var item in catetory){_dbContext.Set<T_WholeMenu>().Attach(item);_dbContext.Set<T_WholeMenu>().Remove(item);}_dbContext.SaveChanges();}}catch (InvalidOperationException e){Console.WriteLine(e);}catch (Exception ee){throw ee.InnerException;}}/// <summary>/// 保存用户权限/// </summary>/// <param name="dt">DataTable 数据源</param>/// <param name="type">类型</param>/// <param name="typeid">RoleId或OperatorId</param>/// <returns></returns>public bool AddUserRight(DataTable dt, string type, string typeid){try{switch (type){#region Rolecase "Role"://删除该角色所有的权限
                        DeleteRolePrivilegeByRoleId(typeid);_dbContext.Sys_Button_Privilege.RemoveRange(_dbContext.Sys_Button_Privilege.Where(o => o.RoleId == typeid));_dbContext.SaveChanges();//获取该角色的操作员DataTable opDt = Untity.ListToDataTable(GetToperatorsByRoleId(typeid));if (opDt.Rows.Count > 0){foreach (DataRow row in opDt.Rows){//删除该角色对应操作员权限信息DeleteOperatorPrivilegeInfoByOperatorId(row["OperatorId"].ToString());RemoveSysButtonsPrivilege(row);}}foreach (DataRow roleRow in dt.Select(" Isendnode='menu'")){if (roleRow.RowState == DataRowState.Deleted)continue;//创建对象var roleData = new T_Role_Privilege{BarCaption = roleRow["NodeName"].ToString(),BarOrder = 0,IsEndNode = roleRow["IsendNode"].ToString(),NodeID = roleRow["NodeId"].ToString(),ParentNode = roleRow["ParentNode"].ToString(),Privid = roleRow["NodeId"].ToString(),RoleId = typeid,IsToolBar = 0};//插入新的角色权限信息// rolePrivilege.InsertTRolePrivilege(roleData);
                            InsertTRolePrivilege(roleData);foreach (DataRow opRow in opDt.Rows){var operData = new T_Operator_Privilege{BarCaption = roleRow["NodeName"].ToString(),BarOrder = 0,IsEndNode = roleRow["IsendNode"].ToString(),NodeId = roleRow["NodeId"].ToString(),ParentNode = roleRow["ParentNode"].ToString(),PrivId = roleRow["NodeId"].ToString(),OperatorID = opRow["Operatorid"].ToString(),IsToolBar = 0};//插入新的该角色操作员权限信息
                                InsertOperatorPrivilegeInfo(operData);}}foreach (DataRow rows in dt.Select(" Isendnode='button'")){if (rows.RowState == DataRowState.Deleted)continue;//newRow["Nodeid"] = rowbutton.KeyId;//newRow["ParentNode"] = rowbutton.MenuId;//newRow["NodeName"] = rowbutton.ButtonCaption;//newRow["Isendnode"] = "button";//newRow["Disporder"] = rowbutton.ButtonId;var opData = new Sys_Button_Privilege();if (rows["Disporder"] != null){opData.ButtonId = Convert.ToInt32(rows["Disporder"]);}opData.RoleId = typeid;string nodeid = rows["Nodeid"].ToString();if (nodeid.Length == 1){nodeid = nodeid.PadLeft(2, '0');}opData.NodeId = nodeid;_dbContext.Set<Sys_Button_Privilege>().Add(opData);foreach (DataRow opRow in opDt.Rows){var opData2 = new Sys_Button_Privilege();if (rows["Disporder"] != null){opData2.ButtonId = Convert.ToInt32(rows["Disporder"]);}opData2.RoleId = typeid;opData2.OperatorId = opRow["OperatorId"].ToString();opData2.NodeId = nodeid;_dbContext.Set<Sys_Button_Privilege>().Add(opData2);}}_dbContext.SaveChanges();break;#endregion#region Operatorcase "Operator"://删除该操作员权限信息try{DeleteOperatorPrivilegeInfoByOperatorId(typeid);_dbContext.Sys_Button_Privilege.RemoveRange(_dbContext.Sys_Button_Privilege.Where(o => o.OperatorId == typeid));_dbContext.SaveChanges();}catch (Exception){return false;}foreach (DataRow rows in dt.Select(" Isendnode='menu'")){if (rows.RowState == DataRowState.Deleted)continue;var opData = new T_Operator_Privilege{BarCaption = rows["NodeName"].ToString(),BarOrder = 0,IsEndNode = rows["Isendnode"].ToString(),IsToolBar = 0,NodeId = rows["Nodeid"].ToString(),ParentNode = rows["Parentnode"].ToString(),PrivId = rows["Nodeid"].ToString(),OperatorID = typeid};//插入该操作员权限信息
                            InsertOperatorPrivilegeInfo(opData);}foreach (DataRow rows in dt.Select(" Isendnode='button'")){if (rows.RowState == DataRowState.Deleted)continue;//newRow["Nodeid"] = rowbutton.KeyId;//newRow["ParentNode"] = rowbutton.MenuId;//newRow["NodeName"] = rowbutton.ButtonCaption;//newRow["Isendnode"] = "button";//newRow["Disporder"] = rowbutton.ButtonId;var opData = new Sys_Button_Privilege();if (rows["Disporder"] != null){opData.ButtonId = Convert.ToInt32(rows["Disporder"]);}opData.OperatorId = typeid;string nodeid = rows["Nodeid"].ToString();if (nodeid.Length == 1){nodeid = nodeid.PadLeft(2, '0');}opData.NodeId = nodeid;_dbContext.Set<Sys_Button_Privilege>().Add(opData);}_dbContext.SaveChanges();break;#endregion}}catch (EntitySqlException){return false;}catch (InvalidOperationException){return false;}catch (EntityException){return false;}catch (Exception ee){throw ee.InnerException;}return true;}private void RemoveSysButtonsPrivilege(DataRow row){try{string operatorId = row["OperatorId"].ToString();var query = _dbContext.Sys_Button_Privilege.Where(o => o.OperatorId == operatorId);if (query.Any()){_dbContext.Sys_Button_Privilege.RemoveRange(query);_dbContext.SaveChanges();}}catch (EntityException ex){LogHelper.Error("RemoveSysButtonsPrivilege", ex);throw ex.InnerException;}}#endregion

菜单管理

#region 系统字典public bool InsertDectionary(T_DictionaryInfo tInfo){try{if (!_dbContext.Set<T_DictionaryInfo>().Any(o => o.F_DictonaryCode == tInfo.F_DictonaryCode)){_dbContext.Set<T_DictionaryInfo>().Add(tInfo);_dbContext.SaveChanges();return true;}}catch (UpdateException e){throw e.InnerException;}catch (Exception ee){throw ee.InnerException;}return false;}public bool UpdateDectionary(T_DictionaryInfo tInfo){try{var catetory = _dbContext.T_DictionaryInfo.First(o => o.F_DictonaryCode == tInfo.F_DictonaryCode);catetory.F_DictonaryCode = tInfo.F_DictonaryCode;catetory.F_DictonaryCoding = tInfo.F_DictonaryCoding;catetory.F_DictonaryName = tInfo.F_DictonaryName;catetory.F_DictonaryType = tInfo.F_DictonaryType;catetory.F_ParentDictonaryCode = tInfo.F_ParentDictonaryCode;catetory.F_Remark = tInfo.F_Remark;_dbContext.SaveChanges();}catch (UpdateException exception){throw exception.InnerException;}catch (EntityException exception){throw exception.InnerException;}catch (Exception exception){throw exception.InnerException;}return true;}public List<T_DictionaryInfo> GetAllDictonaryList(){try{List<T_DictionaryInfo> list = (from dictionaryInfo in _dbContext.T_DictionaryInfo select dictionaryInfo).ToList();return list;}catch (Exception ee){throw ee.InnerException;}}public List<T_DictionaryInfo> SearchDictionaryOfType(string fDictonaryCode){var list = new List<T_DictionaryInfo>();try{if (!string.IsNullOrEmpty(fDictonaryCode)){list = (from dictionaryInfo in _dbContext.T_DictionaryInfo where dictionaryInfo.F_ParentDictonaryCode == fDictonaryCode select dictionaryInfo).ToList();return list;}}catch (UpdateException e){throw e.InnerException;}catch (Exception ee){throw ee.InnerException;}return list;}public List<T_DictionaryInfo> SearchDictionaryOfTypeCode(string typeCode){List<T_DictionaryInfo>  list=new List<T_DictionaryInfo>();try{if (!string.IsNullOrEmpty(typeCode)){T_DictionaryInfo  tDictionaryInfo= _dbContext.T_DictionaryInfo.FirstOrDefault(o=>o.F_DictonaryType==typeCode);if (tDictionaryInfo != null){list = SearchDictionaryOfType(tDictionaryInfo.F_DictonaryCode);}}}catch (UpdateException e){throw e.InnerException;}catch (Exception ee){throw ee.InnerException;}return list;}public int GetMaxDictionaryParentCode(){try{var category = _dbContext.T_DictionaryInfo.Where(o => o.F_DictonaryCode.Length == 2).Max(o => o.F_DictonaryCode);return Convert.ToInt32(category);}catch (UpdateException e){throw e.InnerException;}catch (Exception ee){throw ee.InnerException;}}public int GetDictionaryNodeChildrenCode(){try{var category = _dbContext.T_DictionaryInfo.Where(o => o.F_DictonaryCode.Length > 3).Max(o => o.F_DictonaryCode);return Convert.ToInt32(category);}catch (UpdateException e){throw e.InnerException;}catch (Exception ee){throw ee.InnerException;}}public int GetMaxDictionaryCode(string parentCode){try{var category = _dbContext.T_DictionaryInfo.Where(o => o.F_ParentDictonaryCode == parentCode).Max(o => o.F_DictonaryCode);return Convert.ToInt32(category);}catch (UpdateException e){throw e.InnerException;}catch (Exception ee){throw ee.InnerException;}}public bool DeleteDictionaryChildrenCode(string dictonaryCode){try{var catetory = _dbContext.T_DictionaryInfo.Where(o => o.F_DictonaryCode == dictonaryCode);if (catetory.Any()){foreach (var item in catetory){_dbContext.Set<T_DictionaryInfo>().Attach(item);_dbContext.Set<T_DictionaryInfo>().Remove(item);}_dbContext.SaveChanges();}}catch (UpdateException e){throw e.InnerException;}catch (Exception ee){throw ee.InnerException;}return true;}public bool DeleteDictonaryCode(string parnentdictonaryCode){try{var catetory = _dbContext.T_DictionaryInfo.Where(o => o.F_ParentDictonaryCode == parnentdictonaryCode);if (catetory.Any()){foreach (var item in catetory){_dbContext.Set<T_DictionaryInfo>().Attach(item);_dbContext.Set<T_DictionaryInfo>().Remove(item);}_dbContext.SaveChanges();}}catch (UpdateException){return false;}catch (EntityException){return false;}catch (Exception){return false;}return true;}public DataTable GetAllTableNameByDb(string dataBaseName){try{var retVal = new DataTable();var sqlConn = (SqlConnection)_dbContext.Database.Connection;var cmdReport = new SqlCommand(string.Format("SELECT Name FROM {0}..SysObjects Where XType='U' ORDER BY Name", dataBaseName), sqlConn);var daReport = new SqlDataAdapter(cmdReport);using (cmdReport){daReport.Fill(retVal);}retVal.TableName = "SystemTableName";return retVal;}catch (UpdateException e){throw e.InnerException;}catch (Exception ee){throw ee.InnerException;}}public int GetDictionaryCountByParentCode(string parentCode){try{var category = _dbContext.T_DictionaryInfo.Count(o => o.F_ParentDictonaryCode == parentCode);return Convert.ToInt32(category);}catch (UpdateException e){throw e.InnerException;}catch (Exception ee){throw ee.InnerException;}}public T_DictionaryInfo GetTDictonaryInfo(string dictonaryCode){var query = (from fx in _dbContext.T_DictionaryInfo where fx.F_DictonaryCode.Equals(dictonaryCode) select fx).FirstOrDefault();return query;}#endregion

系统字典

 #region 机构///<summary>///新增操作T_Organization /// </summary>public bool InsertT_Organization(T_Organization model,string operatorId){try{_dbContext.Set<T_Organization>().Add(model);//插入权限_dbContext.Set<T_Organization_Privilege>().Add(new T_Organization_Privilege(){F_OperatorId =operatorId,F_OrgID = model.F_OrgID,F_OrgName = model.F_OrgName,F_ParentId = model.F_ParentID});if (operatorId != "10000"){//插入超级管理员的权限_dbContext.Set<T_Organization_Privilege>().Add(new T_Organization_Privilege(){F_OperatorId = "10000",F_OrgID = model.F_OrgID,F_OrgName = model.F_OrgName,F_ParentId = model.F_ParentID});  }_dbContext.SaveChanges();}catch (EntityException){return false;}catch (Exception){return false;}return true;}///<summary>///修改操作T_Organization /// </summary>public bool UpdateT_Organization(T_Organization model){try{var category = _dbContext.T_Organization.FirstOrDefault(o => o.F_OrgID == model.F_OrgID);if (category != null){category.F_OrgID = model.F_OrgID;category.F_OrgName = model.F_OrgName;category.F_OrgManager = model.F_OrgManager;category.F_BuildDate = model.F_BuildDate;category.F_BuildMan = model.F_BuildMan;category.F_TellPhoneNum = model.F_TellPhoneNum;category.F_Address = model.F_Address;category.F_ParentID = model.F_ParentID;category.F_State = model.F_State;}//  _enity.Entry(.State = EntityState.Modified;_dbContext.Entry(category).State = EntityState.Modified;//修改权限表var privialeages = _dbContext.T_Organization_Privilege.Where(o => o.F_OrgID == model.F_OrgID);if (privialeages.Any()){foreach (T_Organization_Privilege privialeage in privialeages){privialeage.F_OrgName = model.F_OrgName;}}_dbContext.SaveChanges();}catch (EntityException){return false;}catch (Exception){return false;}return true;}///<summary>///删除操作T_Organization /// </summary>public bool DeleteT_Organization(string modelCode){try{var category = _dbContext.T_Organization.Where(o => o.F_OrgID == modelCode);if (category.Any()){foreach (T_Organization item in category){_dbContext.Set<T_Organization>().Attach(item);_dbContext.Set<T_Organization>().Remove(item);}_dbContext.SaveChanges();}//删除权限表里面的信息var privleages = _dbContext.T_Organization_Privilege.Where(o => o.F_OrgID == modelCode);if (privleages.Any()){foreach (T_Organization_Privilege organization in privleages){_dbContext.Set<T_Organization_Privilege>().Attach(organization);_dbContext.Set<T_Organization_Privilege>().Remove(organization);   }_dbContext.SaveChanges();}}catch (EntityException){return false;}catch (Exception){return false;}return true;}///<summary>///获取所有数据T_Organization /// </summary>public List<T_Organization> GetT_OrganizationListData(){try{return _dbContext.T_Organization.ToList();}catch (EntityException exception){throw exception.InnerException;}catch (Exception exception){throw exception.InnerException;}}public IQueryable<T_Organization> GetT_OrganizationBy(string operatorId){try{var query = _dbContext.T_Organization.Where(o => o.F_OrgID == operatorId);return query;}catch (EntityException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}catch (DbException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}}#endregion

组织机构

 #region 机构数据权限/// <summary>///根据SQL语句查询返回IQueryableT_Organization_Privilege/// <param name="strsql">T_Organization_PrivilegeSQL语句</param>/// </summary>public IQueryable<T_Organization_Privilege> GetT_Organization_PrivilegeBySql(string strsql, params object[] obj){try{IQueryable<T_Organization_Privilege> iQueryable = _dbContext.Database.SqlQuery<T_Organization_Privilege>(strsql, obj).AsQueryable();return iQueryable;}catch (EntityException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}catch (DbException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}}public List<T_Organization_Privilege> GetT_Organization_PrivilegeById(string id){try{return _dbContext.Set<T_Organization_Privilege>().Where(o => o.F_OperatorId == id).ToList();}catch (EntityException ex){LogHelper.Error(ex.Message);throw ex.InnerException;}catch (DbException exception){LogHelper.Error(exception.Message);throw exception.InnerException;}}public bool UpdateT_Organization_Privilege(List<T_Organization_Privilege> entity){try{foreach (var operatorOrgPrivilege in entity){new BaseDAL<T_Organization_Privilege>(_dbContext).Modify(operatorOrgPrivilege);}return true;}catch (EntityException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}catch (DbException exception){throw exception.InnerException;}}public bool CreateT_Organization_Privilege(List<T_Organization_Privilege> entity, string operatorId){try{string strsql = "delete from T_Organization_Privilege where F_OperatorId=@Opid";SqlParameter[] parms = new SqlParameter[]{new SqlParameter("@Opid",operatorId)};_dbContext.Database.ExecuteSqlCommand(strsql, parms);foreach (var operatorOrgPrivilege in entity){_dbContext.Set<T_Organization_Privilege>().Add(operatorOrgPrivilege);}_dbContext.SaveChanges();return true;}catch (EntityException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}catch (DbException exception){throw exception.InnerException;}}public bool CreateT_Organization_PrivilegeEntity(T_Organization_Privilege entity){try{_dbContext.Set<T_Organization_Privilege>().Add(entity);_dbContext.SaveChanges();return true;}catch (EntityException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}catch (DbException exception){throw exception.InnerException;} }public bool DeleteT_Organization_Privilege(List<int> id){try{foreach (var i in id){new BaseDAL<T_Organization_Privilege>(_dbContext).DelBy(o => o.F_KeyId == i);}return true;}catch (EntityException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}catch (DbException exception){throw exception.InnerException;}}/// <summary>///获取实体LineMileage_Privilege/// <param name="id">主键编号</param>/// </summary>public LineMileage_Privilege GetLineMileage_PrivilegeById(string id){try{return _dbContext.LineMileage_Privilege.FirstOrDefault(o => o.SysId == int.Parse(id));}catch (EntityException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}catch (DbException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}}/// <summary>///修改实体LineMileage_Privilege/// <param name="entity">LineMileage_Privilege实体</param>/// </summary>public bool UpdateLineMileage_Privilege(LineMileage_Privilege entity){try{var category = _dbContext.LineMileage_Privilege.FirstOrDefault(o => o.SysId == entity.SysId);if (category != null){category.SysId = entity.SysId;category.NodeId = entity.NodeId;category.OperatorId = entity.OperatorId;category.MileageId = entity.MileageId;_dbContext.SaveChanges();}}catch (EntityException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}catch (DbException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}return true;}/// <summary>///新增实体LineMileage_Privilege/// <param name="entity">LineMileage_Privilege实体</param>/// </summary>public bool CreateLineMileage_Privilege(List<LineMileage_Privilege> entity, string operatorid){try{string strsql = "delete from LineMileage_Privilege where Operatorid=@Opid";SqlParameter[] parms = new SqlParameter[]{new SqlParameter("@Opid",operatorid)};_dbContext.Database.ExecuteSqlCommand(strsql, parms);foreach (var item in entity){_dbContext.Set<LineMileage_Privilege>().Add(item);_dbContext.SaveChanges();}return true;}catch (EntityException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}catch (DbException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}}/// <summary>///删除LineMileage_Privilege/// <param name="id">主键编号SysId</param>/// </summary>public bool DeleteLineMileage_Privilege(string id){try{var category = _dbContext.LineMileage_Privilege.FirstOrDefault(o => o.SysId == int.Parse(id));if (category != null){_dbContext.Set<LineMileage_Privilege>().Attach(category);_dbContext.Set<LineMileage_Privilege>().Remove(category);_dbContext.SaveChanges();}}catch (EntityException ex){LogHelper.Error(ex.Message);throw ex.InnerException;}catch (DbException ex){LogHelper.Error(ex.Message);throw ex.InnerException;}return true;}public IQueryable<T_ProjectLimits> GetT_ProjectLimitsBySql(string strsql, params object[] obj){try{IQueryable<T_ProjectLimits> iQueryable =_dbContext.Database.SqlQuery<T_ProjectLimits>(strsql, obj).AsQueryable();return iQueryable;}catch (EntityException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}catch (DbException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}}/// <summary>///根据SQL语句查询返回IQueryableLineMileage_Privilege/// <param name="strsql">LineMileage_PrivilegeSQL语句</param>/// </summary>public IQueryable<LineMileage_Privilege> GetLineMileage_PrivilegeBySql(string strsql, params CmdParameter[] obj){try{DbParameter[] parameters = new DbParameter[obj.Length];for (int i = 0; i < obj.Length; i++){DbParameter sqlPram = new SqlParameter(obj[i].ParameterName, obj[i].Value);parameters[i] = sqlPram;}IQueryable<LineMileage_Privilege> iQueryable = _dbContext.Database.SqlQuery<LineMileage_Privilege>(strsql, parameters).AsQueryable();return iQueryable;}catch (EntityException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}catch (DbException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}}public bool CreateT_ProjectLimits_Privilege(List<T_ProjectLimits> entity, string operatorId){try{string strsql = "delete from T_ProjectLimits where F_OperatorID=@Opid";SqlParameter[] parms = new SqlParameter[]{new SqlParameter("@Opid",operatorId)};_dbContext.Database.ExecuteSqlCommand(strsql, parms);foreach (var item in entity){_dbContext.Set<T_ProjectLimits>().Add(item);}_dbContext.SaveChanges();return true;}catch (EntityException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}catch (DbException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}}public IQueryable<T_ProjectLimits> GetT_ProjectLimitsByOperator(string operatorid){try{var query=_dbContext.T_ProjectLimits.Where(o => o.F_OperatorID == operatorid);return query;}catch (EntityException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}catch (DbException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}}#endregion bn

机构数据权限

   #region 按钮服务/// <summary>///获取实体Sys_Buttons/// <param name="id">主键编号</param>/// </summary>public Sys_Buttons GetSys_ButtonsById(int id){try{return _dbContext.Sys_Buttons.FirstOrDefault(o => o.KeyId == id);}catch (DbException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}}/// <summary>///修改实体Sys_Buttons/// <param name="entity">Sys_Buttons实体</param>/// </summary>public bool UpdateSys_Buttons(Sys_Buttons entity){try{var category = _dbContext.Sys_Buttons.FirstOrDefault(o => o.KeyId == entity.KeyId);if (category != null){category.KeyId = entity.KeyId;category.ButtonCaption = entity.ButtonCaption;category.Sortnum = entity.Sortnum;category.IconCls = entity.IconCls;category.IconUrl = entity.IconUrl;category.ButtonTag = entity.ButtonTag;category.Remark = entity.Remark;category.ButtonHtml = entity.ButtonHtml;category.BuggonGroup = entity.BuggonGroup;category.State = entity.State;category.ToolTip = entity.ToolTip;_dbContext.SaveChanges();}}catch (DbException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}return true;}/// <summary>///新增实体Sys_Buttons/// <param name="entity">Sys_Buttons实体</param>/// </summary>public bool CreateSys_Buttons(Sys_Buttons entity){try{_dbContext.Set<Sys_Buttons>().Add(entity);_dbContext.SaveChanges();return true;}catch (DbException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}}/// <summary>///删除Sys_Buttons/// <param name="id">主键编号KeyId</param>/// </summary>public bool DeleteSys_Buttons(int id){try{var category = _dbContext.Sys_Buttons.FirstOrDefault(o => o.KeyId == id);if (category != null){_dbContext.Set<Sys_Buttons>().Attach(category);_dbContext.Set<Sys_Buttons>().Remove(category);_dbContext.SaveChanges();}}catch (DbException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}return true;}public IQueryable<Sys_WholeMenuButtons> GetSys_WholeMenuButtonsBySql(string sql, params CmdParameter[] obj){try{DbParameter[] parameters = new DbParameter[obj.Length];for (int i = 0; i < obj.Length; i++){DbParameter sqlPram = new SqlParameter(obj[i].ParameterName, obj[i].Value);parameters[i] = sqlPram;}IQueryable<Sys_WholeMenuButtons> iQueryable = _dbContext.Database.SqlQuery<Sys_WholeMenuButtons>(sql, parameters).AsQueryable();return iQueryable;}catch (DbException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}}/// <summary>///根据SQL语句查询返回IQueryableSys_Buttons/// <param name="sql">Sys_ButtonsSQL语句</param>/// </summary>public IQueryable<Sys_Buttons> GetSys_ButtonsBySql(string strsql, params CmdParameter[] obj){try{DbParameter[] parameters = new DbParameter[obj.Length];for (int i = 0; i < obj.Length; i++){DbParameter sqlPram = new SqlParameter(obj[i].ParameterName, obj[i].Value);parameters[i] = sqlPram;}IQueryable<Sys_Buttons> iQueryable = _dbContext.Database.SqlQuery<Sys_Buttons>(strsql, parameters).AsQueryable();return iQueryable;}catch (DbException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}}public List<TWholeMenuButton> GetTWholeMenuButtons(string menuId){try{var query = (from fx in _dbContext.Sys_WholeMenuButtonsjoin fb in _dbContext.Sys_Buttonson fx.ButtonId equals fb.KeyIdwhere fx.MenuId == menuIdselect new TWholeMenuButton{KeyId = fx.KeyId,MenuId = fx.MenuId,Sortnum = fx.Sortnum,ButtonCaption = fb.ButtonCaption,IconCls = fb.IconCls}).ToList();return query;}catch (FormatException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}catch (DbException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}}public List<TWholeMenuButton> GetTWholeMenuButtonsAllList(){try{var queryResult = (from fx in _dbContext.Sys_Buttonsjoin dx in _dbContext.Sys_WholeMenuButtons on fx.KeyId equals dx.ButtonIdselect new TWholeMenuButton(){KeyId = dx.KeyId,ButtonCaption = fx.ButtonCaption,ButtonId = fx.KeyId,IconCls = fx.IconCls,MenuId = dx.MenuId,Sortnum = dx.Sortnum}).ToList();return queryResult;}catch (EntityException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}catch (DbException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}}public List<TWholeMenuButton> GetButtonLimitsAlList(string operatorId){try{var queryResult = (from db in _dbContext.Sys_Buttonsjoin fx in _dbContext.Sys_Button_Privilegeon db.KeyId equals fx.ButtonIdwhere fx.OperatorId == operatorIdselect new TWholeMenuButton(){KeyId = db.KeyId,ButtonId = db.KeyId,MenuId = fx.NodeId,ButtonCaption = db.ButtonCaption,OperatorId = operatorId}).ToList();return queryResult;}catch (EntityException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}catch (DbException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}}public List<TWholeMenuButton> GetButtonLimitstRoleAllList(string roleId){try{var queryResult = (from db in _dbContext.Sys_Buttonsjoin fx in _dbContext.Sys_Button_Privilegeon db.KeyId equals fx.ButtonIdwhere fx.RoleId == roleId&& fx.OperatorId == null || fx.OperatorId == ""select new TWholeMenuButton(){KeyId = db.KeyId,ButtonId = db.KeyId,MenuId = fx.NodeId,ButtonCaption = db.ButtonCaption,RoleId = roleId}).ToList();return queryResult;}catch (EntityException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}catch (DbException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}}/// <summary>///新增实体Sys_WholeMenuButtons/// <param name="entity">Sys_WholeMenuButtons实体</param>/// </summary>public bool CreateSys_WholeMenuButtons(List<Sys_WholeMenuButtons> entity){try{foreach (var item in entity){_dbContext.Set<Sys_WholeMenuButtons>().Add(item);}_dbContext.SaveChanges();return true;}catch (DbException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}}/// <summary>///删除Sys_WholeMenuButtons/// <param name="nodeid">主键编号KeyId</param>/// </summary>public bool DeleteSys_WholeMenuButtons(string nodeid){try{var category = _dbContext.Sys_WholeMenuButtons.Where(o => o.MenuId == nodeid);if (category.Any()){foreach (var item in category){_dbContext.Set<Sys_WholeMenuButtons>().Attach(item);_dbContext.Set<Sys_WholeMenuButtons>().Remove(item);}}_dbContext.SaveChanges();}catch (DbException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}return true;}public IQueryable<ProjectsLimits> GetProjectsLimitsesByOperator(string operatorId){try{var category = (from fx in _dbContext.T_ProjectLimitsjoin db in _dbContext.RbimProjecton fx.F_ItemKey equals db.ItemKeywhere fx.F_OperatorID == operatorIdselect new ProjectsLimits(){ProjectCode = db.ProjectCode,ItemKey = db.ItemKey,ItemText = fx.F_ItemText,OperatorId = operatorId,ProjectLocation = db.ProjectLocation,ProjectRemark = db.ProjectRemark,ProjectUrl = db.ProjectUrl,RoleId = fx.F_RoleId,SortId = fx.F_SortId}).AsQueryable();return category;}catch (EntityException ex){LogHelper.Error(ex.Message);throw ex.InnerException;}catch (DbException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}}public IEnumerable<LineMileageLimits> GetLineMileageLimitsesByOperator(string operatorId, string projectKey){try{var category = (from fx in _dbContext.LineMileage_Privilegejoin db in _dbContext.LineMileageson fx.MileageId equals db.MileageID.ToString()where fx.NodeId == projectKey&& fx.OperatorId==operatorIdselect new LineMileageLimits(){SysId = fx.SysId,MileageId = fx.MileageId,MileageName = fx.MileageName,ProjectKey = fx.NodeId,ModelSizes = db.ModelSizes,ModelType = db.ModelType,NodeType = db.NodeType,OperatorId = fx.OperatorId,ParentMileageId = db.ParentMileageID,PlanPath = db.PlanPath,SortId = db.SortId,RelationModel = db.RelationModel,SOidModelFile = db.SOidModelFile}).AsEnumerable();return category;}catch (EntityException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}catch (DbException ex){LogHelper.Error(ex.Message); throw ex.InnerException;}}#endregion

按钮服务

  public void Dispose(){var dispose = _dbContext as IDisposable;if (dispose != null){_dbContext.Dispose();}}}

4、WCF服务启动

  public void ServiceStart(){try{string serviceport = ConfigurationManager.AppSettings["port"];// "8007";string serviceIp = ConfigurationManager.AppSettings["serviceIp"];// "127.0.0.1";string serviceAddress = string.Format("net.tcp://{0}:{1}", serviceIp, serviceport);var sevtypes = new Dictionary<Type, Type>{{typeof (IOperationpurviewService), typeof (OperationService)}};foreach (var item in sevtypes){string tName = item.Key.Name.Substring(1);string endpointAddress = serviceAddress + tName;if (!serviceAddress.EndsWith("/"))endpointAddress = string.Format("{0}/{1}", serviceAddress, tName);var serviceHost = new ServiceHost(item.Value, new Uri(endpointAddress));//加载元数据结点var smb = new ServiceMetadataBehavior();serviceHost.Description.Behaviors.Add(smb);// serviceHost.Description.Behaviors.Add(new ServiceDebugBehavior(){IncludeExceptionDetailInFaults = true});serviceHost.AddServiceEndpoint(typeof(IMetadataExchange),MetadataExchangeBindings.CreateMexTcpBinding(), "mex");//加载NetTcpBinding结点var netTcpBinding = new NetTcpBinding{Security = { Mode = SecurityMode.None },ReceiveTimeout = TimeSpan.Parse("10:59:00"),CloseTimeout = TimeSpan.Parse("10:59:00"),OpenTimeout = TimeSpan.Parse("10:59:00"),SendTimeout = TimeSpan.Parse("10:59:00"),MaxBufferPoolSize = long.MaxValue - 1,MaxBufferSize = int.MaxValue - 1,MaxReceivedMessageSize = int.MaxValue - 1,//MaxConnections = 1000,ReaderQuotas ={MaxDepth = int.MaxValue - 1,MaxStringContentLength = int.MaxValue - 1,MaxArrayLength = int.MaxValue - 1,MaxBytesPerRead = int.MaxValue - 1,MaxNameTableCharCount = int.MaxValue - 1}//  ,PortSharingEnabled = true //端口共享
                    };serviceHost.AddServiceEndpoint(item.Key, netTcpBinding, endpointAddress);string address = endpointAddress;serviceHost.Opened += delegate{LoadPluginNameSpace.Add(new ServiceInfo() { Address = address + "/mex", Id = 0, State = "启动" });};serviceHost.Open();ServiceHosts.Add(serviceHost);}}catch (ConfigurationException e){Console.WriteLine(e);}catch (Exception ex){throw ex;}}

5、WCF 注册Windows服务

  internal class OperatorService : ServiceBase{private IContainer components = null;public ServiceHost serviceHost;public OperatorService(){this.InitializeComponent();base.ServiceName= "LU.ServiceModule.OperationService";}protected override void Dispose(bool disposing){if (disposing && (this.components != null)){this.components.Dispose();}base.Dispose(disposing);}private void InitializeComponent(){this.components = new Container();base.ServiceName = "LU.ServiceModule.OperationService";}protected override void OnStart(string[] args){this.serviceHost = new ServiceHost(typeof(OperationService));ServiceMetadataBehavior item = new ServiceMetadataBehavior();this.serviceHost.Description.Behaviors.Add(item);this.serviceHost.AddServiceEndpoint(typeof(IMetadataExchange), MetadataExchangeBindings.CreateMexTcpBinding(), "mex");this.serviceHost.Opened += (param0, param1) => LogHelper.Info("OperationService is Starting!!!");this.serviceHost.Open();}protected override void OnStop(){if (this.serviceHost != null){this.serviceHost.Abort();}}}

转载于:https://www.cnblogs.com/w2011/p/11286229.html

BIM工程信息管理新系统- 系统管理模块相关推荐

  1. 计算机毕业设计 SSM+Vue药品超市系统 线上购药系统 药品信息管理新系统 药物库管理系统Java Vue MySQL数据库 远程调试 代码讲解

    精彩专栏推荐订阅:在 下方专栏

  2. BIM工程信息管理系统搭建-系统功能需求

    BIM工程信息管理系统功能需求 该系统是真实存在项目,项目于2013年开始研发到2014年初完成,按照当时技术能力和国内BIM现状,现在BIM技术已比之前好多了,不管是建模.展示等.均提高了不少,本博 ...

  3. BIM工程信息管理系统-详细设计

    详细设计说明书 1引言 1.1编写目的 编写详细设计说明书的目的就是为程序员写出实际的程序代码提供依据.它是软件详细设计阶段所有任务和所有相关人员所需的参考资料. 1.2背景 说明: a.  软件名称 ...

  4. 智慧医院新系统架构设计与建设

    一.建设背景 我国医院信息系统经过近40年的发展,大部分医院已经被架构陈旧的HIS制约业务发展.一方面HIS厂商的技术人员流动,致使HIS对需求变更的响应越来越慢,成本越来越高,用户满意度越来越低:另 ...

  5. [附源码]Java计算机毕业设计SSM道路桥梁工程知识文库系统

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  6. 计算机毕业设计SSM道路桥梁工程知识文库系统【附源码数据库】

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  7. [附源码]Python计算机毕业设计道路桥梁工程知识文库系统Django(程序+LW)

    该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ python3.7.7 + Mysql5.7 + HBuilderX+list pip+N ...

  8. [附源码]Node.js计算机毕业设计道路桥梁工程知识文库系统Express

    项目运行 环境配置: Node.js最新版+ Vscode + Mysql5.7 + HBuilderX+Navicat11+Vue. 项目技术: Express框架 + Node.js+ Vue 等 ...

  9. [附源码]JAVA+ssm计算机毕业设计道路桥梁工程知识文库系统(程序+Lw)

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

最新文章

  1. 2010年5月八达岭野生公园 51CTO老虎围观团强力插入
  2. 十四、去年写的Numpy使用方法梳理,2020年5月13日整理
  3. Browser Page Parsing Details
  4. 什么是自然语言处理,它如何工作?
  5. 在VS2010中使用Git【图文】
  6. Java中使用OpenSSL生成的RSA公私钥进行数据加解密
  7. jupyter notebook使用opencv的例子_VSCode中使用jupyter notebook
  8. Python:cv2.imwrite无法存储带有中文路径图片
  9. mysql二级索引_mysql 什么是二级索引
  10. Euraka学习笔记
  11. 超像素学习笔记(1)——概念及判别条件
  12. python 画图 线标注_Python中画图时候的线类型
  13. 解决Linux终端无法复制粘贴现象
  14. 休息休闲推荐 ---- 电视剧《觉醒年代》百年优秀历史纪录电视剧
  15. 个人对系统拆分的理解
  16. Android MTK系统编译与调试命令
  17. Android 获取最近几天的日历日程
  18. C语言简单的双人小游戏
  19. 【React】解决antd样式没有显示问题(网页频闪问题)
  20. Fluent Python读书笔记(二)

热门文章

  1. 两位小数乘两位小数竖式_人教版小学数学五年级上册小数乘整数公开课优质课课件教案视频...
  2. linux查看vnc服务加密修复,VNC远程管理Linux服务器安全指导
  3. 2013国家二级c语言上机考试点了编译并运行出现黑框闪退,2013年计算机二级C语言上机试题及解析2...
  4. mybatis SqlMapConfig.xml properties
  5. C++ 对比 C语言
  6. 3.5 将 Batch Norm 拟合进神经网络
  7. Java Web学习总结(36)——JavaEE知识体系及项目开发过程的总结
  8. Linux学习总结(15)——提高 Vim 和 Shell 效率的 9 个建议
  9. Java基础学习总结(37)——Java23中设计模式(Design Patterns)详解
  10. JAVA程序设计第十版第七章_java程序设计第七章答案