public async Task <IResultModel> Add(ClassAddModel model) { var entity = _mapper.Map <ClassEntity>(model); if (await _repository.Exists(entity)) { return(ResultModel.Failed($"类名称({entity.Name})已存在")); } using (var tran = _repository.BeginTransaction()) { if (await _repository.AddAsync(entity, tran)) { if (entity.BaseEntityType != BaseEntityType.Normal) { var propertyEntities = _baseEntityPropertyCollection.Get(entity.BaseEntityType); propertyEntities.ForEach(m => m.ClassId = entity.Id); //添加基类实体的属性 if (await _propertyRepository.AddAsync(propertyEntities, tran)) { var methodEntity = _mapper.Map <ClassMethodEntity>(model.Method); methodEntity.ClassId = entity.Id; //添加方法 if (await _classMethodRepository.AddAsync(methodEntity, tran)) { tran.Commit(); return(ResultModel.Success()); } } } } } return(ResultModel.Failed()); }
public async Task <IResultModel> Add(ClassAddModel model) { var entity = _mapper.Map <ClassEntity>(model); if (await _repository.Exists(entity)) { return(ResultModel.Failed($"类名称({entity.Name})已存在")); } _uow.BeginTransaction(); if (await _repository.AddAsync(entity)) { if (entity.BaseEntityType != BaseEntityType.Normal) { var propertyEntities = _baseEntityPropertyCollection.Get(entity.BaseEntityType); propertyEntities.ForEach(m => m.ClassId = entity.Id); if (await _propertyRepository.AddAsync(propertyEntities)) { _uow.Commit(); return(ResultModel.Success()); } } } _uow.Rollback(); return(ResultModel.Failed()); }