Esempio n. 1
0
        private void GetUploadData(object state)
        {
            SynchronizationContext sc = (SynchronizationContext)state;
            // Get Data from Database
            MainScCallbackState mainState = new MainScCallbackState( );

            mainState.type = MainScCallbackState.CallbackType.TypeUploadData;

            // to Center
            StringBuilder builder = new StringBuilder();

            try
            {
                dbMySQL.GetRecordData(builder);

                mainState.data = builder;
                sc.Post(scCallback, mainState);

                if (0 != builder.Length)
                {
                    wcfClient.UploadRecordData(builder);
                    dbMySQL.DeleteUploadRecordData();
                }
            }
            catch (Exception ex)
            {
                mainState.data = CommonFunction.GetExceptionMessage(ex);
                mainSC.Post(scCallback, mainState);
            }
        }
Esempio n. 2
0
        private void MainScCallback(object state)
        {
            if (null == state || string.Empty == state.ToString())
            {
                return;
            }

            MainScCallbackState scState = state as MainScCallbackState;

            strBuilder.Clear();

            string strData = scState.data.ToString();

            if (string.Empty == strData)
            {
                return;
            }

            switch (scState.type)
            {
            case MainScCallbackState.CallbackType.TypeGetImage:
                strBuilder.Append("【获取进出图像】");
                break;

            case MainScCallbackState.CallbackType.TypeUploadData:
                strBuilder.Append("【上传记录数据】");
                break;

            case MainScCallbackState.CallbackType.TypeMessage:
                break;
            }

            strBuilder.Append(strData);
            DisplayLog(strBuilder);
        }
Esempio n. 3
0
        private void tcpClient_QueryEvent(object sender, WcfCommonLib.TcpClient.SocketEVentArgs e)
        {
            ParseQueryString(e);
            return;

            MainScCallbackState mainState = new MainScCallbackState();

            mainState.type = MainScCallbackState.CallbackType.TypeGetImage;
            StringBuilder builder = new StringBuilder(e.QueryString);

            builderQuery.Append(e.QueryString);
            bool bTransfered = true;
            bool bIn         = true;
            bool bOut        = true;

            try
            {
                // ParkID|RecordID
                string[] strQuery = e.QueryString.Split(new char[] { '|' });
                byte[]   inImage;
                byte[]   outImage;
                dbMySQL.GetImage(strQuery[1], out inImage, out outImage);

                if (null == inImage)
                {
                    bIn = false;
                    builder.Append(" 进入图像为空");
                }

                if (null == outImage)
                {
                    bOut = false;
                    builder.Append(" 离开图像为空");
                }

                bTransfered = bIn || bOut;

                //byte[] tmpInImage = new byte[10000000];
                //inImage.CopyTo(tmpInImage, 0);

                //byte[] tmpOutInImage = new byte[59137];
                //outImage.CopyTo(tmpOutInImage, 0);
                // to Center
                //MemoryStream streamIn = new MemoryStream(inImage);
                //MemoryStream streamOut = new MemoryStream(outImage);
                //wcfClient.GetData(123);
                mainState.data = builder;
                mainSC.Post(scCallback, mainState);

                if (bTransfered)
                {
                    wcfClient.UploadInOutImage(strQuery[0], strQuery[1], inImage, outImage);
                }
            }
            catch (Exception ex)
            {
                mainState.data = CommonFunction.GetExceptionMessage(ex);
                mainSC.Post(scCallback, mainState);
            }
        }
Esempio n. 4
0
        void tcpClient_MessageEvent(object sender, WcfCommonLib.TcpClient.MessageEventArgs e)
        {
            if (e.bCrossThread)
            {
                MainScCallbackState mainState = new MainScCallbackState();
                mainState.type = MainScCallbackState.CallbackType.TypeMessage;

                mainState.data = e.strMessage;
                mainSC.Post(scCallback, mainState);
            }
            else
            {
                DisplayLog(e.strMessage);
            }
        }
Esempio n. 5
0
        private void ProcessQuery(string strQueryString)
        {
            MainScCallbackState mainState = new MainScCallbackState();

            mainState.type = MainScCallbackState.CallbackType.TypeGetImage;
            StringBuilder builder     = new StringBuilder(strQueryString);
            bool          bTransfered = true;
            bool          bIn         = true;
            bool          bOut        = true;

            try
            {
                // ParkID|RecordID
                string[] strQuery = strQueryString.Split(new char[] { '|' });
                byte[]   inImage;
                byte[]   outImage;
                dbMySQL.GetImage(strQuery[1], out inImage, out outImage);

                if (null == inImage)
                {
                    bIn = false;
                    builder.Append(" 进入图像为空");
                }

                if (null == outImage)
                {
                    bOut = false;
                    builder.Append(" 离开图像为空");
                }

                bTransfered    = bIn || bOut;
                mainState.data = builder;
                mainSC.Post(scCallback, mainState);

                if (bTransfered)
                {
                    wcfClient.UploadInOutImage(strQuery[0], strQuery[1], inImage, outImage);
                }
            }
            catch (Exception ex)
            {
                mainState.data = CommonFunction.GetExceptionMessage(ex);
                mainSC.Post(scCallback, mainState);
            }
        }