hrms-api-exam/Controllers/ReportController.cs

121 lines
5 KiB
C#
Raw Permalink Normal View History

// 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
// }
// }