Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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;
            }
        }