public async Task <JsonResult> AddNewItem([FromBody] InputMenuItemModel inputMenuItemModel) { if (inputMenuItemModel.Name.IsNullOrWhiteSpace()) { return(AjaxHelper.JsonResult(HttpStatusCode.BadRequest, "菜单项名不能为空")); } string token = HttpContext.Request.Headers["token"]; var userId = (await LoginManager.GetUserIdAsync(token)).GetValueOrDefault(); var menuItemDto = new MenuItemDto { Name = inputMenuItemModel.Name, Url = inputMenuItemModel.Url, CustomData = inputMenuItemModel.CustomData, Icon = inputMenuItemModel.Icon, ClassName = inputMenuItemModel.ClassName, OrderIn = inputMenuItemModel.OrderIn, RequiredPermissionName = inputMenuItemModel.RequiredPermissionName, RequiresAuthentication = inputMenuItemModel.RequiresAuthentication, MenuItems = inputMenuItemModel.MenuItems.Select(i => new MenuItemDto { Name = i.Name, Url = i.Url, CustomData = i.CustomData, Icon = i.Icon, ClassName = i.ClassName, OrderIn = i.OrderIn, RequiredPermissionName = i.RequiredPermissionName, RequiresAuthentication = i.RequiresAuthentication }).ToList(), CreatorUserId = userId }; var id = await _menuItemService.InsertAndGetIdAsync(menuItemDto); return(AjaxHelper.JsonResult(HttpStatusCode.OK, "成功", id)); }
private MenuItemDto ToMenuItemDto(int userId, InputMenuItemModel model) { if (model == null) { return(new MenuItemDto()); } return(new MenuItemDto { Name = model.Name, Url = model.Url, CustomData = model.CustomData, Icon = model.Icon, ClassName = model.ClassName, OrderIn = model.OrderIn, RequiredPermissionName = model.RequiredPermissionName, RequiresAuthentication = model.RequiresAuthentication, CreatorUserId = userId, MenuItems = model.MenuItems.Select(i => ToMenuItemDto(userId, i)).ToList() }); }