From 654ea28942bc0de53829b552ecb6de5d406b56a7 Mon Sep 17 00:00:00 2001 From: Kittapath Date: Sat, 23 Sep 2023 20:44:48 +0700 Subject: [PATCH] no message --- Controllers/ExamReportController.cs | 33 ++++++++++++----------------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/Controllers/ExamReportController.cs b/Controllers/ExamReportController.cs index eb63474..7b39170 100644 --- a/Controllers/ExamReportController.cs +++ b/Controllers/ExamReportController.cs @@ -8,6 +8,7 @@ using Telerik.Reporting.Processing; using Telerik.Reporting; using BMA.EHR.Report.Service.Responses; using BMA.EHR.Extensions; +using BMA.EHR.Core; namespace BMA.EHR.Report.Service.Controllers { @@ -304,9 +305,11 @@ namespace BMA.EHR.Report.Service.Controllers { try { + var periodExam = await _context.PeriodExams.AsQueryable().Where(x => x.Id == id).FirstOrDefaultAsync(); var data = await _context.Candidates.AsQueryable() .Include(x => x.PeriodExam) - .Where(x => x.PeriodExam.Id == id) + .Where(x => x.PeriodExam == periodExam) + .Where(x => x.Status != "register") .Where(x => x.SeatNumber != null || x.SeatNumber != "") .OrderBy(x => x.SeatNumber) .Select(p => new @@ -318,7 +321,8 @@ namespace BMA.EHR.Report.Service.Controllers $"{p.PeriodExam.Name} ครั้งที่ {p.PeriodExam.Round}/{p.PeriodExam.Year.Value.ToThaiYear()}", }).ToListAsync(); - if (data.Count == 0) return Success(); + if (data.Count == 0) + return Error(GlobalMessages.DataNotFound); var rptFile = Path.Combine(_hostingEnvironment.ContentRootPath, "Report", "Recruit", $"rptCandidateList.trdp"); ReportPackager reportPackager = new ReportPackager(); @@ -365,8 +369,6 @@ namespace BMA.EHR.Report.Service.Controllers .ThenInclude(x => x.ScoreImport) .Include(x => x.Documents) .ThenInclude(x => x.DocumentFile) - - .Join(_context.DisableScores.AsQueryable() .Include(x => x.ScoreImport) .Where(x => x.ScoreImport.PeriodExamId == id) @@ -384,18 +386,11 @@ namespace BMA.EHR.Report.Service.Controllers Gender = p.Gendor, Degree = p.Educations.First().Degree, Major = p.Educations.First().Major, - ExamResult = sr == null ? "" : sr.ExamStatus, - University = p.Educations.First().University, PositionName = p.PositionName, ExamName = $"{p.PeriodExam.Name} ครั้งที่ {p.PeriodExam.Round}/{p.PeriodExam.Year.Value.ToThaiYear()}", - - Number = sr == null ? 99999 : Convert.ToInt32(sr.Number), - - - FullA = sr == null ? 0 : sr.FullA, SumA = sr == null ? 0 : sr.SumA, FullB = sr == null ? 0 : sr.FullB, @@ -403,16 +398,14 @@ namespace BMA.EHR.Report.Service.Controllers FullC = sr == null ? 0 : sr.FullC, SumC = sr == null ? 0 : sr.SumC, SumScore = sr == null ? 0 : sr.SumA + sr.SumB + sr.SumC, - - - }) .OrderBy(x => x.Number) .Where(x => x.Id == id) .Where(x => x.ExamResult == "ผ่าน") .ToListAsync(); - if (data.Count == 0) return Success(); + if (data.Count == 0) + return Error(GlobalMessages.DataNotFound); var rptFile = Path.Combine(_hostingEnvironment.ContentRootPath, "Report", "Recruit", $"rptPassExamList.trdp"); ReportPackager reportPackager = new ReportPackager(); @@ -453,12 +446,14 @@ namespace BMA.EHR.Report.Service.Controllers { try { + var periodExam = await _context.PeriodExams.AsQueryable().Where(x => x.Id == id).FirstOrDefaultAsync(); var data = await _context.Candidates.AsQueryable() .Include(x => x.PeriodExam) .ThenInclude(x => x.ScoreImport) + .Where(x => x.PeriodExam == periodExam) + .Where(x => x.Status != "register") .Select(p => new { - Id = p.PeriodExam.Id, ExamId = p.SeatNumber, CitizenId = p.CitizenId, FullName = $"{p.FirstName} {p.LastName}", @@ -475,11 +470,11 @@ namespace BMA.EHR.Report.Service.Controllers ExamResult = p.Pass }) .OrderBy(x => x.Number) - .Where(x => x.Id == id) .Where(x => x.ExamResult == "ได้") .ToListAsync(); - // if (data.Count == 0) return Success(); + if (data.Count == 0) + return Error(GlobalMessages.DataNotFound); var rptFile = Path.Combine(_hostingEnvironment.ContentRootPath, "Report", "Recruit", $"rptPassExamList.trdp"); ReportPackager reportPackager = new ReportPackager(); @@ -502,7 +497,7 @@ namespace BMA.EHR.Report.Service.Controllers RenderingResult result = reportProcessor.RenderReport("PDF", instanceReportSource, deviceInfo); var content = result.DocumentBytes; - return File(content, "application/pdf", $"รายชื่อผู้สอบแข่งขันได้_{data.First().ExamName}.pdf"); + return File(content, "application/pdf", $"รายชื่อผู้สอบแข่งขันได้_{periodExam.Name} ครั้งที่ {periodExam.Round}/{periodExam.Year.Value.ToThaiYear()}.pdf"); } catch (Exception ex) {