/// <summary> /// 根据ID组获取信息 /// </summary> /// <param name="id1"></param> /// <param name="id2"></param> /// <param name="ids"></param> /// <returns></returns> private async Task <List <WebMenuAuthority> > GetWebMenuAuthoritiesByIDs(Guid id1, Guid id2, params Guid[] ids) { Expression <Func <WebMenuAuthority, bool> > expression = m => m.ID == id1 || m.ID == id2; expression = ids.Aggregate(expression, (current, id) => current.Or(m => m.ID == id)); List <WebMenuAuthority> webMenuAuthorities = await _webMenuAuthorityRepository.WhereAsync(expression).ToList(); if (webMenuAuthorities.Count != ids.Length + 2) { throw new InvalidOperationException("该网页菜单权限不存在"); } return(webMenuAuthorities); }
public async Task ExchangeWebMenuAuthorityIndexAsync(Guid id1, Guid id2) { List <WebMenuAuthority> webMenuAuthorities = await _webMenuAuthorityRepository.WhereAsync(m => m.ID == id1 || m.ID == id2).ToList(); if (webMenuAuthorities.Count != 2) { throw new InvalidOperationException("该网页菜单权限不存在"); } ExchangeIndex(webMenuAuthorities[0], webMenuAuthorities[1]); _authorityUnitOfWork.RegisterEdit(webMenuAuthorities[0]); _authorityUnitOfWork.RegisterEdit(webMenuAuthorities[1]); await _authorityUnitOfWork.CommitAsync(); }