Beispiel #1
0
        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);
        }