private static async void InsertPrintLog(MessageSessionData sessionData, CancellationTokenSource cancelationToken) { try { // { storeIndex: window.top.storeIndex, folderId: LastFolderId, messageId: LastmessageId } var pdata = new Dictionary <string, string>(); pdata["storeIndex"] = Convert.ToString(sessionData.StoreIndex); pdata["messageId"] = Convert.ToString(sessionData.MessageId); var json = await Utility.HttpPostRequestAsync <JObject>(sessionData.BaseUrl, @"/Crm/Table_AUT_PrintLog/InsertPrintLog", new FormUrlEncodedContent(pdata), sessionData.Token, cancelationToken); if (json != null && json["Status"] != null && !json["Status"]["Succeed"].Value <bool>()) { if (_Logger.IsErrorEnabled) { _Logger.Error("Server Error: {0}", json["Status"]["Message"].Value <string>()); } } } catch (Exception exp) { if (_Logger.IsErrorEnabled) { _Logger.Error(exp, "Error while logging the print operation"); } } }
public WordEditorManager([NotNull] MessageSessionData sessionData) { if (sessionData == null) { throw new ArgumentNullException("sessionData"); } Contract.EndContractBlock(); this._SessionData = sessionData; }
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; } }