public void Print(string baseUrl, int storeIndex, string messageId, int messageSerial, bool insertHeader, bool insertSigns, bool insertSignImage, bool insertCopyText, bool insertRemarks, bool withPreview, string token) { if (IsOptions) { return; } if (_Logger.IsDebugEnabled) { _Logger.Debug("Begin Print"); } if (baseUrl != null) { var u = new Uri(baseUrl, UriKind.RelativeOrAbsolute); } var cancelationToken = new CancellationTokenSource(); var sessionData = new MessageSessionData(baseUrl, storeIndex, messageId, messageSerial, token); var m = new WordEditing.WordEditorManager(sessionData) { InsertHeader = insertHeader, InsertSigns = insertSigns, InsertSignImage = insertSignImage, InsertCopyText = insertCopyText, InsertRemarks = insertRemarks }; Application.Current.Dispatcher.BeginInvoke(new Func <Task>(async() => { try { await m.PrintAsync(withPreview, cancelationToken); } catch (Exception exp) { if (_Logger.IsErrorEnabled) { _Logger.Error(exp, "Error while printing"); } } })).Completed += (s, e) => InsertPrintLog(sessionData, cancelationToken); }
public void OpenBody(string baseUrl, int storeIndex, string messageId, int messageSerial, bool insertHeader, bool insertSigns, bool insertSignImage, bool insertCopyText, bool insertRemarks, string token, string updateUrl) { if (IsOptions) { return; } App.Current.Dispatcher.Invoke(() => MainWindow.Instance.UpdateUrl = updateUrl); var loadingItem = new BaseUrlMessageSerialTuple(baseUrl, messageSerial); lock (_LoadingMessages) { if (_Logger.IsDebugEnabled) { _Logger.Debug("Checking is loading {0}", messageSerial); } if (_LoadingMessages.Contains(loadingItem)) { if (_Logger.IsDebugEnabled) { _Logger.Debug("Already is loading {0}", messageSerial); } return; } _LoadingMessages.Add(loadingItem); if (_Logger.IsDebugEnabled) { _Logger.Debug("Loading {0}", messageSerial); } } try { if (_Logger.IsDebugEnabled) { _Logger.Debug("Begin OpenBody"); } if (baseUrl != null) { var u = new Uri(baseUrl, UriKind.RelativeOrAbsolute); if (_Logger.IsTraceEnabled) { _Logger.Trace("Cookies set"); } } var cancelationToken = new CancellationTokenSource(); var sessionData = new MessageSessionData(baseUrl, storeIndex, messageId, messageSerial, token); var m = new WordEditing.WordEditorManager(sessionData) { InsertHeader = insertHeader, InsertSigns = insertSigns, InsertSignImage = insertSignImage, InsertCopyText = insertCopyText, InsertRemarks = insertRemarks }; Application.Current.Dispatcher.BeginInvoke(new Func <Task>(async() => { try { await m.LaunchAsync(cancelationToken); } catch (Exception exp) { if (_Logger.IsErrorEnabled) { _Logger.Error(exp, "Loading error for {0}", messageSerial); } } finally { lock (_LoadingMessages) { _LoadingMessages.Remove(loadingItem); if (_Logger.IsDebugEnabled) { _Logger.Debug("Loading completed {0}", messageSerial); } } } })); } catch { lock (_LoadingMessages) { _LoadingMessages.Remove(loadingItem); if (_Logger.IsDebugEnabled) { _Logger.Debug("Loading errors {0}", messageSerial); } } throw; } }