Example #1
0
        void OnResponse(IAsyncResult ar)
        {
            HttpWebRequest  request  = (HttpWebRequest)ar.AsyncState;
            HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(ar);
            Stream          stream   = response.GetResponseStream();
            bool            result   = false;
            ResStatisticsAnalysisDataPacket packet = null;

            String[] urlParams = response.ResponseUri.Segments;
            if (urlParams.Length < 2)
            {
                return;
            }
            String shortcode = urlParams[urlParams.Length - 1];
            String markt     = urlParams[urlParams.Length - 2];
            String emcode    = String.Format(@"{0}.{1}", shortcode.Substring(0, shortcode.Length - 4),
                                             markt.Substring(0, markt.Length - 1).ToUpper());

            if (!DetailData.EmCodeToUnicode.ContainsKey(emcode))
            {
                return;
            }

            if (stream != null)
            {
                using (BinaryReader br = new BinaryReader(stream))
                {
                    packet             = new ResStatisticsAnalysisDataPacket();
                    packet.RequestType = FuncTypeRealTime.StatisticsAnalysis;
                    result             = packet.Decoding(br);
                    packet.Code        = DetailData.EmCodeToUnicode[emcode];
                }
                stream.Dispose();
            }

            if (result)
            {
                if (DoCMReceiveData != null) //通知界面而已,对于数据的响应在这个类中完成。
                {
                    DoCMReceiveData(this,
                                    new CMRecvDataEventArgs(TcpService.SSHQ, packet, 0));
                }
            }
        }
Example #2
0
 /// <summary>
 /// 统计明细
 /// </summary>
 /// <param name="dataPacket"></param>
 private void SetStatisticsAnalysisData(ResStatisticsAnalysisDataPacket dataPacket)
 {
     _allStatisticsAnalysisDataRec[dataPacket.Code] = dataPacket.StatisticsData;
 }