Example #1
0
        public void PrintNotas(BatchExecutionResults results, int managementCompanyId)
        {
            string companyDesc = managementCompanyId.ToString();

            try
            {
                ReportExecutionWrapper reportExecutionWrapper = new ReportExecutionWrapper();
                string pdfOnlineReportsFolder = null, pdfPostReportsFolder = null;
                bool showLogo;

                using (IDalSession session1 = NHSessionFactory.CreateSession())
                {
                    IManagementCompany managementCompany = ManagementCompanyMapper.GetManagementCompany(session1, managementCompanyId);
                    if (managementCompany == null)
                    {
                        results.MarkError(
                            new ApplicationException(string.Format("Management Company with ID '{0}' could not be found.", managementCompanyId)));
                        return;
                    }

                    companyDesc = managementCompany.CompanyName;

                    IReportTemplate reportTemplate = ReportTemplateMapper.GetReportTemplate(session1, managementCompany, ReportName, true);
                    reportExecutionWrapper.SetReportName(reportTemplate.ReportTemplateName);

                    List<string> paramNames = new List<string>();
                    GenerateParamNames(paramNames);
                    reportExecutionWrapper.AddParameters(paramNames.ToArray());

                    showLogo = managementCompany.ShowLogoByDefault;

                    pdfOnlineReportsFolder = getPdfReportsFolder(managementCompany, "Online", null);
                    pdfPostReportsFolder = getPdfReportsFolder(managementCompany, "Post", showLogo);
                }

                int[] accountIdsWithUnprintedNotas = null;

                using (IDalSession session2 = NHSessionFactory.CreateSession())
                {
                    accountIdsWithUnprintedNotas = NotaMapper.GetAccountsIdsWithUnprintedNotas(session2, managementCompanyId, NotaType);
                }

                foreach (int accountid in accountIdsWithUnprintedNotas)
                    printNotasForAccount(results, accountid, reportExecutionWrapper, pdfOnlineReportsFolder, pdfPostReportsFolder, showLogo);
            }
            catch (Exception ex)
            {
                results.MarkError(
                    new ApplicationException(string.Format("Error while preparing printing of nota's ({0}) for company '{1}'.",
                                             NotaType.ToString(), companyDesc), ex));
            }
        }