public MenuResponse Execute(UpdateMenuInput input) { var menuResponse = new MenuResponse(); try { CheckInputValidity(input); Log.Information("Actualizando Menu por Id: [{Id}] con nuevo nombre: [{NewTitle}]...", input.Id, input.NombreNuevo); var menuToUpdate = Repository.SingleOrDefault(menu => menu.Id == input.Id); if (menuToUpdate == null) { var exception = new Exception($"No se pudo encontrar el menu con el id: [{input.Id}]."); Log.Error(exception, EXCEPTION_MESSAGE_TEMPLATE, exception.Message); HandleErrors(menuResponse, exception, 404); return(menuResponse); } menuToUpdate.Nombre = input.NombreNuevo; menuToUpdate.Base64 = input.Base64Nuevo; var updatedMenu = Repository.Update(menuToUpdate); menuResponse.Menu = updatedMenu; menuResponse.StatusCode = 200; Log.Information("Actualizado con exito el menu con Id: [{Id}] con nuevo nombre [{NewTitle}].", input.Id, input.NombreNuevo); } catch (Exception exception) { Log.Error(exception, EXCEPTION_MESSAGE_TEMPLATE, exception.Message); HandleErrors(menuResponse, exception); } return(menuResponse); }
public async Task <UpdateMenuOutput> Update(UpdateMenuInput input) { var menu = await _menuRepository.SingleOrDefaultAsync(p => p.Id == input.Id); if (menu == null) { throw new BusinessException($"不存在Id为{input.Id}的菜单信息"); } var permission = await _permissionRepository.GetAsync(menu.PermissionId); menu = input.MapTo(menu); permission = input.MapTo(permission); using (var locker = await _lockerProvider.CreateLockAsync("UpdateMenu")) { return(await locker.Lock(async() => { await UnitOfWorkAsync(async(conn, trans) => { await _permissionRepository.UpdateAsync(permission, conn, trans); await _menuRepository.UpdateAsync(menu, conn, trans); }, Connection); return new UpdateMenuOutput { Id = menu.Id, PermissionId = menu.PermissionId, Tips = "更新菜单成功" }; })); } }
public async Task <string> UpdateMenu(UpdateMenuInput input) { input.CheckDataAnnotations().CheckValidResult(); await _menuDomainService.Update(input); return("更新菜单信息成功"); }
public UpdateMenuOutput UpdateMenu(UpdateMenuInput input) { var menu = CreateRootMenuForDto(input.Menu); if (!(menu is CompositeMenu)) { throw new UserFriendlyException($"菜单更新失败,菜单{menu.Name}必须是组合菜单"); } _menuManager.UpdateRootMenu(input.Menu.Id, (CompositeMenu)menu); return(new UpdateMenuOutput()); }
public UpdateMenuOutput UpdateMenu(UpdateMenuInput input) { var menu = _menuRepository.FirstOrDefault(input.Id); _menuManager.UpdateName(menu, input.Name); menu.DisplayName = input.DisplayName; menu.Icon = input.Icon; var pageData = GetPageData(input.PageName, input.PageDataName); menu.PageData = pageData; return(new UpdateMenuOutput()); }
public async Task <string> UpdateMenu(UpdateMenuInput input) { input.CheckDataAnnotations().CheckValidResult(); var menu = await _menuRepository.SingleOrDefaultAsync(p => p.Id == input.Id); if (menu == null) { throw new BusinessException($"不存在Id为{input.Id}的菜单信息"); } menu = input.MapTo(menu); var permission = await _permissionRepository.GetAsync(menu.PermissionId); permission.Memo = input.Memo; await _menuManager.UpdateMenu(menu, permission); return("更新菜单成功"); }
public async Task Update(UpdateMenuInput input) { var menu = await _menuRepository.SingleOrDefaultAsync(p => p.Id == input.Id); if (menu == null) { throw new BusinessException($"不存在Id为{input.Id}的菜单信息"); } var permission = await _permissionRepository.GetAsync(menu.PermissionId); menu = input.MapTo(menu); permission = input.MapTo(permission); await UnitOfWorkAsync(async (conn, trans) => { await _permissionRepository.UpdateAsync(permission, conn, trans); await _menuRepository.UpdateAsync(menu, conn, trans); }, Connection); }
private void CheckInputValidity(UpdateMenuInput input) { if (input == null) { throw new ArgumentNullException(nameof(input)); } if (input.Id <= 0) { throw new ArgumentException($"Input {nameof(input.Id)} debe ser 1 or mayor."); } if (string.IsNullOrWhiteSpace(input.NombreNuevo)) { throw new ArgumentException($"Input {nameof(input.NombreNuevo)} no puede ser vacio."); } if (string.IsNullOrWhiteSpace(input.Base64Nuevo)) { throw new ArgumentException($"Input {nameof(input.Base64Nuevo)} no puede ser vacio."); } }
public UpdateMenuOutput UpdateMenu(UpdateMenuInput input) { var menu = _menuRepository.FirstOrDefault(input.Id); if (!string.IsNullOrEmpty(input.Name)) { _menuManager.UpdateName(menu, input.Name); } if (!string.IsNullOrEmpty(input.DisplayName)) { menu.DisplayName = input.DisplayName; } if (!string.IsNullOrEmpty(input.Icon)) { menu.Icon = input.Icon; } return(new UpdateMenuOutput()); }
/// <summary> /// 更新菜单 /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <ApiResult> UpdateMenu(UpdateMenuInput input) { var menu = await GetByIdAsync(input.Id); if (menu == null) { return(ApiResult.DataNotFound()); } // 更新菜单时不允许更新父节点 menu.MenuName = input.MenuName; menu.MenuLeval = input.MenuLeval; menu.MenuUrl = input.MenuUrl; menu.MenuLayer = input.MenuLayer; menu.IsSys = input.IsSys; menu.IsOut = input.IsOut; menu.IsParent = input.IsParent; menu.TargetFrame = input.TargetFrame; menu.Weight = input.Weight; menu.LastModificationTime = DateTime.Now; await _menuRepository.UpdateAsync(menu); return(new ApiResult().Success()); }
public async Task <MenuDto> UpdateMenu(UpdateMenuInput input) { var menu = await _menuRepository.GetAsync(input.Id); await CheckNameRepeat(input.DisplayName, menu); if (menu.IsSystem && menu.Url != input.Url) { throw new UserFriendlyException("系统菜单链接不可修改"); } menu.DisplayName = input.DisplayName; menu.Icon = input.Icon; menu.IsVisible = input.IsVisible; menu.RequiredPermissionName = input.RequiredPermissionName; if (!menu.IsSystem) { menu.Url = input.Url; } await CurrentUnitOfWork.SaveChangesAsync(); await RebuildMenu(); return(menu.MapTo <MenuDto>()); }
public IActionResult Update(int id, [FromBody] UpdateMenuInput menu) { menu.Id = id; _menuService.Update(menu); return(Created("", new { menu.Id })); }
public async Task <UpdateMenuOutput> UpdateMenu(UpdateMenuInput input) { input.CheckDataAnnotations().CheckValidResult(); return(await _menuDomainService.Update(input)); }
public IActionResult Put(UpdateMenuInput input) { return(ExecuteAndHandleRequest(() => MenuRequestAggregate.UpdateMenuRequest.Execute(input))); }