/// <summary> /// Demande au serveur d'exécuter le rapport /// </summary> /// <param name="oid"> L'identifiant de la table</param> /// <returns>La table</returns> /// public virtual void Run(StructuredReportRunData data) { System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); serializer.MaxJsonLength = int.MaxValue; Socket socket = buildSocket(SocketResourcePath + "/structured/run/"); socket.OnMessage += (sender, e) => { AllocationRunInfo 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); } 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); }; socket.Connect(); string text = serializer.Serialize(data); socket.Send(text); }
private void updateRunProgress(AllocationRunInfo info) { StructuredReportEditorItem page = (StructuredReportEditorItem)getStructuredReportEditor().getActivePage(); if (info == null || info.runEnded == true) { GetStructuredReportService().RunHandler -= updateRunProgress; page.IsModify = true; nextRunData = null; OnChange(); Mask(false); } else { int rate = info.totalCellCount != 0 ? (Int32)(info.runedCellCount * 100 / info.totalCellCount) : 0; if (rate > 100) rate = 100; ApplicationManager.MainWindow.LoadingProgressBar.Maximum = info.totalCellCount; ApplicationManager.MainWindow.LoadingProgressBar.Value = info.runedCellCount; ApplicationManager.MainWindow.LoadingLabel.Content = "" + rate + " %"; } }
public virtual OperationState Run() { OperationState state = OperationState.CONTINUE; StructuredReportEditorItem page = (StructuredReportEditorItem)getStructuredReportEditor().getActivePage(); if (page == null) return state; nextRunData = null; String filePath = openSaveDialog(); if (string.IsNullOrEmpty(filePath)) return state; StructuredReportRunData data = new StructuredReportRunData(); data.filePath = filePath; if (page.EditedObject.oid.HasValue) data.oid = page.EditedObject.oid.Value; //if (page.IsModify) //{ // nextRunData = data; // return Save(page); //} GetStructuredReportService().RunHandler += updateRunProgress; Mask(true, "Running..."); GetStructuredReportService().Run(data); return state; }