Пример #1
0
        public async Task <IResultModel> Permissions(ResourceUpdateModel model)
        {
            var entity = await _resourceRepository.FirstAsync(model.Id);

            if (entity == null)
            {
                return(ResultModel.NotExists);
            }

            _mapper.Map(model, entity);

            try
            {
                _dbContext.Db.BeginTran();

                await _resourceRepository.UpdateAsync(entity, _dbContext.Db);

                //过滤
                await _resourceFilterRepository.DeleteAsync(m => m.ResourceId == entity.Id, _dbContext.Db);

                await _resourceFilterRepository.InsertRangeAsync(model.Filters, _dbContext.Db);

                //白名单
                await _resourceWhitelistRepository.DeleteAsync(m => m.ResourceId == entity.Id, _dbContext.Db);

                await _resourceWhitelistRepository.InsertRangeAsync(model.Whitelists, _dbContext.Db);

                _dbContext.Db.CommitTran();
            }
            catch (Exception ex)
            {
                _dbContext.Db.RollbackTran();
                return(ResultModel.Failed(ex.Message));
            }

            return(ResultModel.Success());
        }
Пример #2
0
        public async Task <IResultModel> Update(ResourceUpdateModel model)
        {
            var entity = await _resourceRepository.FirstAsync(model.Id);

            if (entity == null)
            {
                return(ResultModel.NotExists);
            }

            _mapper.Map(model, entity);

            try
            {
                _dbContext.Db.BeginTran();

                var result = await _resourceRepository.UpdateAsync(entity, _dbContext.Db);

                if (result)
                {
                    await _resourceDetailRepository.DeleteAsync(m => m.ResourceId == entity.Id);

                    var details = model.Details.Where(m => !string.IsNullOrEmpty(m.FieldName)).ToList();
                    details.ForEach(m => { m.ResourceId = entity.Id; });

                    await _resourceDetailRepository.InsertRangeAsync(_mapper.Map <List <ResourceDetailEntity> >(details), _dbContext.Db);
                }

                _dbContext.Db.CommitTran();
            }
            catch (Exception ex)
            {
                _dbContext.Db.RollbackTran();
                return(ResultModel.Failed(ex.Message));
            }

            return(ResultModel.Success());
        }
Пример #3
0
 public Task <IResultModel> Permissions(ResourceUpdateModel model)
 {
     return(_service.Permissions(model));
 }
Пример #4
0
 public Task <IResultModel> Update(ResourceUpdateModel model)
 {
     return(_service.Update(model));
 }