Beispiel #1
0
        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);
        }
Beispiel #2
0
        /// <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);
        }