//同步方法
        public RpcResult <QPaperListRsp> QueryQPaperList(QueryQPaperReq req)
        {
            AmpMessage message = AmpMessage.CreateRequestMessage(20001, 2);

            message.FriendlyServiceName = "QPaperInnerService.QueryQPaperList";


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

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

            if (response.Code != 0)
            {
                result.Code = response.Code;
            }
            else if (response.Data == null)
            {
                result.Code = ErrorCodes.CODE_INTERNAL_ERROR;
            }
            else
            {
                result.Data = QPaperListRsp.Parser.ParseFrom(response.Data);
            }
            return(result);
        }
        /// <summary>
        /// 分页获取问卷列表
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public override async Task <RpcResult <QPaperListRsp> > QueryQPaperListAsync(QueryQPaperReq request)
        {
            var res = new RpcResult <QPaperListRsp>();

            res.Data = new QPaperListRsp();

            var userId = request.CheckRole ? request.Identity : String.Empty;
            var view   = new PageView(request.Page, request.Rp);

            var plist = await this._qpaperRepo.QueryQPaperList(Utility.ClearSafeStringParma(request.Query), userId, view);

            res.Data.Total = view.PageIndex == 0 ? plist.Total : -1;

            if (plist != null && plist.DataList != null && plist.DataList.Count > 0)
            {
                foreach (var qpaper in plist.DataList)
                {
                    res.Data.List.Add(new DTOQPaper()
                    {
                        QpaperId    = qpaper.QpaperId,
                        Subject     = qpaper.Subject,
                        Description = qpaper.Description,
                        ApaperCount = qpaper.ApaperCount,
                        StartTime   = qpaper.StartTime.HasValue ? qpaper.StartTime.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
                        EndTime     = qpaper.EndTime.HasValue ? qpaper.EndTime.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""
                    });
                }
            }
            return(res);
        }
        public async Task <RpcResult <QPaperListRsp> > QueryQPaperListAsync(QueryQPaperReq req, int timeOut = 3000)
        {
            AmpMessage message = AmpMessage.CreateRequestMessage(20001, 2);

            message.FriendlyServiceName = "QPaperService.QueryQPaperList";
            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 <QPaperListRsp>();

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

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

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

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

            req.FriendlyServiceName = "SurveyGateService.QueryQPaperList";

            var result = await QueryQPaperListAsync(request);

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

            response.FriendlyServiceName = "SurveyGateService.QueryQPaperList";
            response.Code = result.Code;
            if (result.Data != null)
            {
                response.Data = result.Data.ToByteArray();
            }
            return(response);
        }
Example #5
0
        public override Task <RpcResult <QPaperListRsp> > QueryQPaperListAsync(QueryQPaperReq request)
        {
            var res = new RpcResult <QPaperListRsp>();

            res.Data = new QPaperListRsp();
            if (string.IsNullOrEmpty(request.Identity))
            {
                res.Code = ErrorCodes.AUTHORIZATION_REQUIRED;
                res.Data.ReturnMessage = "请先登录";
                return(Task.FromResult(res));
            }

            var client = _proxy.GetClient <QPaperInnerServiceClient>();

            return(client.QueryQPaperListAsync(request));
        }
Example #6
0
 //抽象方法
 public abstract Task <RpcResult <QPaperListRsp> > QueryQPaperListAsync(QueryQPaperReq req);