120 lines
5 KiB
C#
120 lines
5 KiB
C#
// using BMA.EHR.Recurit.Exam.Service.Core;
|
|
// using BMA.EHR.Recurit.Exam.Service.Data;
|
|
// using BMA.EHR.Recurit.Exam.Service.Models;
|
|
// using BMA.EHR.Recurit.Exam.Service.Request;
|
|
// using BMA.EHR.Recurit.Exam.Service.Response;
|
|
// using BMA.EHR.Recurit.Exam.Service.Services;
|
|
// using Microsoft.AspNetCore.Authorization;
|
|
// using Microsoft.AspNetCore.Mvc;
|
|
// using Microsoft.EntityFrameworkCore;
|
|
// using Swashbuckle.AspNetCore.Annotations;
|
|
// using Telerik.Reporting;
|
|
// using Telerik.Reporting.Processing;
|
|
|
|
// namespace BMA.EHR.Recurit.Exam.Service.Controllers
|
|
// {
|
|
// [Route("api/v{version:apiVersion}/report")]
|
|
// [ApiVersion("1.0")]
|
|
// [ApiController]
|
|
// [Produces("application/json")]
|
|
// [Authorize]
|
|
// [SwaggerTag("จัดการข้อมูลหน้าเว็บสมัครสอบ เพื่อนำไปใช้งานในระบบ")]
|
|
// public class ReportController : BaseController
|
|
// {
|
|
// #region " Fields "
|
|
|
|
// private readonly ApplicationDbContext _context;
|
|
// private readonly CMSCandidateService _cmsCandidateService;
|
|
// private readonly IWebHostEnvironment _hostingEnvironment;
|
|
|
|
// #endregion
|
|
|
|
// #region " Constructor and Destructor "
|
|
|
|
// public ReportController(ApplicationDbContext context, CMSCandidateService cmsCandidateService, IWebHostEnvironment hostingEnvironment)
|
|
// {
|
|
// _context = context;
|
|
// _cmsCandidateService = cmsCandidateService;
|
|
// _hostingEnvironment = hostingEnvironment;
|
|
// }
|
|
|
|
// #endregion
|
|
|
|
// public static IConfigurationRoot Configuration
|
|
// {
|
|
// get
|
|
// {
|
|
// return new ConfigurationBuilder()
|
|
// .SetBasePath(Directory.GetCurrentDirectory())
|
|
// .AddJsonFile("appsettings.json")
|
|
// .Build();
|
|
// }
|
|
// }
|
|
|
|
// #region " Methods "
|
|
|
|
// /// <summary>
|
|
// /// ใบเสร็จผู้สมัครสอบ
|
|
// /// </summary>
|
|
// /// <param name="candidateId">รหัสใบสมัคร</param>
|
|
// /// <returns></returns>
|
|
// /// <response code="200">เมื่อทำการอ่านใบเสร็จผู้สมัครสอบสำเร็จ</response>
|
|
// /// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
|
// /// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
|
// [HttpGet]
|
|
// [ProducesResponseType(StatusCodes.Status200OK)]
|
|
// [ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
|
// [ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
|
// public async Task<ActionResult<ResponseObject>> GetsAsync(string candidateId)
|
|
// {
|
|
// try
|
|
// {
|
|
// return Success("ยังใช้ไม่ได้จ้าา");
|
|
// var candidate = await _context.Candidates.AsQueryable()
|
|
// .Where(x => x.Id == Guid.Parse(candidateId))
|
|
// .Select(x => new
|
|
// {
|
|
// Fee = x.PeriodExam == null ? 0 : x.PeriodExam.Fee,
|
|
// // DateBill = DateTime.now,
|
|
// })
|
|
// .FirstOrDefaultAsync();
|
|
|
|
// if (candidate == null)
|
|
// throw new Exception(GlobalMessages.CandidateNotFound);
|
|
|
|
// var rptFile = "";
|
|
|
|
// rptFile = Path.Combine(_hostingEnvironment.ContentRootPath, "Report", "rptBillPayment.trdp");
|
|
// ReportPackager reportPackager = new ReportPackager();
|
|
// Telerik.Reporting.Report? report = null;
|
|
// using (var sourceStream = System.IO.File.OpenRead(rptFile))
|
|
// {
|
|
// report = (Telerik.Reporting.Report)reportPackager.UnpackageDocument(sourceStream);
|
|
// }
|
|
|
|
// report.DataSource = candidate;
|
|
// System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable();
|
|
|
|
// InstanceReportSource instanceReportSource = new InstanceReportSource()
|
|
// {
|
|
// ReportDocument = report
|
|
// };
|
|
|
|
|
|
// ReportProcessor reportProcessor = new ReportProcessor(Configuration);
|
|
// RenderingResult result = reportProcessor.RenderReport("PDF", instanceReportSource, deviceInfo);
|
|
|
|
// var outputfile = $"DoctorOrderSheet_.pdf";
|
|
|
|
// return File(result.DocumentBytes, "application/pdf", outputfile);
|
|
|
|
// }
|
|
// catch (Exception ex)
|
|
// {
|
|
// return Error(ex);
|
|
// }
|
|
// }
|
|
|
|
// #endregion
|
|
// }
|
|
// }
|