Esempio n. 1
0
        public async Task <ExecuteResult <Role> > Create(RoleViewModel viewModel)
        {
            ExecuteResult <Role> result = new ExecuteResult <Role>();

            //检查字段
            if (viewModel.CheckField(ExecuteType.Create, _unitOfWork) is ExecuteResult checkResult && !checkResult.IsSucceed)
            {
                return(result.SetFailMessage(checkResult.Message));
            }

            //开启一个事务(不用可以去掉)
            using (var trans = _unitOfWork.BeginTransaction())
            {
                Role newRole = _mapper.Map <Role>(viewModel); //_mapper.Map方法把字段从ViewModel映射到实体类中
                newRole.Id         = _idWorker.NextId();      //_idWorker.NextId()方法获取一个雪花Id
                newRole.CreateTime = DateTime.Now;
                newRole.Creator    = _claimsAccessor.UserId;  //111111222222;//由于暂时还没有做登录,所以拿不到登录者信息,先随便写一个后面再完善

                _unitOfWork.GetRepository <Role>().Insert(newRole);
                await _unitOfWork.SaveChangesAsync();

                await trans.CommitAsync(); //提交事务

                result.SetData(newRole);   //添加成功,把新的实体返回回去
            }

            return(result);
        }
Esempio n. 2
0
        public async Task <ExecuteResult> Delete(RoleViewModel viewModel)
        {
            ExecuteResult result = new ExecuteResult();

            //检查字段
            if (viewModel.CheckField(ExecuteType.Delete, _unitOfWork) is ExecuteResult checkResult && !checkResult.IsSucceed)
            {
                return(checkResult);
            }
            _unitOfWork.GetRepository <Role>().Delete(viewModel.Id);
            await _unitOfWork.SaveChangesAsync();//提交

            return(result);
        }
Esempio n. 3
0
        public async Task <ExecuteResult> Update(RoleViewModel viewModel)
        {
            ExecuteResult <Role> result = new ExecuteResult <Role>();

            if (viewModel.CheckField(ExecuteType.Update, _unitOfWork) is ExecuteResult checkResult && !checkResult.IsSucceed)
            {
                return(result.SetFailMessage(checkResult.Message));
            }

            //在viewModel.CheckField中已经获取了一次用于检查,所以此处不会重复再从数据库取一次,有缓存
            var row = await _unitOfWork.GetRepository <Role>().FindAsync(viewModel.Id);

            //修改对应的值
            row.Name        = viewModel.Name;
            row.DisplayName = viewModel.DisplayName;
            row.Remark      = viewModel.Remark;
            row.Modifier    = 1219490056771866624;//由于暂时还没有做登录,所以拿不到登录者信息,先随便写一个后面再完善
            row.ModifyTime  = DateTime.Now;
            _unitOfWork.GetRepository <Role>().Update(row);
            await _unitOfWork.SaveChangesAsync();//提交

            return(result);
        }
Esempio n. 4
0
        public async Task <ExecuteResult <Role> > Create(RoleViewModel roleViewModel)
        {
            ExecuteResult <Role> result = new ExecuteResult <Role>();

            //检查字段
            if (roleViewModel.CheckField(ExecuteType.Create, _unitOfWork) is ExecuteResult checkResult && !checkResult.IsSucceed)
            {
                return(result.SetFailMessage(checkResult.Message));
            }
            using (var tran = _unitOfWork.BeginTransaction())//开启一个事务
            {
                Role newRow = _mapper.Map <Role>(roleViewModel);
                newRow.Id         = _idWorker.NextId();//获取一个雪花Id
                newRow.Creator    = 1219490056771866624;
                newRow.CreateTime = DateTime.Now;
                _unitOfWork.GetRepository <Role>().Insert(newRow);
                await _unitOfWork.SaveChangesAsync();

                await tran.CommitAsync(); //提交事务

                result.SetData(newRow);   //添加成功,把新的实体返回回去
            }
            return(result);
        }