| | |
| | | if (parent == null) throw Oops.Oh(EnumErrorCodeType.s404, "上级菜单"); |
| | | if (request.Id.HasValue) |
| | | { |
| | | var entity = await rep.FirstOrDefaultAsync(it => it.Id == it.Id); |
| | | var entity = await rep.FirstOrDefaultAsync(it => it.Id == request.Id); |
| | | if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "该菜单"); |
| | | if (entity.ParentId != request.ParentId) throw Oops.Oh(EnumErrorCodeType.s410, "上级Id"); |
| | | request.Adapt(entity); |
| | |
| | | { |
| | | var entity = new Menu(); |
| | | entity.Path = $"{parent.Path}{parent.Code}/"; |
| | | entity.Type = EnumMenuType.Button; |
| | | entity.Type = EnumMenuType.Field; |
| | | entity.VisitLevel = parent.VisitLevel; |
| | | request.Adapt(entity); |
| | | if (await CheckExist(entity)) throw Oops.Oh(EnumErrorCodeType.s405, "菜单编号"); |
| | | if (await CheckExist(entity)) throw Oops.Oh(EnumErrorCodeType.s406, "菜单编号"); |
| | | await rep.InsertAsync(entity); |
| | | return entity.Id; |
| | | } |
| | |
| | | return await rep.AsQueryable().AsNoTracking() |
| | | .AnyAsync(it => |
| | | it.ParentId == entity.ParentId |
| | | && it.Type == entity.Type |
| | | && it.Group == entity.Group |
| | | && it.Code == entity.Code |
| | | && it.Id != entity.Id); |