Example #1
0
        /// <summary>
        /// запис на файл за бюлетин към лице
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <bool> SaveFileBulletin(int id)
        {
            TinyMCEVM htmlModel = printDocumentService.FillHtmlTemplateSentenceBulletin(id);
            string    html      = await this.RenderPartialViewAsync("~/Views/Shared/", "PreviewRaw.cshtml", htmlModel, true);

            var pdfBytes = await new ViewAsPdfByteWriter("CreatePdf", new BlankEditVM()
            {
                HtmlContent = html
            })
            {
                PageSize = Rotativa.AspNetCore.Options.Size.B5
            }
            .GetByte(this.ControllerContext);
            var pdfRequest = new CdnUploadRequest()
            {
                SourceType        = SourceTypeSelectVM.CasePersonBulletin,
                SourceId          = id.ToString(),
                FileName          = "bulletin.pdf",
                ContentType       = "application/pdf",
                Title             = "Бюлетин за съдимост",
                FileContentBase64 = Convert.ToBase64String(pdfBytes)
            };
            bool result = await cdnService.MongoCdn_AppendUpdate(pdfRequest);

            Response.Headers.Clear();

            return(result);
        }
Example #2
0
        /// <summary>
        /// Запис на файл за бланка
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <IActionResult> PrintBlankByTemplate(int id)
        {
            TinyMCEVM htmlModel = printService.FillHtmlTemplateDocumentTemplate(id);
            string    html      = await this.RenderPartialViewAsync("~/Views/Shared/", "PreviewRaw.cshtml", htmlModel, true);

            var pdfBytes = await new ViewAsPdfByteWriter("CreatePdf", new BlankEditVM()
            {
                HtmlContent = html
            }, true).GetByte(this.ControllerContext);

            return(File(pdfBytes, System.Net.Mime.MediaTypeNames.Application.Pdf, "Template" + id.ToString() + ".pdf"));
        }
Example #3
0
        /// <summary>
        /// Зареждане на бланка по документ
        /// </summary>
        /// <param name="id"></param>
        /// <param name="preparedBlank"></param>
        /// <returns></returns>
        private async Task <string> FillBlankByTemplate(int id, string preparedBlank = null)
        {
            string result = "";

            TinyMCEVM htmlModel = printService.FillHtmlTemplateDocumentTemplate(id, preparedBlank);

            if (htmlModel == null)
            {
                return(result);
            }
            return(await this.RenderPartialViewAsync("~/Views/Shared/", "PreviewRaw.cshtml", htmlModel, true));
        }
Example #4
0
        private async Task <BlankEditVM> InitBlankFromTemplate(int id, bool del)
        {
            var docTemplate = service.GetById <DocumentTemplate>(id);
            int sourceType  = SourceTypeSelectVM.DocumentTemplate;

            if (del)
            {
                var deleted = await cdnService.MongoCdn_DeleteFiles(new CdnFileSelect()
                {
                    SourceType = sourceType, SourceId = id.ToString()
                });
            }
            string html = await cdnService.LoadHtmlFileTemplate(new CdnFileSelect()
            {
                SourceType = sourceType, SourceId = id.ToString()
            });

            if (string.IsNullOrEmpty(html))
            {
                TinyMCEVM htmlModel = printService.FillHtmlTemplateDocumentTemplate(id);
                html = htmlModel.Text;
            }

            var model = new BlankEditVM()
            {
                Title            = "Изготвяне на документ към " + SourceTypeSelectVM.GetSourceTypeName(sourceType).ToLower(),
                SourceType       = sourceType,
                SourceId         = id.ToString(),
                HtmlHeader       = string.Empty,
                HtmlContent      = html,
                HtmlFooter       = string.Empty,
                FooterIsEditable = false,
                ReturnUrl        = Url.Action(nameof(Edit), new { id }),
                HasPreviewButton = true,
                HasResetButton   = true,
            };

            if (docTemplate.HtmlTemplateId > 0)
            {
                var htmlTemplate = service.GetById <HtmlTemplate>(docTemplate.HtmlTemplateId);
                var htmlModel    = printService.ConvertToTinyMCVM(htmlTemplate, false);
                model.TemplateStyle = htmlModel.Style;
            }
            return(model);
        }
Example #5
0
        private async Task <byte[]> PdfBytesFromTemplate(int id, string preparedBlank = null)
        {
            TinyMCEVM htmlModel = printService.FillHtmlTemplateDocumentTemplate(id, preparedBlank);

            if (htmlModel == null)
            {
                return(null);
            }

            return(await new ViewAsPdfByteWriter("~/Views/Shared/PreviewRaw.cshtml", htmlModel, true, GetFooterInfoUrl(userContext.CourtId))
            {
                PageOrientation = (Orientation)htmlModel.PageOrientation,
                PageMargins = new Margins(20, 20, 10, 30),
                //PageMargins = new Margins(10, 5, 10, 5),
                PageSize = Size.A4,
                CustomSwitches = htmlModel.SmartShrinkingPDF ? "" : "--disable-smart-shrinking"
            }.GetByte(this.ControllerContext));
        }
Example #6
0
        /// <summary>
        /// Запис на файл за Протокол на изпращане на ИЛ в НАП
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <bool> SaveFileExchangeDoc(int id)
        {
            TinyMCEVM htmlModel = printService.FillHtmlTemplateExchangeDoc(id);
            string    html      = await this.RenderPartialViewAsync("~/Views/Shared/", "PreviewRaw.cshtml", htmlModel, true);

            var pdfBytes = await new ViewAsPdfByteWriter("CreatePdf", new BlankEditVM()
            {
                HtmlContent = html
            }, true).GetByte(this.ControllerContext);
            var pdfRequest = new CdnUploadRequest()
            {
                SourceType        = SourceTypeSelectVM.ExchangeDoc,
                SourceId          = id.ToString(),
                FileName          = "exchangeDoc.pdf",
                ContentType       = "application/pdf",
                Title             = "Протокол на изпращане на ИЛ в НАП",
                FileContentBase64 = Convert.ToBase64String(pdfBytes)
            };
            bool result = await cdnService.MongoCdn_AppendUpdate(pdfRequest);

            Response.Headers.Clear();

            return(result);
        }