private void Request(DepartmentDto dto, DepartmentDto olddto, department_update_insertupdate_rpc replyMsg, int runcnt) { department_update_insertupdate_rpc msg = new department_update_insertupdate_rpc(_queueService.ExchangeName, dto); _queueService.Request <DepartmentDto>(dto, olddto, msg, replyMsg, (x, z, y) => { x.Id = ByteConvertHelper.Bytes2Object <Guid>(y.MessageBodyReturnByte); _logger.LogInformation("department.update.insertupdate.rpc: name:{0} method:{1}", x.Id, "InsertOrUpdate"); InsertOrUpdateCache(x, z); }, runcnt); }
/// <summary> /// 新增或修改 /// </summary> /// <param name="dto">实体</param> /// <returns></returns> public bool InsertOrUpdate(DepartmentDto dto) { DepartmentDto olddto = null; if (default(Guid).Equals(dto.Id)) //add { } else //edit { olddto = Get(dto.Id); } //var department = _repository.InsertOrUpdate(Mapper.Map<Department>(dto)); department_update_insertupdate_rpc msg = null; Request(dto, olddto, msg, 0); //异步rpc的方式 return(true); }