public async Task <IActionResult> Edit(EditMenuRequest model) { var request = new EditMenuRequest { Title = model.Title, DisplayOrder = model.DisplayOrder.GetValueOrDefault(), Icon = model.Icon, Url = model.Url, IsOpenInNewTab = model.IsOpenInNewTab }; if (null != model.SubMenus) { var subMenuRequests = model.SubMenus .Select(p => new EditSubMenuRequest { Title = p.Title, Url = p.Url, IsOpenInNewTab = p.IsOpenInNewTab }).ToArray(); request.SubMenus = subMenuRequests; } await _mediator.Send(new UpdateMenuCommand(model.Id, request)); return(NoContent()); }
public Task <Response <Guid> > UpdateAsync(EditMenuRequest request) { return(TryExecuteAsync <Guid>(async() => { var menu = await _menuRepository.GetAsync(request.Id); if (null == menu) { throw new InvalidOperationException($"MenuEntity with Id '{request.Id}' not found."); } var sUrl = Utils.SterilizeMenuLink(request.Url.Trim()); Logger.LogInformation($"Sterilized URL from '{request.Url}' to '{sUrl}'"); menu.Title = request.Title.Trim(); menu.Url = sUrl; menu.DisplayOrder = request.DisplayOrder; menu.Icon = request.Icon; menu.IsOpenInNewTab = request.IsOpenInNewTab; await _menuRepository.UpdateAsync(menu); await _moongladeAudit.AddAuditEntry(EventType.Content, AuditEventId.MenuUpdated, $"Menu '{request.Id}' updated."); return new SuccessResponse <Guid>(menu.Id); })); }
public async Task <IActionResult> Create(EditMenuRequest model) { var request = new EditMenuRequest { DisplayOrder = model.DisplayOrder.GetValueOrDefault(), Icon = model.Icon, Title = model.Title, Url = model.Url, IsOpenInNewTab = model.IsOpenInNewTab }; if (null != model.SubMenus) { var subMenuRequests = model.SubMenus .Select(p => new EditSubMenuRequest { Title = p.Title, Url = p.Url, IsOpenInNewTab = p.IsOpenInNewTab }).ToArray(); request.SubMenus = subMenuRequests; } var response = await _mediator.Send(new CreateMenuCommand(request)); return(Ok(response)); }
public async Task <IActionResult> Edit([NotEmpty] Guid id) { var menu = await _mediator.Send(new GetMenuQuery(id)); if (null == menu) { return(NotFound()); } var model = new EditMenuRequest { Id = menu.Id, DisplayOrder = menu.DisplayOrder, Icon = menu.Icon, Title = menu.Title, Url = menu.Url, IsOpenInNewTab = menu.IsOpenInNewTab, SubMenus = menu.SubMenus.Select(p => new EditSubMenuRequest { Id = p.Id, Title = p.Title, Url = p.Url, IsOpenInNewTab = p.IsOpenInNewTab }).ToArray() }; return(Ok(model)); }
public async Task <IActionResult> Edit(MenuEditViewModel model) { try { if (!ModelState.IsValid) { return(BadRequest()); } var request = new EditMenuRequest(model.Id) { Title = model.Title, DisplayOrder = model.DisplayOrder, Icon = model.Icon, Url = model.Url, IsOpenInNewTab = model.IsOpenInNewTab }; var response = await _menuService.UpdateAsync(request); return(Json(response)); } catch (Exception e) { Logger.LogError(e, "Error Editing Menu."); ModelState.AddModelError("", e.Message); return(ServerError()); } }
/// <summary> /// 修改菜单 /// </summary> /// <param name="request"></param> /// <param name="loginInfo"></param> /// <returns></returns> public ServiceResult <bool> EditMenu(EditMenuRequest request, TRightsUser loginInfo) { var result = new ServiceResult <bool> { ReturnCode = ReturnCodeType.Error }; var menu = _menuDao.GetById(request.Id); if (menu != null) { menu.Name = request.Name; menu.Url = request.Url; menu.Icon = request.Icon; menu.Sort = request.Sort; menu.LastUpdatedBy = loginInfo.Id; menu.LastUpdatedTime = DateTime.Now; var rs = _menuDao.Update(menu); if (rs == true) { result.ReturnCode = ReturnCodeType.Success; result.Content = true; } } return(result); }
public async Task <Guid> UpdateAsync(EditMenuRequest request) { var menu = await _menuRepo.GetAsync(request.Id); if (menu is null) { throw new InvalidOperationException($"MenuEntity with Id '{request.Id}' not found."); } var sUrl = SterilizeMenuLink(request.Url.Trim()); _logger.LogInformation($"Sterilized URL from '{request.Url}' to '{sUrl}'"); menu.Title = request.Title.Trim(); menu.Url = sUrl; menu.DisplayOrder = request.DisplayOrder; menu.Icon = request.Icon; menu.IsOpenInNewTab = request.IsOpenInNewTab; await _menuRepo.UpdateAsync(menu); await _audit.AddAuditEntry(EventType.Content, AuditEventId.MenuUpdated, $"Menu '{request.Id}' updated."); return(menu.Id); }
public ActionResult Edit(EditMenuRequest request) { var flag = false; var msg = string.Empty; var rs = _menuService.EditMenu(request, loginInfo); if (rs.ReturnCode == ReturnCodeType.Success && rs.Content == true) { flag = true; msg = "修改成功!"; } else { msg = "修改失败!"; } return(Json(new { success = flag, msg = msg }, JsonRequestBehavior.AllowGet)); }
public async Task <IActionResult> Edit(MenuEditViewModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var request = new EditMenuRequest(model.Id) { Title = model.Title, DisplayOrder = model.DisplayOrder, Icon = model.Icon, Url = model.Url, IsOpenInNewTab = model.IsOpenInNewTab }; await _menuService.UpdateAsync(request); return(Ok()); }
public ActionResult Edit(EditMenuRequest request) { var flag = false; var msg = string.Empty; using (var factory = new ChannelFactory <IRightsMenuService>("*")) { var client = factory.CreateChannel(); var rs = client.EditMenu(request, loginInfo); if (rs.ReturnCode == ReturnCodeType.Success && rs.Content == true) { flag = true; msg = "修改成功!"; } else { msg = "修改失败!"; } } return(Json(new { success = flag, msg = msg }, JsonRequestBehavior.AllowGet)); }
public async Task <IActionResult> Edit(NavMenuEditViewModel model) { try { if (ModelState.IsValid) { var request = new EditMenuRequest(model.Id) { Title = model.Title, DisplayOrder = model.DisplayOrder, Icon = model.Icon, Url = model.Url }; var response = await _menuService.EditMenuAsync(request); if (response.IsSuccess) { return(Json(response)); } Logger.LogError($"Edit menu failed: {response.Message}"); ModelState.AddModelError("", response.Message); return(BadRequest()); } return(BadRequest()); } catch (Exception e) { Logger.LogError(e, "Error Editing Menu."); ModelState.AddModelError("", e.Message); return(ServerError()); } }
public UpdateMenuCommand(Guid id, EditMenuRequest payload) { Id = id; Payload = payload; }
public CreateMenuCommand(EditMenuRequest payload) { Payload = payload; }