Example #1
0
        //同步方法
        public RpcResult <EditUserRsp> Edit(EditUserReq req)
        {
            AmpMessage message = AmpMessage.CreateRequestMessage(20003, 3);

            message.FriendlyServiceName = "UserService.Edit";


            message.Data = req.ToByteArray();
            var response = base.CallInvoker.BlockingCall(message);

            if (response == null)
            {
                throw new RpcException("error,response is null !");
            }
            var result = new RpcResult <EditUserRsp>();

            if (response.Code != 0)
            {
                result.Code = response.Code;
            }

            if (response.Data == null)
            {
                result.Data = new EditUserRsp();
            }
            else
            {
                result.Data = EditUserRsp.Parser.ParseFrom(response.Data);
            }

            return(result);
        }
Example #2
0
        public async Task <RpcResult <EditUserRsp> > EditAsync(EditUserReq req, int timeOut = 3000)
        {
            AmpMessage message = AmpMessage.CreateRequestMessage(20003, 3);

            message.FriendlyServiceName = "UserService.Edit";
            message.Data = req.ToByteArray();
            var response = await base.CallInvoker.AsyncCall(message, timeOut);

            if (response == null)
            {
                throw new RpcException("error,response is null !");
            }
            var result = new RpcResult <EditUserRsp>();

            if (response.Code != 0)
            {
                result.Code = response.Code;
            }

            if (response.Data == null)
            {
                result.Data = new EditUserRsp();
            }
            else
            {
                result.Data = EditUserRsp.Parser.ParseFrom(response.Data);
            }

            return(result);
        }
Example #3
0
        //调用委托
        private async Task <AmpMessage> ProcessEditUserAsync(AmpMessage req)
        {
            EditUserReq request = null;

            if (req.Data == null)
            {
                request = new EditUserReq();
            }
            else
            {
                request = EditUserReq.Parser.ParseFrom(req.Data);
            }

            req.FriendlyServiceName = "UserGateService.EditUser";

            var result = await EditUserAsync(request);

            var response = AmpMessage.CreateResponseMessage(req.ServiceId, req.MessageId);

            response.FriendlyServiceName = "UserGateService.EditUser";
            response.Code = result.Code;
            if (result.Data != null)
            {
                response.Data = result.Data.ToByteArray();
            }
            return(response);
        }
Example #4
0
        public async Task <ActionResult> EditOne(int id, [FromBody] EditUserReq req)
        {
            req.Id = id;
            var vm = await Mediator.Send(req);

            return(Ok(vm));
        }
Example #5
0
        private bool ValidateEditInfo(EditUserReq req, out string error)
        {
            error = "";
            if (string.IsNullOrEmpty(req.Account))
            {
                error = "账号不能为空";
                return(false);
            }
            if (string.IsNullOrEmpty(req.FullName))
            {
                error = "姓名不能为空";
                return(false);
            }
            if (!Validator.IsStringLength(req.FullName, 1, 16))
            {
                error = "姓名太长了";
                return(false);
            }

            if (!string.IsNullOrEmpty(req.OldPassword) && string.IsNullOrEmpty(req.NewPassword))
            {
                error = "新密码不能为空";
                return(false);
            }

            if (string.IsNullOrEmpty(req.OldPassword) && !string.IsNullOrEmpty(req.NewPassword))
            {
                error = "请输入旧密码";
                return(false);
            }
            return(true);
        }
Example #6
0
        public override Task <RpcResult <EditUserRsp> > EditUserAsync(EditUserReq request)
        {
            var result = new RpcResult <EditUserRsp>();

            if (string.IsNullOrEmpty(request.Identity))
            {
                result.Code = ErrorCodes.AUTHORIZATION_REQUIRED;
                return(Task.FromResult(result));
            }

            var client = this._proxy.GetClient <UserInnerServiceClient>();

            return(client.EditAsync(request));
        }
Example #7
0
        //修改用户信息
        public override async Task <RpcResult <EditUserRsp> > EditAsync(EditUserReq request)
        {
            var res = new RpcResult <EditUserRsp>();

            res.Data = new EditUserRsp();

            var isvalid = ValidateEditInfo(request, out string error);

            if (!isvalid)
            {
                res.Code = ErrorCodes.PARAMS_VALIDATION_FAIL;
                res.Data.ReturnMessage = error;
                return(res);
            }

            if (request.Account != request.Identity && request.CheckRole)
            {
                res.Code = ErrorCodes.INVALID_OPERATION;
                res.Data.ReturnMessage = "非法操作";
                return(res);
            }

            var user = await this._userRepo.GetUser(request.Account);

            if (user == null)
            {
                res.Code = ErrorCodes.DATA_NOT_FOUND;
                res.Data.ReturnMessage = "用户不存在";
                return(res);
            }

            user.FullUpdate = false;
            if (!string.IsNullOrEmpty(request.OldPassword)) // 修改密码
            {
                string md5pwd = CryptographyManager.Md5Encrypt(request.Account + request.OldPassword);
                if (md5pwd != user.Password)
                {
                    res.Code = ErrorCodes.INVALID_OPERATION;
                    res.Data.ReturnMessage = "旧密码错误";
                    return(res);
                }
                user.Password = CryptographyManager.Md5Encrypt(request.Account + request.NewPassword);
            }
            user.FullName   = request.FullName;
            user.UpdateTime = DateTime.Now;

            await this._userRepo.UpdateAsync(user);

            return(res);
        }
Example #8
0
        public IActionResult EditUser(EditUserModel model)
        {
            try
            {
                EditUserReq _editUserReq = new EditUserReq()
                {
                    UserId          = model.UserId,
                    Name            = model.Name,
                    Surname         = model.Surname,
                    CellPhoneNumber = model.CellPhoneNumber
                };

                return(PartialView("UserGridRowLine", ControllerHelper.FillUserGridModel(UsersBLL.EditUser(_editUserReq))));
            }
            catch (Exception)
            {
                throw;
            }
        }
Example #9
0
        public static UserResp EditUser(EditUserReq editUserReq)
        {
            try
            {
                var _xElementContext = XElementContext;

                var _user = from item in _xElementContext.Elements("User")
                            where (string)item.Element("UserId") == editUserReq.UserId
                            select item;

                _user.FirstOrDefault().Element("Name").ReplaceNodes(editUserReq.Name);
                _user.FirstOrDefault().Element("Surname").ReplaceNodes(editUserReq.Surname);
                _user.FirstOrDefault().Element("CellPhoneNumber").ReplaceNodes(editUserReq.CellPhoneNumber);

                SaveChanges(_xElementContext);

                return(FillUserResp(_user.FirstOrDefault()));
            }
            catch (Exception)
            {
                throw;
            }
        }
Example #10
0
 //抽象方法
 public abstract Task <RpcResult <EditUserRsp> > EditUserAsync(EditUserReq req);