public string PrintFastOverdraftContract(long docId, ulong customerNumber, bool fromApprove = false) { string result = null; LoanProductOrder productOrder = _xBService.GetCreditLineOrder(docId); Card card = _xBService.GetCardWithOutBallance(productOrder.ProductAccount.AccountNumber); Dictionary <string, string> contractInfo = _xBService.GetDepositCreditLineContractInfo((int)docId).ToDictionary(x => x.Key, x => x.Value); CreditLinePrecontractData precontractData = _xBService.GetCreditLinePrecontractData(productOrder.StartDate, productOrder.EndDate, productOrder.InterestRate, 0, card.CardNumber, productOrder.Currency, productOrder.Amount, 8); short filialCode = _xBService.GetCustomerFilial(); double penaltyRate = _xBInfoService.GetPenaltyRateOfLoans(54, productOrder.StartDate); string contractName = "CreditLineContract"; Dictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add(key: "customerNumberHB", value: customerNumber.ToString()); Contract contract = null; if (fromApprove == true) { contract = new Contract(); parameters.Add(key: "attachFile", value: "1"); contract.AttachDocType = 12; contract.AttachFile = 1; contract.ContractName = contractName; contract.DocID = (int)docId; contract.ParametersList = new List <ContractServiceRef.StringKeyValue>(); } parameters.Add(key: "appID", value: "0"); parameters.Add(key: "bln_with_enddate", value: "True"); parameters.Add(key: "visaNumberHB", value: card.CardNumber); parameters.Add(key: "HbDocID", value: docId.ToString()); parameters.Add(key: "dateOfBeginningHB", value: productOrder.StartDate.ToString("dd/MMM/yy")); parameters.Add(key: "currencyHB", value: productOrder.Currency); parameters.Add(key: "penaltyAddPercentHB", value: penaltyRate.ToString()); parameters.Add(key: "startCapitalHB", value: productOrder.Amount.ToString()); parameters.Add(key: "clientTypeHB", value: ""); parameters.Add(key: "filialCodeHB", value: filialCode.ToString()); parameters.Add(key: "creditLineTypeHB", value: "54"); parameters.Add(key: "provisionNumberHB", value: "01"); parameters.Add(key: "interestRateHB", value: productOrder.InterestRate.ToString()); parameters.Add(key: "securityCodeHB", value: contractInfo["security_code_2"].ToString()); parameters.Add(key: "loanProvisionPercentHB", value: "0"); parameters.Add(key: "interestRateFullHB", value: (precontractData.InterestRate / 100).ToString()); parameters.Add(key: "connectAccountFullNumberHB", value: productOrder.ProductAccount.AccountNumber); parameters.Add(key: "interestRateEffectiveWithoutAccountServiceFee", value: precontractData.InterestRateEffectiveWithoutAccountServiceFee.ToString()); parameters.Add(key: "dateOfNormalEndHB", value: productOrder.EndDate.ToString("dd/MMM/yy")); parameters.Add(key: "RepaymentKurs", value: contractInfo["repayment_kurs"].ToString() == null ? "0" : contractInfo["repayment_kurs"].ToString()); result = _contractService.RenderContract(contractName, parameters, "FastOverdraftContract.pdf", contract); //File.WriteAllBytes(@"C:\YourPDFLoan.pdf", result); return(result); }