/// <summary> /// 为用户分配角色 /// </summary> /// <param name="userId"></param> /// <param name="roleIdList"></param> /// <returns></returns> public bool SetUserOrderInfo(int userId, List <int> roleIdList) { var result = false; //获取要分配的用户信息 var userInfo = GetCurrentSession.UserInfoDal.LoadEntities(u => u.UserID == userId).FirstOrDefault(); if (userInfo != null) { //我的实现: //直接向中间表插入userid和roleIdList,完成角色的分配。但是这样就是直接操作数据库,和EF还有导航属性无关。 //EF的实现:直接利用导航属性来操作中间表。 //删除用户已有的角色 userInfo.RoleInfo.Clear(); foreach (var roleId in roleIdList) { var roleInfo = GetCurrentSession.RoleInfoDal.LoadEntities(r => r.ID == roleId).FirstOrDefault(); userInfo.RoleInfo.Add(roleInfo);//给用户分配角色 } //调用SaveChanges()之前,所有的操作都在内存中完成,不会操作数据库。 result = GetCurrentSession.SaveChanges(); } return(result); }
/// <summary> /// 删除权限 /// </summary> /// <param name="listId"></param> /// <returns></returns> public bool DeleteEntities(List <int> listId) { GetCurrentSession.ActionInfoDal.LoadEntities(a => listId.Contains(a.ID)).ToList() .ForEach(a => GetCurrentSession.ActionInfoDal.DeleteEntity(a)); return(GetCurrentSession.SaveChanges()); }
public bool DeleteEntities(List <int> list) { GetCurrentSession.RoleInfoDal .LoadEntities(c => list.Contains(c.ID)).ToList() .ForEach(k => GetCurrentSession.RoleInfoDal.DeleteEntity(k)); return(GetCurrentSession.SaveChanges()); }
/// <summary> /// 删除特殊用户权限,方法一 /// </summary> /// <param name="userId"></param> /// <param name="actionId"></param> /// <returns></returns> public bool DeleteUserActionInfo(int userId, int actionId) { var r_UserInfo_ActionInfo = GetCurrentSession.R_UserInfo_ActionInfoDal .LoadEntities(r => r.UserInfoID == userId && r.ActionInfoID == actionId) .FirstOrDefault(); if (r_UserInfo_ActionInfo != null) { GetCurrentSession.R_UserInfo_ActionInfoDal.DeleteEntity(r_UserInfo_ActionInfo); } return(GetCurrentSession.SaveChanges()); }
/// <summary> /// 为特殊用户分配权限 /// </summary> /// <param name="userId"></param> /// <param name="actionId"></param> /// <param name="isPass"></param> /// <returns></returns> public bool SetUserActionInfo(int userId, int actionId, bool isPass) { var r_UserInfo_ActionInfo = GetCurrentSession.R_UserInfo_ActionInfoDal .LoadEntities(r => r.UserInfoID == userId && r.ActionInfoID == actionId) .FirstOrDefault(); if (r_UserInfo_ActionInfo == null)//当前用户没有添加这个权限 { var r_userInfo_actionInfo = new R_UserInfo_ActionInfo { ActionInfoID = actionId, UserInfoID = userId, IsPass = isPass }; GetCurrentSession.R_UserInfo_ActionInfoDal.AddEntity(r_userInfo_actionInfo); } else { r_UserInfo_ActionInfo.IsPass = isPass; } return(GetCurrentSession.SaveChanges()); }
/// <summary> /// 为权限分配角色 /// </summary> /// <param name="actionId"></param> /// <param name="roleIdList"></param> /// <returns></returns> public bool SetActionRoleInfo(int actionId, List <int> roleIdList) { var actionInfo = this.GetCurrentSession.ActionInfoDal .LoadEntities(a => a.ID == actionId) .FirstOrDefault(); if (actionInfo != null) { actionInfo.RoleInfo.Clear(); foreach (var roleId in roleIdList) { var roleInfo = this.GetCurrentSession.RoleInfoDal .LoadEntities(r => r.ID == roleId) .FirstOrDefault(); actionInfo.RoleInfo.Add(roleInfo); } return(GetCurrentSession.SaveChanges()); } else { return(false); } }
public T AddEntity(T entity) { CurrentDal.AddEntity(entity); GetCurrentSession.SaveChanges(); return(entity); }
public bool EditEntity(T entity) { CurrentDal.EditEntity(entity); return(GetCurrentSession.SaveChanges()); }
public bool DeleteEntity(T entity) { CurrentDal.DeleteEntity(entity); return(GetCurrentSession.SaveChanges()); }