/// <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 IHttpActionResult UserMenu([FromBody] UserInfoBindingModel userInfoBindingModel) { try { // 织造产量录入APP var user = prdAppDb.peAppWvUsers.FirstOrDefault(a => a.code.Equals(userInfoBindingModel.code, StringComparison.CurrentCultureIgnoreCase) && a.password.Equals(userInfoBindingModel.password, StringComparison.CurrentCultureIgnoreCase)); if (user != null) { UserMenuViewModel model = GetUserMenuViewModelByCardNo(userInfoBindingModel.code); if (model == null) { return(NotFound()); } return(Json(model)); } else { return(NotFound()); } } catch (Exception) { throw; } }
public IHttpActionResult PostUserMenu(UserMenuViewModel userMenu) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = db.Users.Find(userMenu.UserName); if (user == null) { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound, "不存在的使用者!")); } var menus = db.Menus.Where(item => item.Id == userMenu.MenuId || item.ParentId == userMenu.MenuId); foreach (var item in menus) { user.Menus.Add(item); } try { db.SaveChanges(); //寫入AccessLog MPAccessLog.WriteEntry(User.Identity.Name, AccessAction.Create, "UserMenu", JsonConvert.SerializeObject(new { user.UserName, Menus = menus.Select(m => m.Id + m.Text).ToArray() })); } catch (Exception ex) { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message)); } return(Ok()); }
public void TestGetAdminUserMenu2() { UserMenuService service = new UserMenuService(); UserMenuViewModel ViewModel = service.GetAdminMenuViewModel("aa"); Console.WriteLine(UtilTest.GetJson(ViewModel)); }
/// <summary> /// 读取数据库的权限,返回到前台CheckBoxList /// </summary> /// <returns></returns> private UserMenuViewModel GetMenusInitialModel() { var model = new UserMenuViewModel(); var selectedMenus = new List <Menu>(); if (TempData["userCode"] != null) { string _userCode = TempData["userCode"] as string; // 1、查询该用户的权限列表 var userInfos = dbContext.peAppWvUserMenus.Where(um => um.usercode.Equals(_userCode)) .Join(dbContext.peAppWvMenus, um => um.menucode, m => m.code, (um, m) => new { UserMenuId = um.Id, MenuIndex = m.Id, MenuId = um.menucode, MenuName = m.text }); foreach (var userInfo in userInfos) { Menu m = new Menu() { Id = userInfo.MenuId, Name = userInfo.MenuName, IsSelected = true, }; selectedMenus.Add(m); } } model.AvailableMenus = this.GetAllMenus(); // 2、将数据库的权限显示在CheckBoxList上 model.SelectedMenus = selectedMenus; return(model); }
private void ButtonClickCustomer(object sender, RoutedEventArgs e) { UserMenuViewModel userVM = new UserMenuViewModel(); LoginWindow loginWindow = new LoginWindow(userVM); loginWindow.Show(); }
public void TestGetUserMenu() { UserMenuService service = new UserMenuService(); int userID = 2; UserMenuViewModel ViewModel = service.GetUserMenuViewModel(userID); Console.WriteLine(UtilTest.GetJson(ViewModel)); }
public void TestSetUserMenu() { UserMenuService service = new UserMenuService(); int userID = 23; string menuIDs = "1P|3P|4P|4.1|4.2|4.3|4.4|5P|5.1|5.2|5.3|6P|6.1|6.2|6.3|6.4"; UserMenuViewModel ViewModel = service.SetUserMenu(userID, menuIDs); Console.WriteLine(UtilTest.GetJson(ViewModel)); }
public dynamic AddUserMenu([FromBody] UserMenuViewModel model) { var vm = new UserMenuManager(); List <ExpandoObject> sugarQueryable = vm.GetMaxid("user_menu", "um_id", 1, 1); model.um_id = sugarQueryable.First().ObjToInt(); //vm.Insert(model); return(Ok()); }
/// <summary> /// 仅根据员工号,返回该员工的菜单ViewModel /// </summary> /// <param name="cardNo"></param> /// <returns></returns> public UserMenuViewModel GetUserMenuViewModelByCardNo(string cardNo) { var prdDbUsers = prdAppDb.peAppWvUsers.Where(a => a.code.Equals(cardNo, StringComparison.CurrentCultureIgnoreCase)); var query = "SELECT m.Id ,m.code ,m.text ,m.activityname,m.dept,m.link FROM dbo.peAppWvMenu AS m WHERE m.code IN (SELECT a.menucode FROM dbo.peAppWvUserMenu AS a WHERE a.usercode=@p0)"; List <peAppWvMenu> peAppWvMenuQuery = prdAppDb.Database.SqlQuery <peAppWvMenu>(query, cardNo).ToList(); var list = new List <ItemViewModel>(); // 如果在prd数据库找到该员工号 if (prdDbUsers.Any()) { foreach (var p in peAppWvMenuQuery) { var itemViewModel = new ItemViewModel { id = p.Id, code = p.code, text = p.text, dest1 = p.activityname, dest2 = p.link }; list.Add(itemViewModel); } var temp = new ItemViewModel { text = peAppWvMenuQuery.Select(a => a.dept).First().ToString(), renderflat = "TYPE_index" }; list.Add(temp); var userMenuViewModel = new UserMenuViewModel() { code = cardNo, name = prdDbUsers.First().name, dept = prdDbUsers.First().dept, SubDept = prdDbUsers.First().SubDept, menu = list.OrderBy(a => a.id) }; return(userMenuViewModel); } else { return(null); } }
/// <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 Result <UserMenuViewModel> GetUserMenuViewModel(string id) { SelectSpecification <AppUserEntity, UserMenuViewModel> userSpecification = new SelectSpecification <AppUserEntity, UserMenuViewModel>(); userSpecification.AddFilter(x => x.Id == id); userSpecification.AddSelect(x => new UserMenuViewModel( x.Id, x.UserName)); UserMenuViewModel userMenuView = _userRepository.SingleOrDefault(userSpecification); if (userMenuView == null) { _logger.LogError($"No User. UserId {id}"); return(Result.Fail <UserMenuViewModel>("no_user", "No user")); } return(Result.Ok(userMenuView)); }
public IHttpActionResult GetUserMenuByCardNo([FromUri] string nfcCardNo) { // 读NFC ID,然后到中控表查询对应的员工号 var query = @"select top 1 'GET'+right('0000000'+convert(varchar(10),a.WeaverNo),7) as UserCardNo from [getnt103].Monitor_WV1.dbo.tweaver AS a WHERE a.NewCardNo=@p0 UNION ALL select 'GET'+right('0000000'+convert(varchar(10),b.WeaverNo),7) from [getnt103].Monitor_WV2.dbo.tweaver AS b WHERE b.NewCardNo=@p0 UNION ALL select 'GET'+right('0000000'+convert(varchar(10),c.WeaverNo),7) from [getnt103].Monitor_WV3.dbo.tweaver AS c WHERE c.NewCardNo=@p0"; try { string userCardNo = null; var rtnList = pbRead.Database.SqlQuery <UserCardNoViewModel>(query, nfcCardNo.ToUpper()).ToList(); var userCardNoViewModel = rtnList.FirstOrDefault(); if (userCardNoViewModel != null) { // 获取对应的员工号 userCardNo = userCardNoViewModel.UserCardNo; } else { userCardNo = prdAppDb.peAppWvUsers .Where(u => u.NfcCardNo.Equals(nfcCardNo)) .Select(u => u.code).FirstOrDefault(); } UserMenuViewModel model = GetUserMenuViewModelByCardNo(userCardNo); if (model == null) { return(NotFound()); } return(Json(model)); } catch (Exception) { return(NotFound()); } }
public UserMenuViewModel SetUserMenu(int userID, string menuIDs) { ResultState resultState = new ResultState(); int result = context.SetUserMenu(userID, menuIDs.ToUpper()); if (result > 0) { resultState.State = 0; resultState.Details = "成功"; } else { resultState.State = 1; resultState.Details = "失败"; } UserMenuViewModel viewModel = new UserMenuViewModel(); viewModel.ResultState = resultState; return(viewModel); }
/// <summary> /// 画面が読み込まれた後に呼ばれます。 /// </summary> /// <param name="sender">sender</param> /// <param name="e">e</param> private void ViewLoaded(object sender, RoutedEventArgs e) { this.viewModel = this.DataContext as UserMenuViewModel; }
/// <summary> /// Initialize user menu. /// </summary> public UserMenu() { this._userMenuViewModel = new UserMenuViewModel(); this.InitializeComponent(); this.DataContext = this; }
public ActionResult UserMenu() { var model = new UserMenuViewModel(UserContext.Current.FirstName, UserContext.Current.LastName); return(DisplayFor(model)); }
public IActionResult GetMenu(string RoleName) { UserMenuViewModel userMenuView = _menuRepository.GetMenu(RoleName); return(Ok(userMenuView)); }
/// <summary> /// ログインボタンが押されたときに呼ばれます。 /// </summary> /// <param name="sender">sender</param> /// <param name="e">e</param> private async void LoginButtonClick(object sender, RoutedEventArgs e) { this.btnLogin.IsEnabled = false; if (!this.ValidateLogin()) { return; } try { var passwordHash = new HashCreater().CreateSHA256Hash(this.txtPassword.Password); this.viewModel.AccessToken = await this.Login(this.viewModel.UserId, passwordHash); if (string.IsNullOrEmpty(this.viewModel.AccessToken)) { MessageBox.Show("ID、パスワードもしくは両方が間違っています。"); return; } UserModel user = await this.GetUser(this.viewModel.UserId, this.viewModel.AccessToken); if (user == null) { return; } Window childView = null; // 管理者か否かによってメニューを分岐 if (user.IsAdmin) { var childViewModel = new AdminMenuViewModel(); childView = new AdminMenuView(); childViewModel.UserId = this.viewModel.UserId; childViewModel.DisplayName = user.DisplayName; childViewModel.AccessToken = this.viewModel.AccessToken; childView.DataContext = childViewModel; } else { var childViewModel = new UserMenuViewModel(); childView = new UserMenuView(); childViewModel.UserId = this.viewModel.UserId; childViewModel.DisplayName = user.DisplayName; childViewModel.AccessToken = this.viewModel.AccessToken; childView.DataContext = childViewModel; } childView.Owner = this; this.Hide(); childView.ShowDialog(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } finally { this.viewModel.UserId = string.Empty; this.txtPassword.Password = string.Empty; this.btnLogin.IsEnabled = true; this.Show(); this.txtUserId.Focus(); } }