Пример #1
0
        public string HandleErrorRequest(SignModel signModel, string requestXml, string error)
        {
            this.SignModel  = signModel;
            this.RequestXml = requestXml;

            var val = new RequestMessageBase();

            val.FillEntityWithXml <RequestMessageBase>(XDocument.Parse(requestXml));
            this.RequestMessage = val;

            var responseMessageText = ResponseMessageFactory.CreateFromRequestMessage <ResponseMessageText>(this.RequestMessage);

            responseMessageText.Content = error;

            this.ResponseMessage = responseMessageText;
            var response = ResponseMessageFactory.ConvertEntityToXmlStr(this.ResponseMessage);

            this.EncryptMsg(ref response);
            return(response);
        }
Пример #2
0
        public override string HandleRequest()
        {
            string response = string.Empty;

            if (this.exception != null)
            {
                var responseMessageText = ResponseMessageFactory.CreateFromRequestMessage <ResponseMessageText>(this.RequestMessage);
                responseMessageText.Content = this.exception.Message;

                this.ResponseMessage = responseMessageText;
                response             = ResponseMessageFactory.ConvertEntityToXmlStr(this.ResponseMessage);
                EncryptMsg(ref response);
                return(response);
            }
            var requestMsgType = this.RequestMessage.MsgType;

            switch (requestMsgType)
            {
            case RequestMsgType.text:
                this.ResponseMessage = OnTextRequest((RequestMessageText)this.RequestMessage);
                break;

            case RequestMsgType.voice:
                this.ResponseMessage = OnVoiceRequest((RequestMessageVoice)this.RequestMessage);
                break;

            case RequestMsgType.video:
                this.ResponseMessage = OnVideoRequest((RequestMessageVideo)this.RequestMessage);
                break;

            case RequestMsgType.shortvideo:
                this.ResponseMessage = OnShortVideoRequest((RequestMessageShortVideo)this.RequestMessage);
                break;

            case RequestMsgType.location:
                this.ResponseMessage = OnLocationRequest((RequestMessageLocation)this.RequestMessage);
                break;

            case RequestMsgType.link:
                this.ResponseMessage = OnLinkRequest((RequestMessageLink)this.RequestMessage);
                break;

            case RequestMsgType.image:
                this.ResponseMessage = OnImageRequest((RequestMessageImage)this.RequestMessage);
                break;

            case RequestMsgType.@event:
                var eventBase = this.RequestMessage as RequestMessageEventBase;
                switch (eventBase.Event)
                {
                case Event.CLICK:
                    this.ResponseMessage = OnEventClickRequest((RequestMessageEventClick)this.RequestMessage);
                    break;

                case Event.LOCATION:
                    this.ResponseMessage = OnEventLocationRequest((RequestMessageEventLocation)this.RequestMessage);
                    break;

                case Event.scan:
                    this.ResponseMessage = OnEventScanRequest((RequestMessageEventScan)this.RequestMessage);
                    break;

                case Event.subscribe:
                    this.ResponseMessage = OnEventSubscribeRequest((RequestMessageEventSubscribe)this.RequestMessage);
                    break;

                case Event.unsubscribe:
                    this.ResponseMessage = OnEventUnsubscribeRequest((RequestMessageEventUnsubscribe)this.RequestMessage);
                    break;

                case Event.VIEW:
                    this.ResponseMessage = OnEventViewRequest((RequestMessageEventView)this.RequestMessage);
                    break;
                }
                break;
            }
            response = ResponseMessageFactory.ConvertEntityToXmlStr(this.ResponseMessage);
            EncryptMsg(ref response);
            return(response);
        }