private void ReplaceText()
        {
            if (string.IsNullOrEmpty(this.findWhat))
            {
                return;
            }

            RadFlowDocumentEditor editor = new RadFlowDocumentEditor(this.replacedDocument);

            if (this.useRegex)
            {
                Regex oldTextRegex = new Regex(this.findWhat);
                editor.ReplaceText(oldTextRegex, this.replaceWith);
            }
            else
            {
                editor.ReplaceText(this.findWhat, this.replaceWith, this.matchCase, this.matchWholeWord);
            }
        }
        private void ReplaceText()
        {
            if(string.IsNullOrEmpty(this.FindWhat))
            {
                return;
            }

            RadFlowDocumentEditor editor = new RadFlowDocumentEditor(this.Document);

            if (this.useRegex)
            {
                Regex oldTextRegex = new Regex(this.FindWhat);
                editor.ReplaceText(oldTextRegex, this.ReplaceWith);
            }
            else
            {
                editor.ReplaceText(this.FindWhat, this.ReplaceWith, this.MatchCase, this.MatchWholeWord);
            }
        }
Exemplo n.º 3
0
        private void ReplacePlaceholder(CashFlowDetail detail)
        {
            string currencyName = information.Fund.Currency.CurrencyShortName;

            editor.ReplaceText("[Beteiligungsgesellschaft]", information.Fund.FundLegalName);
            if (information.Fund.Initiator != null)
            {
                editor.ReplaceText("[Absender Zeile 1]", information.Fund.Initiator.SenderInformation);
                editor.ReplaceText("[Absender Zeile 2]", information.Fund.Initiator.SenderInformationLine2);
                editor.ReplaceText("[Fusszeile 1]", information.Fund.Initiator.FooterLine1);
                editor.ReplaceText("[Fusszeile 2]", information.Fund.Initiator.FooterLine2);
                editor.ReplaceText("[Fusszeile 3]", information.Fund.Initiator.FooterLine3);
            }
            editor.ReplaceText("[Vertraulich]", confidential);
            editor.ReplaceText("[Firma]", firma);
            editor.ReplaceText("[AdressAnrede]", adressAnrede);
            editor.ReplaceText("[Straße]", strasse);
            editor.ReplaceText("[PLZ Ort]", plzOrt);
            editor.ReplaceText("[Land]", land);
            editor.ReplaceText("[Text oben]", information.ComponentText);
            editor.ReplaceText("[Investor Referenz]", detail.Reference);
            editor.ReplaceText("[Betreff]", information.Fund.SubjectForLetter);

            editor.ReplaceText("[Anrede]", anrede);
            editor.ReplaceText("[Zeichnungsbetrag]", $"{detail.CommitmentAmount:n0}");
            editor.ReplaceText("[Whg]", currencyName);
            editor.ReplaceText("[Kapitalabruf]", information.CashFlowDescription);
            editor.ReplaceText("[Tagesdatum]", $"{information.LetterDate:dd. MMMM yyyy}");
            editor.ReplaceText("[CF Amount]", cfAmount);
            editor.ReplaceText("[CF Amount Percent]", cfAmountPercent);
            editor.ReplaceText("[CF Expenses Percent]", cfExpensesPercent);
            editor.ReplaceText("[CF Expenses]", cfExpenses);
            editor.ReplaceText("[CF Lookback]", cfLookback);
            editor.ReplaceText("[CF Lookback Percent]", cfLookbackPercent);
            editor.ReplaceText("[Cashflow Betrag]", cashflowBetrag);
            editor.ReplaceText("[Cashflow Prozent]", cashFlowPercent);
            editor.ReplaceText("[Valutatag]", valuta);
            editor.ReplaceText("[BankName]", bankName);
            editor.ReplaceText("[SwiftAdresse]", swift);
            editor.ReplaceText("[Kontoinhaber]", empfaenger);
            editor.ReplaceText("[IBAN]", iban);
            editor.ReplaceText("[BIC", bic);
            editor.ReplaceText("[BankAdresse]", bankAddress);
            editor.ReplaceText("[ZusatzInfo]", additionalInformation);
            editor.ReplaceText("[FFCKontoInhaber]", ffcHolder);
            editor.ReplaceText("[FFCKontoNummer]", ffcAccountNumber);
            editor.ReplaceText("[BankNummer]", bankNumber);
            editor.ReplaceText("[OpenCommitment]", openCommitment);
            editor.ReplaceText("[TotalCalledPercent]", totalCalledPercent);
            editor.ReplaceText("[TotalDistributed]", totalDistributed);
            editor.ReplaceText("[TotalDistributedPercent]", totalDistributedPercent);
            editor.ReplaceText("[CF ReturnOfCapital]", cfReturnOfCapital);
            editor.ReplaceText("[CF CapitalGain]", cfCapitalGain);
            editor.ReplaceText("[CF Dividends]", cfDividends);
            editor.ReplaceText("[CF Recallable]", cfRecallable);
            editor.ReplaceText("[CF WithholdingTax]", cfWithholdingTax);
            editor.ReplaceText("[SitzStrasse]", sitzStrasse1);
            editor.ReplaceText("[SitzStrasse2]", sitzStrasse2);
            editor.ReplaceText("[Sitz PLZ Ort]", sitzPlzOrt);
            editor.ReplaceText("[GesamtAbruf]", fundCalled);
            editor.ReplaceText("[GesamtAusschuettung]", fundDistributed);
            editor.ReplaceText("[offenePosition]", openPosition);


            // Absenderangaben

            var tables = editor.Document.EnumerateChildrenOfType <Table>();

            if (detail.CashFlowAmountCall != 0)
            {
                foreach (Table table in tables)
                {
                    if (table.Rows.Count < 3)
                    {
                        continue;
                    }
                    TableRow  row       = table.Rows[0];
                    TableCell cell      = row.Cells[0];
                    Paragraph paragraph = cell.Blocks[0] as Paragraph;
                    if (paragraph == null)
                    {
                        continue;
                    }
                    if (paragraph.Inlines.Count == 0)
                    {
                        continue;
                    }
                    if (paragraph.Inlines[0].ToString() == "Art")
                    {
                        // remove table rows if amounts are '0'
                        // if expenses are '0' remove row 2
                        // if lookback is '0' remove row 4
                        // start removing with the last rows!

                        if (detail.LookbackInterests == 0)
                        {
                            table.Rows.RemoveAt(3);
                        }
                        if (detail.PartnershipExpenses == 0)
                        {
                            table.Rows.RemoveAt(2);
                        }
                    }
                }
            }
        }