private void BtnUpdateMenu_Click(object sender, RoutedEventArgs e) { var updateMenuItemViewModel = new UpdateMenuItemViewModel(GetMenuItemButton(sender, e)); updateMenuItemViewModel.MenuItemUpdated += async(_, __) => await MainWindowViewModel?.Reset(); var updateMenuItemView = new UpdateMenuItemView { DataContext = updateMenuItemViewModel }; updateMenuItemView.Show(); }
public IActionResult UpdateMenuItem(UpdateMenuItemViewModel model) { var menuItem = new MenuItemModel { Id = model.Id, RequiredAuthorizeCode = model.RequiredAuthorizeCode ?? string.Empty, Priority = model.Priority, }; menuItem.TargetUrl = GetValidUrl(model.TargetUrl); _menuAppService.UpdateMenuItem(menuItem); return(Json(new JsonResultEntity() { Message = "更新成功!" })); }
public IActionResult UpdateMenuItem(int id, UpdateMenuItemViewModel model) { var menuItem = _menuAppService.GetMenuItemById(id); if (menuItem != null) { model = new UpdateMenuItemViewModel { Id = menuItem.Id, TargetUrl = menuItem.TargetUrl, Priority = menuItem.Priority, Header = menuItem.Header, }; return(PartialView("_Update", model)); } else { throw new JMBasicException("菜单不存在!", HttpStatusCode.BadRequest); } }
public IActionResult UpdateMenuItem([FromBody] UpdateMenuItemViewModel model) { var menuItem = menuRepository.GetMenuItemByMenuItemId(model.MenuItemId); if (menuItem == null) { return(NotFound()); } try { if (model.ParentMenuItemIdSet) { if (model.ParentMenuItemId != null) { var parentItem = menuRepository.GetMenuItemByMenuItemId((int)model.ParentMenuItemId); if (parentItem == null) { ModelState.AddModelError("parent", "Could not find specified parent"); } else if (parentItem.ParentMenuName != menuItem.ParentMenuName) { ModelState.AddModelError("parent", "Parent must be part of the same menu"); } } menuItem.ParentMenuItemId = model.ParentMenuItemId; } if (model.Name != null) { if (model.Name.Length < 1) { ModelState.AddModelError("name", "Name must be 1 character or longer"); } menuItem.Name = model.Name; } if (model.Priority != null) { if (model.Priority < 0 || model.Priority > 1000) { ModelState.AddModelError("priority", "Priority must be between 0 and 1000"); } menuItem.Priority = (int)model.Priority; } if (model.LinkSet) { menuItem.Link = model.Link; } if (model.PostIdSet) { if (model.PostId != null) { var post = postRepository.GetPostByPostId((int)model.PostId); if (post == null) { ModelState.AddModelError("postid", "Could not find post"); } } menuItem.PostId = model.PostId; } if (!ModelState.IsValid) { return(BadRequest(ModelStateHelper.GetModelStateErrors(ModelState))); } menuRepository.UpdateMenuItem(menuItem); return(Ok(Conversions.MenuItemViewModelFromMenuItem(menuItem))); } catch (Exception) { return(BadRequest()); } }