public async Task <IResultModel> Sync() { var modules = _moduleCollection.Select(m => new ModuleInfoEntity { Name = m.Name, Code = m.Id, Version = m.Version }); _uow.BeginTransaction(); foreach (var moduleInfo in modules) { if (!await _repository.Exists(moduleInfo.Code)) { if (!await _repository.AddAsync(moduleInfo)) { _uow.Rollback(); return(ResultModel.Failed()); } } else { if (!await _repository.UpdateByCode(moduleInfo)) { _uow.Rollback(); return(ResultModel.Failed()); } } } _uow.Commit(); return(ResultModel.Success()); }
public async Task <IResultModel> Add(ModuleInfoAddModel model) { if (await _repository.Exists(model.Code.ToLower())) { return(ResultModel.HasExists); } var moduleInfo = _mapper.Map <ModuleInfo>(model); var result = await _repository.AddAsync(moduleInfo); return(ResultModel.Result(result)); }
public async Task <IResultModel> Sync() { var modules = _moduleCollection.Select(m => new ModuleInfoEntity { Name = m.Name, Code = m.Id, Icon = m.Icon, Version = m.Version }); using (var uow = _dbContext.NewUnitOfWork()) { foreach (var moduleInfo in modules) { if (!await _repository.Exists(moduleInfo, uow)) { if (!await _repository.AddAsync(moduleInfo)) { uow.Rollback(); return(ResultModel.Failed()); } } else { if (!await _repository.UpdateByCode(moduleInfo)) { uow.Rollback(); return(ResultModel.Failed()); } } } uow.Commit(); } return(ResultModel.Success()); }