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); }
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; } }
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; } }