public string FillDocumentTemplate(int year,
                                           DateTime printDate,
                                           int plantPowerEarning,
                                           int totalNumberOfShareCertificate,
                                           string signer1,
                                           string signer2,
                                           string addressName,
                                           string addressStreet,
                                           string addressCity,
                                           int personalNumberOfShareCertificate,
                                           int personalPowerEarning,
                                           int personalRemainingBalance,
                                           List <Transaction> transactions)
        {
            string transactionTable = CollectTransactions(year, transactions.Where(t => t.Date.Year <= year).ToList());

            return(DocumentTemplate
                   .Replace("${year}", year.ToString())
                   .Replace("${plantPowerEarning}", plantPowerEarning.ToString())
                   .Replace("${addressName}", addressName)
                   .Replace("${addressStreet}", addressStreet)
                   .Replace("${addressCity}", addressCity)
                   .Replace("${personalNumberOfShareCertificate}", personalNumberOfShareCertificate.ToString())
                   .Replace("${personalPowerEarning}", personalPowerEarning.ToString())
                   .Replace("${printDate}", printDate.ToString("dd. MMMM yyyy"))
                   .Replace("${signer1}", signer1)
                   .Replace("${signer2}", signer2)
                   .Replace("${transactionTable}", transactionTable)
                   .Replace("${personalRemainingBalance}", personalRemainingBalance.ToString())
                   .Replace("${totalNumberOfShareCertificate}", totalNumberOfShareCertificate.ToString()));
        }