Пример #1
0
        public bool InsertOrUpdate(RoleDto dto, UserDto moduser)
        {
            RoleDto cRole, olddto = null;

            if (default(Guid).Equals(dto.Id)) //add
            {
                cRole = dto;
                if (moduser != null)
                {
                    cRole.CreateUserId = moduser.Id;
                    cRole.CreateTime   = DateTime.Now;
                }
            }
            else //edit
            {
                olddto        = Get(dto.Id);
                cRole         = olddto.GetCopy();
                cRole.Name    = dto.Name;
                cRole.Code    = dto.Code;
                cRole.Remarks = dto.Remarks;
            }
            role_update_insertupdate_rpc msg = null;

            Request(cRole, olddto, msg, 0);  //异步rpc的方式
            //var user = _repository.InsertOrUpdate(Mapper.Map<Role>(dto));
            return(true);
        }
Пример #2
0
        private void Request(RoleDto dto, RoleDto olddto, role_update_insertupdate_rpc replyMsg, int runcnt)
        {
            role_update_insertupdate_rpc msg = new role_update_insertupdate_rpc(_queueService.ExchangeName, dto);

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