| | |
| | | public Task<Guid> Handle(SaveDictionaryCategoryCommand request, CancellationToken cancellationToken) |
| | | { |
| | | return request.SaveData<DictionaryCategory, SaveDictionaryCategoryCommand>( |
| | | null, |
| | | it => it.Id != request.Id && it.Code == request.Code, |
| | | null, |
| | | cancellationToken); |
| | |
| | | public Task<Guid> Handle(SaveDictionaryDataCommand request, CancellationToken cancellationToken) |
| | | { |
| | | return request.SaveData<DictionaryData, SaveDictionaryDataCommand>( |
| | | null, |
| | | it => |
| | | it.CategoryId == request.CategoryId |
| | | && it.ParentId == request.ParentId |
| | |
| | | <param name="cancellationToken"></param> |
| | | <returns></returns> |
| | | </member> |
| | | <member name="M:FlexJobApi.Core.DbUtils.SaveData``2(``1,System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Action{``0},System.Threading.CancellationToken)"> |
| | | <member name="M:FlexJobApi.Core.DbUtils.SaveData``2(``1,System.Func{System.Linq.IQueryable{``0},System.Linq.IQueryable{``0}},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Action{``0},System.Threading.CancellationToken)"> |
| | | <summary> |
| | | 保存数据 |
| | | </summary> |
| | | <typeparam name="TEntity"></typeparam> |
| | | <typeparam name="TRequest"></typeparam> |
| | | <param name="request"></param> |
| | | <param name="query"></param> |
| | | <param name="checkExist"></param> |
| | | <param name="update"></param> |
| | | <param name="cancellationToken"></param> |
| | |
| | | /// <typeparam name="TEntity"></typeparam> |
| | | /// <typeparam name="TRequest"></typeparam> |
| | | /// <param name="request"></param> |
| | | /// <param name="query"></param> |
| | | /// <param name="checkExist"></param> |
| | | /// <param name="update"></param> |
| | | /// <param name="cancellationToken"></param> |
| | | /// <returns></returns> |
| | | public static async Task<Guid> SaveData<TEntity, TRequest>( |
| | | this TRequest request, |
| | | Func<IQueryable<TEntity>, IQueryable<TEntity>> query = null, |
| | | Expression<Func<TEntity, bool>> checkExist = null, |
| | | Action<TEntity> update = null, |
| | | CancellationToken cancellationToken = default) |
| | |
| | | throw Oops.Oh(EnumErrorCodeType.s405, $"该{summary ?? "信息"}"); |
| | | if (request.Id.HasValue) |
| | | { |
| | | var entity = await rep.AsQueryable().FirstOrDefaultAsync(it => it.Id == request.Id, cancellationToken); |
| | | var q = rep.AsQueryable(); |
| | | if (query != null) q = query(q); |
| | | var entity = await q.FirstOrDefaultAsync(it => it.Id == request.Id, cancellationToken); |
| | | if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, $"该{summary ?? "信息"}"); |
| | | if (update != null) update(entity); |
| | | else request.Adapt(entity); |
| | |
| | | var parent = await rep.FirstOrDefaultAsync(it => it.Id == request.ParentId); |
| | | if (parent == null) throw Oops.Oh(EnumErrorCodeType.s404, "上级菜单"); |
| | | return await request.SaveData<Menu, SaveMenuButtonCommand>( |
| | | null, |
| | | it => |
| | | it.ParentId == request.ParentId |
| | | && it.Type == EnumMenuType.Button |
| | |
| | | public async Task<Guid> Handle(SaveMenuCommand request, CancellationToken cancellationToken) |
| | | { |
| | | return await request.SaveData<Menu, SaveMenuCommand>( |
| | | q => q.Include(it => it.Children), |
| | | it => |
| | | it.UserType == request.UserType |
| | | && it.ClientType == request.ClientType |
| | |
| | | var parent = await rep.FirstOrDefaultAsync(it => it.Id == request.ParentId); |
| | | if (parent == null) throw Oops.Oh(EnumErrorCodeType.s404, "上级菜单"); |
| | | return await request.SaveData<Menu, SaveMenuFieldCommand>( |
| | | null, |
| | | it => |
| | | it.ParentId == request.ParentId |
| | | && it.Type == EnumMenuType.Field |