示例#1
0
        /// <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
            });
        }