コード例 #1
0
        public async Task <IActionResult> ViewCertificate(
            [FromRoute] int id,
            [FromServices] ICertificatesService certificatesService)

        {
            var certificate = await certificatesService.GetAsync(id);

            if (certificate == null)
            {
                return(NotFound());
            }
            return(View("Templates/Certificates/CourseCertificate", certificate));
        }
コード例 #2
0
        public async Task <IActionResult> DownloadCertificate(
            [FromServices] CertificatePdfRenderer writer,
            [FromServices] ICertificatesService certificatesService,
            [FromRoute] int id)
        {
            var certificate = await certificatesService.GetAsync(id);

            if (certificate == null)
            {
                return(NotFound());
            }

            var stream = await writer.RenderAsync(CertificateVM.From(certificate));

            MemoryStream memoryStream = new MemoryStream();
            await stream.CopyToAsync(memoryStream);

            return(File(memoryStream.ToArray(), "application/pdf"));
        }