private static void SendByTenant(DateTime now, IGrouping <int, ReportTemplate> tGrouped)
        {
            var tenant = CoreContext.TenantManager.GetTenant(tGrouped.Key);

            if (tenant == null || tenant.Status != TenantStatus.Active || CoreContext.PaymentManager.GetTariff(tenant.TenantId).State >= TariffState.NotPaid)
            {
                return;
            }

            CoreContext.TenantManager.SetCurrentTenant(tenant);
            DocbuilderReportsUtility.Terminate(ReportOrigin.ProjectsAuto);

            var timeZone = CoreContext.TenantManager.GetCurrentTenant().TimeZone;

            foreach (var t in tGrouped)
            {
                try
                {
                    SendReport(now, timeZone, t);
                }
                catch (System.Security.SecurityException se)
                {
                    logger.Error("SendAutoReports", se);
                }
                catch (Exception ex)
                {
                    logger.ErrorFormat("TemplateId: {0}, Temaplate: {1}\r\n{2}", t.Id, t.Filter.ToXml(), ex);
                }
            }
        }
Ejemplo n.º 2
0
        public void Terminate()
        {
            if (!Global.CanCreateReports)
            {
                throw CRMSecurity.CreateSecurityException();
            }

            DocbuilderReportsUtility.Terminate(ReportOrigin.CRM);
        }
Ejemplo n.º 3
0
        public void TerminateReport()
        {
            ChechDocBuilder();

            DocbuilderReportsUtility.Terminate(ReportOrigin.Projects);
        }