private void UpdateInvoiceFileID(object parameters)
        {
            var obj = (NewThreadParams)parameters;

            var tenant = CoreContext.TenantManager.GetTenant(obj.TenantId);

            CoreContext.TenantManager.SetCurrentTenant(tenant);

            SecurityContext.AuthenticateMe(obj.CurrentUser);

            HttpContext.Current = obj.Ctx;

            log4net.LogManager.GetLogger("ASC.CRM").DebugFormat("Thread for updating file for Invoice with ID = {0} is working...", obj.InvoiceId);

            PdfCreator.CreateAndSaveFile(obj.InvoiceId);
        }
Beispiel #2
0
        protected override void DoJob()
        {
            try
            {
                Percentage = 0;

                _tenantManager.SetCurrentTenant(_tenantId);

                _securityContext.AuthenticateMeWithoutCookie(_userId);

                //if (HttpContext.Current == null && !WorkContext.IsMono)
                //{
                //    HttpContext.Current = new HttpContext(
                //        new HttpRequest("hack", _contextUrl, string.Empty),
                //        new HttpResponse(new System.IO.StringWriter()));
                //}

                _pdfCreator.CreateAndSaveFile(_invoiceId);

                Percentage = 100;
                PublishChanges();

                Status = DistributedTaskStatus.Completed;
            }
            catch (Exception ex)
            {
                LogManager.GetLogger("ASC.Web").Error(ex);

                Percentage = 0;
                Status     = DistributedTaskStatus.Failted;
                Error      = ex.Message;
            }
            finally
            {
                // fake httpcontext break configuration manager for mono
                if (!WorkContext.IsMono)
                {
                    //if (HttpContext.Current != null)
                    //{
                    //    new DisposableHttpContext(HttpContext.Current).Dispose();
                    //    HttpContext.Current = null;
                    //}
                }

                IsCompleted = true;
            }
        }
Beispiel #3
0
        public void RunJob()
        {
            try
            {
                Percentage = 0;
                Status = PdfProgressStatus.Started;

                CoreContext.TenantManager.SetCurrentTenant(_tenantId);

                SecurityContext.AuthenticateMe(_userId);

                if (HttpContext.Current == null && !WorkContext.IsMono)
                {
                    HttpContext.Current = new HttpContext(
                        new HttpRequest("hack", _contextUrl, string.Empty),
                        new HttpResponse(new System.IO.StringWriter()));
                }

                PdfCreator.CreateAndSaveFile(_invoiceId);

                Percentage = 100;
                Status = PdfProgressStatus.Done;
            }
            catch (Exception ex)
            {
                log4net.LogManager.GetLogger("ASC.Web").Error(ex);
                Percentage = 0;
                Status = PdfProgressStatus.Failed;
                Error = ex.Message;
            }
            finally
            {
                // fake httpcontext break configuration manager for mono
                if (!WorkContext.IsMono)
                {
                    if (HttpContext.Current != null)
                    {
                        new DisposableHttpContext(HttpContext.Current).Dispose();
                        HttpContext.Current = null;
                    }
                }

                IsCompleted = true;
            }
        }