コード例 #1
0
ファイル: UserAppService.cs プロジェクト: jjjyyy12/Jy
        public bool InsertOrUpdate(UserDto dto, UserDto createUser)
        {
            UserDto cuser, olddto = null;

            if (default(Guid).Equals(dto.Id)) //add
            {
                cuser = dto;
                if (createUser != null)
                {
                    cuser.CreateUserId = createUser.Id;
                    cuser.CreateTime   = DateTime.Now;
                }
            }
            else //edit
            {
                olddto             = Get(dto.Id);
                cuser              = olddto.GetCopy();
                cuser.Name         = dto.Name;
                cuser.UserName     = dto.UserName;
                cuser.Email        = dto.Email;
                cuser.MobileNumber = dto.MobileNumber;
                cuser.Remarks      = dto.Remarks;
            }

            user_update_insertupdate_rpc user = null;

            Request(cuser, olddto, user, 0);  //异步rpc的方式
            //var user = _repository.InsertOrUpdate(Mapper.Map<User>(dto));
            return(true);
        }
コード例 #2
0
ファイル: UserAppService.cs プロジェクト: jjjyyy12/Jy
        private void Request(UserDto dto, UserDto olddto, user_update_insertupdate_rpc replyMsg, int runcnt)
        {
            user_update_insertupdate_rpc msg = new user_update_insertupdate_rpc(_queueService.ExchangeName, dto);

            _queueService.Request <UserDto>(dto, olddto, msg, replyMsg, (x, z, y) =>
            {
                x.Id = ByteConvertHelper.Bytes2Object <Guid>(y.MessageBodyReturnByte);
                _logger.LogInformation("user.update.insertupdate.rpc: username:{0} method:{1}", x.Id, "InsertOrUpdate");
                InsertOrUpdateCache(x, z);
            }, runcnt);
        }