| | |
| | | /// <summary> |
| | | /// 保存菜单 |
| | | /// </summary> |
| | | public class MenuSaveCommandHandler : IRequestHandler<MenuSaveCommand, Guid> |
| | | { |
| | | private readonly IRepository<Menu> menuRep; |
| | | |
| | | public MenuSaveCommandHandler( |
| | | public class MenuSaveCommandHandler( |
| | | IRepository<Menu> menuRep) |
| | | : IRequestHandler<MenuSaveCommand, Guid> |
| | | { |
| | | this.menuRep = menuRep; |
| | | } |
| | | private readonly IRepository<Menu> menuRep = menuRep; |
| | | |
| | | /// <inheritdoc/> |
| | | public async Task<Guid> Handle(MenuSaveCommand request, CancellationToken cancellationToken) |
| | | { |
| | | var menu = |
| | |
| | | ? await menuRep.AsQueryable().FirstOrDefaultAsync(it => it.Id == request.Id, cancellationToken) |
| | | : new Menu(); |
| | | if (menu == null) throw Oops.Oh(EnumUserErrorCodeType.s100, "菜单"); |
| | | menu.Adapt(request); |
| | | await menuRep.SaveNowAsync(cancellationToken); |
| | | request.Adapt(menu); |
| | | var result = request.Id == null |
| | | ? await menuRep.InsertNowAsync(menu, cancellationToken: cancellationToken) |
| | | : await menuRep.UpdateNowAsync(menu, cancellationToken: cancellationToken); |
| | | return menu.Id; |
| | | } |
| | | } |