using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SqlClient; using YX.Entity; using System.Data.Entity; using System.Linq.Expressions; namespace YX.DAL { public class SystemMenu_Dal { ///// ///// 获取子节点 ///// ///// //public DataTable GetSysMenuChilds(string ParentId) //{ // DataTable dt = null; // try // { // using (Sam_DBEntities db=new Sam_DBEntities()) // { // string sql = @"SELECT // Menu_Id // ,[Menu_Name] as '菜单名称' // ,[Menu_Tag] as '菜单标记' // ,[Menu_Img] as '菜单图标' // ,case[ParentId] when '0'then '父节' else '子节'end as '节点位置' // ,[SortCode] as '菜单排序' // ,[CreateDate] as'创建时间' // ,[CreateUserName] as'创建人' // ,[ModifyDate] as '修改时间' // ,[ModifyUserName] as'修改人' // FROM [Base_SysMenu]WHERE ParentId=@ParentId // order by sortcode asc"; // SqlParameter[] par = new SqlParameter[] // { // new SqlParameter("@ParentId", ParentId) // }; // dt = SqlHelper.ExecuteDataset(db.Database.Connection.ConnectionString, CommandType.Text, sql, par).Tables[0]; // } // } // catch (Exception ex) // { // throw ex; // } // return dt; //} public List GetMenusByCondition(Expression> lambda) { List list = new List(); using (Sam_DBEntities db = new Sam_DBEntities()) { list = db.Base_SysMenu.Where(lambda).ToList(); } return list; } /// /// 用户权限查询 /// /// /// public List GetUserRightByCondition(Expression> lambda) { try { using (Sam_DBEntities db = new Sam_DBEntities()) { return db.Base_UserRight.Where(lambda).ToList(); ; } } catch (Exception EX) { throw EX; } } /// /// 角色权限查询 /// /// /// public List GetRoleRightByCondition(Expression> lambda) { try { using (Sam_DBEntities db = new Sam_DBEntities()) { return db.Base_RoleRight.Where(lambda).ToList(); ; } } catch (Exception EX) { throw EX; } } /// /// 获取全部菜单 /// /// public List GetSysMenus() { try { //DataTable dt = dal.GetParent(); //list = DataTableToModel.GetEntities(dt).ToList(); using (Sam_DBEntities db = new Sam_DBEntities()) { return db.Base_SysMenu.ToList(); } } catch (Exception ex) { throw ex; } } /// /// 获取菜单根节点 /// /// public List GetSysMenusParent(string UserID) { try { using (Sam_DBEntities db = new Sam_DBEntities()) { var query = (from menuinfo in db.Base_SysMenu join userright in db.Base_UserRight on menuinfo.Menu_Id equals userright.Menu_Id where menuinfo.ParentId == "0" && userright.Base_UserInfo.User_ID == UserID orderby menuinfo.SortCode ascending select menuinfo).Union(from M in db.Base_SysMenu join R_R in db.Base_RoleRight on M.Menu_Id equals R_R.Menu_Id join U_R in db.Base_UserRole on R_R.Base_Roles.Roles_ID equals U_R.Roles_ID where M.ParentId == "0" && U_R.Base_UserInfo.User_ID == UserID orderby M.SortCode ascending select M); //var sql = query.ToString(); return query.ToList(); ; } } catch (Exception ex) { throw ex; } } /// /// 获取菜单子节点 /// /// /// public List GetSysMenuChilds(string ParentId, string UserID) { try { using (Sam_DBEntities db = new Sam_DBEntities()) { var query = (from menuinfo in db.Base_SysMenu join userright in db.Base_UserRight on menuinfo.Menu_Id equals userright.Menu_Id where menuinfo.ParentId == ParentId && userright.Base_UserInfo.User_ID == UserID select menuinfo).Union(from M in db.Base_SysMenu join R_R in db.Base_RoleRight on M.Menu_Id equals R_R.Menu_Id join U_R in db.Base_UserRole on R_R.Base_Roles.Roles_ID equals U_R.Roles_ID where M.ParentId==ParentId && U_R.Base_UserInfo.User_ID==UserID select M).OrderBy(o=>o.SortCode); return query.ToList(); ; // return db.Base_SysMenu.Where(o=>o.ParentId==ParentId).ToList(); } } catch (Exception ex) { throw ex; } } /// /// 获取菜单子节点 /// /// /// public List GetSysMenuChilds(string ParentId) { try { using (Sam_DBEntities db = new Sam_DBEntities()) { var query = (from menuinfo in db.Base_SysMenu where menuinfo.ParentId == ParentId select menuinfo).OrderBy(o => o.SortCode); return query.ToList(); ; // return db.Base_SysMenu.Where(o=>o.ParentId==ParentId).ToList(); } } catch (Exception ex) { throw ex; } } /// /// 添加菜单 /// /// public int AddSysMenu(Base_SysMenu info) { try { using (Sam_DBEntities db = new Sam_DBEntities()) { db.Base_SysMenu.Add(info); return db.SaveChanges(); } } catch (Exception) { throw; } } /// /// 修改菜单 /// /// /// public int UpdateSysMenu(Base_SysMenu info) { try { using (Sam_DBEntities db = new Sam_DBEntities()) { db.Base_SysMenu.Attach(info); //把当前实体的状态改为Modified db.Entry(info).State = EntityState.Modified; return db.SaveChanges(); } } catch (Exception) { throw; } } /// /// 删除菜单 /// /// /// public int DeleteSysMenu(string key) { try { using (Sam_DBEntities db = new Sam_DBEntities()) { var obj = new Base_SysMenu { Menu_Id = key }; db.Base_SysMenu.Attach(obj); db.Base_SysMenu.Remove(obj); return db.SaveChanges(); } } catch (Exception) { throw; } } //获取按钮 public List GetButtonList(string ParentId, string UserID) { try { using (Sam_DBEntities db = new Sam_DBEntities()) { var query = (from a in db.Base_SysMenu join b in db.Base_UserRight on a.Menu_Id equals b.Menu_Id where a.ParentId == ParentId &&b.Base_UserInfo.User_ID==UserID select a).Union(from M in db.Base_SysMenu join R_R in db.Base_RoleRight on M.Menu_Id equals R_R.Menu_Id join U_R in db.Base_UserRole on R_R.Base_Roles.Roles_ID equals U_R.Roles_ID where M.ParentId == ParentId && U_R.Base_UserInfo.User_ID == UserID orderby M.SortCode ascending select M); return query.ToList(); //return db.Base_SysMenu.Where(o => o.ParentId == MenuID && o.Menu_Type == 3).ToList() ; } } catch (Exception) { throw; } } } }