/// <summary>
        /// Render pdf document
        /// </summary>
        /// <param name="text">Text that should be in document</param>
        /// <param name="transactionID"></param>
        /// <returns>Path to this document</returns>
        public string PdfDocWithPath(BatchLetterDto dto, string userId)
        {
            //todo change returnun path to byte array
            return(string.Empty);
            //var userId = ExecutingUser.UserId.ToString();

            //var endingFile = userId.Substring(userId.Length - 3);
            //string docName = $"Doc{dto.TransactionId}_{endingFile}.pdf"; //string.Format("/{0}.pdf", DateTime.Now);

            //var serverUtil = WorkingContext.HttpContext.Server;
            //string directory = serverUtil.MapPath($"/PDFs/{ExecutingUser.Schema}");

            //if (!Directory.Exists(directory))
            //{
            //    lock (new object())
            //    {
            //        if (!Directory.Exists(directory))
            //        {
            //            Directory.CreateDirectory(directory);
            //        }
            //    }
            //}

            //string path = Path.Combine(directory, docName);

            //return PdfDocPath(dto, path);
        }
        /// <summary>
        /// CreatePdf
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public byte[] PdfDoc(BatchLetterDto dto, bool isBase64Encode = true, string currency = "$")
        {
            LetterDto     letter      = null;
            DepartmentDto department  = null;
            var           transaction = _transactionService.GetPaymentById(dto.TransactionId);

            if (dto.LetterId != null)
            {
                transaction.LetterId = (short)dto.LetterId;
            }
            if (transaction.LetterId != null)
            {
                letter = _letterService.GetLetterById(transaction.LetterId.Value);
            }
            if (letter == null)
            {
                throw new Exception("Transaction don't contain letter");
            }
            LetterFieldsDto fields = _letterService.GetLetterFields(dto.TransactionId, currency: currency);

            if (!string.IsNullOrEmpty(letter.PDFLetterText))
            {
                letter.PDFLetterText = _templatesProvider.ReplaceFieldsTemplate(letter.PDFLetterText, fields);
            }
            if (letter.PDFSettingID == null)
            {
                department = _departmentService.GetDepartment(transaction.DepartmentId);
            }

            var addresses = _addressService.GetAddressesByFamilyId(transaction.FamilyId);

            PdfSettingDto setting  = PreparePdfSetting(letter, department, addresses, transaction, fields);
            var           country  = _settingsProvider.GetSetting(Settings.DefaultCountry).Value;
            var           response = _pdfTemplate.GetPdfFromTamplate(setting, country, fields);

            if (isBase64Encode)
            {
                return(EncodeBase64(response));
            }
            return(response);
        }