Пример #1
0
        public async Task <IResultModel> BindPermission(MenuBindPermissionModel model)
        {
            _uow.BeginTransaction();

            //删除旧数据
            if (await _menuPermissionRepository.DeleteByMenuId(model.Id))
            {
                if (model.PermissionList == null || !model.PermissionList.Any())
                {
                    _uow.Commit();
                    await ClearAccountPermissionCache(model.Id);

                    return(ResultModel.Success());
                }

                //添加新数据
                var entityList = new List <MenuPermissionEntity>();
                model.PermissionList.ForEach(p =>
                {
                    entityList.Add(new MenuPermissionEntity {
                        MenuId = model.Id, PermissionId = p
                    });
                });
                if (await _menuPermissionRepository.AddAsync(entityList))
                {
                    _uow.Commit();
                    await ClearAccountPermissionCache(model.Id);

                    return(ResultModel.Success());
                }
            }

            _uow.Rollback();
            return(ResultModel.Failed());
        }
Пример #2
0
 public async Task <IResultModel> BindPermission(MenuBindPermissionModel model)
 {
     return(await _service.BindPermission(model));
 }