/// <summary> /// 获取其他用户关联的菜单 /// </summary> /// <param name="userID"></param> /// <returns></returns> public UserMenuViewModel GetUserMenuViewModel(int userID) { List <UserMenus> userMenu = context.GetOneUserMenu(userID); //其他用户关联的菜单 UserMenus userM = new UserMenus(); List <string> userMenuList = new List <string>(); if (userMenu.Count > 0) { userM = userMenu.First(); if (userM.Menus.Equals("all")) { userMenuList.Add("all"); } else { userMenuList.AddRange(userM.Menus.ToUpper().Split('|')); } } UserMenuViewModel viewModel = new UserMenuViewModel(); viewModel.userMenu = userMenuList.ToArray(); return(viewModel); }
public ActionResult Login(string acc) { var users = CommonUserService.GetModels("Account=@Account", new Dictionary <string, object>() { { "@Account", acc } }); if (users.Count > 0) { var user = users[0]; LoginHelper.Instance.Login(() => { return(new UserBase() { Account = user.Account, Avatar = user.Avatar, IpAddress = Kernel.GetIP(), Sex = user.Gander ?? 0, UserName = user.UserName }); }); //添加权限 var userActions = CommonUserService.GetUserActions("ur.userId=@userId", new Dictionary <string, object>() { { "@userId", user.Id } }, " m.Sort,a.sort"); LoginHelper.Instance.CacheRoles(() => { var userroles = new UserRoles(); userActions.ForEach(p => userroles.AddRole(p.Url, p.Name, p.Name)); return(userroles); }); LoginHelper.Instance.CacheMeuns(() => { var usermenu = new UserMenus(); userActions.ForEach(p => { if (p.IsVisible) { usermenu.Add(p.MenuName, p.Name, p.Url); } } ); return(usermenu); }); return(RedirectToAction("index", "home")); } return(RedirectToAction("Login")); }
private void InsertUserMenusByUid(int userId, IEnumerable <int> menuIds) { foreach (var menuId in menuIds) { UserMenus userMenus = new UserMenus() { UserId = userId, MenuId = menuId }; _userMenusRepository.Insert(userMenus); } }
public EFEntity.Menu GetUserMenuPermission(string strAreaName, string strControllerName, string strActionName, string strFormMethod) { int formMethod = strFormMethod.ToLower() == "get" ? 1 : 2; if (UserMenus == null) { return(null); } var curPer = UserMenus.SingleOrDefault(c => c.Area.IsSame(strAreaName) && c.ControllerName.IsSame(strControllerName) && c.ActionName.IsSame(strActionName) && (c.Method == 3 ? true : (c.Method == formMethod)) ); return(curPer); }
public string GetCheckboxesForUser(int roleId) { List <UserMenus> menus = new List <UserMenus>(); string res = ""; DataTable dt = new DataTable(); try { using (MsqlConnection mc = new MsqlConnection()) { using (SqlCommand cmd = new SqlCommand("GetCheckboxesForUser", mc.msqlConnection)) { using (SqlDataAdapter sda = new SqlDataAdapter(cmd)) { mc.open(); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@roleId", roleId); sda.Fill(dt); mc.close(); } } } } catch (Exception ex) { } for (int i = 0; i < dt.Rows.Count; i++) { UserMenus menu = new UserMenus(); menu.Id = dt.Rows[i]["MenuName"].ToString(); menu.MenuId = Convert.ToInt32(dt.Rows[i]["MenuId"]); menu.MenuName = dt.Rows[i]["MenuName"].ToString(); string status = Convert.ToString(dt.Rows[i]["MenuStatus"]); menu.MenuStatus = status; menus.Add(menu); } res = JsonConvert.SerializeObject(menus); return(res); }
/// <summary> /// 获取管理员所关联菜单 /// </summary> /// <param name="userName"></param> /// <returns></returns> public UserMenuViewModel GetAdminMenuViewModel(string userName) { List <UserSet> users = context.GetAllUserList(); List <UserMenus> adminMenu = context.GetAdminMenuByUserName(userName); List <MenuInfo> menuInfo = context.GetMenuInfo(); //管理员所关联菜单 UserMenus admin = adminMenu.First(); List <User2Menu> admin2Menu = new List <User2Menu>(); if (admin.Menus.Equals("all")) { foreach (var menuIetm in menuInfo) { User2Menu user2m = new User2Menu(); user2m.MenuID = menuIetm.MenuID; user2m.MenuName = menuIetm.MenuName; user2m.isUsing = true; admin2Menu.Add(user2m); } } else { string[] adminMenuArray = admin.Menus.ToUpper().Split('|'); foreach (var menuId in adminMenuArray) { if (menuInfo.Exists(x => x.MenuID.Equals(menuId))) { User2Menu user2m = new User2Menu(); user2m.MenuName = menuInfo.Find(x => x.MenuID.Equals(menuId)).MenuName; user2m.MenuID = menuId; user2m.isUsing = true; admin2Menu.Add(user2m); } } } UserMenuViewModel viewModel = new UserMenuViewModel(); viewModel.Users = users; viewModel.adminMenu = admin2Menu; return(viewModel); }
public void AddUpdateUserMenus(UserMenuModel model) { DeleteMenuForUser(model.UserId); List <UserMenus> urList = new List <UserMenus>(); using (var db = new PCVEntities()) { if (model.MenuId.IsNotBlank()) { foreach (var item in model.MenuId) { UserMenus oneRoleMenu = new UserMenus(); oneRoleMenu.UserId = model.UserId; oneRoleMenu.MenuId = item.To <long>(); oneRoleMenu.CreatedDate = DateTime.Now; oneRoleMenu.CreatedBy = MySession.Current.UserName; urList.Add(oneRoleMenu); } db.UserMenus.AddRange(urList); db.SaveChanges(); } } }
/// <summary> /// 执行 /// </summary> /// <returns>返回执行结果</returns> public override object Do() { //删除数据. EmpMenus mymes = new EmpMenus(); mymes.GetNewEntity.CheckPhysicsTable(); mymes.ClearTable(); EmpApps empApps = new EmpApps(); empApps.GetNewEntity.CheckPhysicsTable(); empApps.ClearTable(); //查询出来菜单. Menus menus = new Menus(); menus.RetrieveAllFromDBSource(); //查询出来所有的应用系统. Apps apps = new Apps(); apps.RetrieveAllFromDBSource(); //查询出来人员. Emps emps = new Emps(); emps.RetrieveAllFromDBSource(); foreach (Emp emp in emps) { // 删除该人员的菜单权限. string sql = ""; BP.DA.DBAccess.RunSQL("DELETE GPM_EmpMenu WHERE FK_Emp='" + emp.No + "'"); string menuIDs = ""; #region 首先解决对一个人员的个性化设置. //从人员菜单设置信息表中查询. UserMenus ums = new UserMenus(); ums.Retrieve(UserMenuAttr.FK_Emp, emp.No); foreach (UserMenu um in ums) { menuIDs += um.FK_Menu + ","; } #endregion 首先解决对一个人员的个性化设置. // 求出该用户有多少个权限组. string groupIDs = ","; sql = "SELECT FK_Group FROM GPM_GroupEmp WHERE FK_Emp='" + emp.No + "'"; sql += " UNION "; sql += "SELECT FK_Group FROM GPM_GroupStation WHERE FK_Station in (SELECT FK_Station from Port_DeptEmpStation where FK_Emp='" + emp.No + "') "; DataTable dt = DBAccess.RunSQLReturnTable(sql); foreach (DataRow dr in dt.Rows) { if (groupIDs.Contains("," + dr[0].ToString() + ",")) { continue; } groupIDs += dr[0].ToString() + ","; } } return("所有的成员都被初始化成功."); }
public virtual UserMenus GetAccountMenus(int userid) { var userrolemodel = _Accounts_UserRolesRepository.TableNoTracking.Where(s => s.UserID == userid).FirstOrDefault(); var rolemodel = _Accounts_RolesRepository.TableNoTracking.Where(s => s.Id == userrolemodel.RoleID).FirstOrDefault(); var rolemenuquery = _RoleMenuRepository.TableNoTracking.Where(s => s.RoleID == rolemodel.Id); if (rolemodel.hotelid.HasValue) { rolemenuquery = rolemenuquery.Where(s => s.hotelid == rolemodel.hotelid); } var rolemenus = rolemenuquery.ToList(); //int?[] parnetids = rolemenus.Select(s => s.Menu_pid).Distinct().ToArray(); //var parentmenus = _MenuRepository.TableNoTracking.Where(s => parnetids.Contains(s.Id)).ProjectToList<MenuDto>(); //var tempparentmenus = _MenuRepository.TableNoTracking.Where(s => parnetids.Contains(s.Id)).ToList(); //var parentmenus = AutoMapper.Mapper.Map<List<MenuDto>>(tempparentmenus); UserMenus userMenus = new UserMenus { RoleId = rolemodel.Id, UserId = userid }; List <Menu> menus = new List <Menu>(); foreach (var item in rolemenus) { if (!menus.Any(s => s.ParentMenu.Id == item.Menu_pid)) { Menu menu = new Menu(); menu.ParentMenu = AutoMapper.Mapper.Map <MenuDto>(_MenuRepository.TableNoTracking.Where(s => s.Id == item.Menu_pid).FirstOrDefault()); menu.ClildMenus = new List <MenuDto>(); menus.Add(menu); } Menu model = menus.Where(s => s.ParentMenu.Id == item.Menu_pid).FirstOrDefault(); var childmenu = _MenuRepository.TableNoTracking.Where(s => s.Id == item.Menu_id).FirstOrDefault(); if (childmenu != null) { var childmenudto = AutoMapper.Mapper.Map <MenuDto>(childmenu); model.ClildMenus.Add(childmenudto); } } //foreach (var item in parentmenus) //{ // var menu = new Menu { ParentMenu = item }; // var childrenmenus = _RoleMenuRepository.TableNoTracking.Where(s => s.RoleID == rolemodel.Id && s.Menu_pid == item.Id).ToList(); // foreach (var chlilditem in childrenmenus) // { // var clildmenu = _MenuRepository.TableNoTracking.Where(s => s.Id == chlilditem.Menu_id).FirstOrDefault(); // if (clildmenu != null) // { // menu.ClildMenus.Add(AutoMapper.Mapper.Map<MenuDto>(clildmenu)); // } // } // menus.Add(menu); //} userMenus.Menus = menus; return(userMenus); }