Exemplo n.º 1
0
 public PowerpointLoadInfo deserializePowerpointLoadInfo(String json)
 {
     try
     {
         System.Web.Script.Serialization.JavaScriptSerializer Serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
         Serializer.MaxJsonLength = int.MaxValue;
         PowerpointLoadInfo info = Serializer.Deserialize <PowerpointLoadInfo>(json);
         return(info);
     }
     catch (Exception e)
     {
         logger.Debug("Fail to deserialize PowerpointLoadInfo!", e);
     }
     return(null);
 }
Exemplo n.º 2
0
        public void Run(List <int> stringOids, bool isRunAllMode = false)
        {
            System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
            serializer.MaxJsonLength = int.MaxValue;
            string socketHeader = "/run/" + (isRunAllMode ? "all/" : "");
            Socket socket       = buildSocket(SocketResourcePath + socketHeader);

            socket.OnMessage += (sender, e) =>
            {
                PowerpointLoadInfo pptLoadInfo = deserializePowerpointLoadInfo(e.Data);
                if (pptLoadInfo != null && pptLoadInfo.action != null)
                {
                    if (PowerpointHandler != null)
                    {
                        System.Windows.Application.Current.Dispatcher.Invoke(() => PowerpointHandler(pptLoadInfo));
                    }
                    return;
                }


                LoopUserDialogTemplateData LoopTemplate = deserializeLoopTemplateData(e.Data);
                if (LoopTemplate != null)
                {
                    System.Windows.Application.Current.Dispatcher.Invoke(() =>
                    {
                        ProcessPopup dialog = new ProcessPopup();
                        dialog.Display(LoopTemplate);
                        dialog.ShowDialog();
                        LoopTemplate = dialog.LoopUserTemplateData;
                        string json  = serializer.Serialize(LoopTemplate);
                        socket.Send(json);
                    });
                    return;
                }

                TransformationTreeRunInfo runInfo = deserializeRunInfo(e.Data);
                if (runInfo != null)
                {
                    if (RunHandler != null)
                    {
                        System.Windows.Application.Current.Dispatcher.Invoke(() => RunHandler(runInfo));
                    }
                    if (runInfo.runEnded)
                    {
                        socket.Close(CloseStatusCode.Normal);
                        runSocket = null;
                    }
                    return;
                }
            };

            socket.OnOpen  += (sender, e) => { logger.Debug("Socket opened"); };
            socket.OnError += (sender, e) => { logger.Debug("Socket error  : " + e.Message); };
            socket.OnClose += (sender, e) => {
                logger.Debug("Socket closed : " + e.Reason);
                runSocket = null;
            };

            socket.Connect();
            runSocket = socket;
            string text = serializer.Serialize(stringOids);

            socket.Send(text);
        }