public static async Task <IPrintReport> StandardPrint(DebtorInvoiceClient debtorInvoice, CrudAPI crudapi) { var debtorInvoicePrint = new UnicontaClient.Pages.DebtorInvoicePrintReport(debtorInvoice, crudapi); var isInitializedSuccess = await debtorInvoicePrint.InstantiateFields(); if (isInitializedSuccess) { var standardDebtorInvoice = new DebtorInvoiceReportClient(debtorInvoicePrint.Company, debtorInvoicePrint.Debtor, debtorInvoicePrint.DebtorInvoice, debtorInvoicePrint.InvTransInvoiceLines, debtorInvoicePrint.DebtorOrder, debtorInvoicePrint.CompanyLogo, debtorInvoicePrint.ReportName, isCreditNote: debtorInvoicePrint.IsCreditNote, messageClient: debtorInvoicePrint.MessageClient); var iprintReport = new StandardPrintReport(crudapi, new[] { standardDebtorInvoice }, (byte)Uniconta.ClientTools.Controls.Reporting.StandardReports.Invoice) { UseReportCache = true }; await iprintReport.InitializePrint(); if (iprintReport.Report != null) { return(iprintReport); } //Call LayoutInvoice var layoutReport = new LayoutPrintReport(crudapi, debtorInvoice); layoutReport.SetupLayoutPrintFields(debtorInvoicePrint); await layoutReport.InitializePrint(); return(layoutReport); } return(null); }
async private Task <IPrintReport> ValidateStandardPrint(InvoicePostingResult invoicePostingResult, ProjectClient project, CompanyLayoutType layoutType) { busyIndicator.IsBusy = true; busyIndicator.BusyContent = string.Format("{0}..{1}: {2}", Uniconta.ClientTools.Localization.lookup("LoadingMsg"), Uniconta.ClientTools.Localization.lookup("Project"), project?._Number); IPrintReport standardPrint = null; try { var debtorInvoicePrint = new DebtorInvoicePrintReport(invoicePostingResult, api, layoutType); var isInitializedSuccess = await debtorInvoicePrint.InstantiateFields(); if (isInitializedSuccess) { var standardDebtorInvoice = new DebtorInvoiceReportClient(debtorInvoicePrint.Company, debtorInvoicePrint.Debtor, debtorInvoicePrint.DebtorInvoice, debtorInvoicePrint.InvTransInvoiceLines, debtorInvoicePrint.DebtorOrder, debtorInvoicePrint.CompanyLogo, debtorInvoicePrint.ReportName, isCreditNote: debtorInvoicePrint.IsCreditNote, messageClient: debtorInvoicePrint.MessageClient); standardPrint = new StandardPrintReport(api, new[] { standardDebtorInvoice }, (byte)Uniconta.ClientTools.Controls.Reporting.StandardReports.Invoice); standardPrint = new LayoutPrintReport(api, invoicePostingResult, layoutType); } await standardPrint.InitializePrint(); if (standardPrint?.Report == null) { standardPrint = new LayoutPrintReport(api, invoicePostingResult, layoutType); await standardPrint.InitializePrint(); } } catch (Exception ex) { busyIndicator.IsBusy = false; api.ReportException(ex, string.Format("ProjectMultiLineInvoicePage.ValidateStandardPrint(), CompanyId={0}", api.CompanyId)); } finally { busyIndicator.IsBusy = false; } return(standardPrint); }
public static async Task <IPrintReport> StandardPrint(DebtorInvoiceClient debtorInvoice, CrudAPI crudapi) { IPrintReport iprintReport = null; var debtorInvoicePrint = new UnicontaClient.Pages.DebtorInvoicePrintReport(debtorInvoice, crudapi); var isInitializedSuccess = await debtorInvoicePrint.InstantiateFields(); if (isInitializedSuccess) { var standardDebtorInvoice = new DebtorInvoiceReportClient(debtorInvoicePrint.Company, debtorInvoicePrint.Debtor, debtorInvoicePrint.DebtorInvoice, debtorInvoicePrint.InvTransInvoiceLines, null, debtorInvoicePrint.CompanyLogo, debtorInvoicePrint.ReportName, isCreditNote: debtorInvoicePrint.IsCreditNote, messageClient: debtorInvoicePrint.MessageClient); var standardReports = new IDebtorStandardReport[1] { standardDebtorInvoice }; iprintReport = new StandardPrintReport(crudapi, standardReports, (byte)Uniconta.ClientTools.Controls.Reporting.StandardReports.Invoice); await iprintReport.InitializePrint(); if (iprintReport?.Report == null) { iprintReport = new LayoutPrintReport(crudapi, debtorInvoice); await iprintReport.InitializePrint(); } } return(iprintReport); }