Example #1
0
        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));
        }
Example #2
0
        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> 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());
        }