Пример #1
0
        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();
        }
Пример #2
0
        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 = "更新成功!"
            }));
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
        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());
            }
        }