/// <summary> /// /// </summary> /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <HandleResultDto> Handle(CreateMenuCommand request, CancellationToken cancellationToken) { if (string.IsNullOrEmpty(request.Id)) { var menu = new SystemMenu(request.Name, request.Code, request.Address, request.Icon, request.MenuType, request.ParentId); await _systemMenuRepository.AddAsync(menu, cancellationToken); } else { var menu = await _systemMenuRepository.GetAsync(request.Id, cancellationToken); if (menu != null) { menu.UpdateMenu(request.Name, request.Code, request.Address, request.Icon, request.MenuType, request.ParentId); await _systemMenuRepository.UpdateAsync(menu, cancellationToken); } } await _systemMenuRepository.UnitOfWork.SaveEntitiesAsync(cancellationToken); return(new HandleResultDto { State = 1 }); }