diff --git a/BMA.EHR.Report.Service/BMA.EHR.Report.Service.csproj b/BMA.EHR.Report.Service/BMA.EHR.Report.Service.csproj
index 2a290dd6..47b75761 100644
--- a/BMA.EHR.Report.Service/BMA.EHR.Report.Service.csproj
+++ b/BMA.EHR.Report.Service/BMA.EHR.Report.Service.csproj
@@ -340,6 +340,12 @@
PreserveNewest
+
+ PreserveNewest
+
+
+ PreserveNewest
+
PreserveNewest
diff --git a/BMA.EHR.Report.Service/Controllers/InsigniaReportController.cs b/BMA.EHR.Report.Service/Controllers/InsigniaReportController.cs
index 75ffc858..b2cd8ed4 100644
--- a/BMA.EHR.Report.Service/Controllers/InsigniaReportController.cs
+++ b/BMA.EHR.Report.Service/Controllers/InsigniaReportController.cs
@@ -1,9 +1,12 @@
using BMA.EHR.Application.Repositories.Reports;
using BMA.EHR.Domain.Common;
+using BMA.EHR.Domain.Extensions;
using BMA.EHR.Domain.Models.Insignias;
using DocumentFormat.OpenXml.Drawing;
+using DocumentFormat.OpenXml.EMMA;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
+using Microsoft.Extensions.FileProviders;
using Swashbuckle.AspNetCore.Annotations;
using Telerik.Reporting;
using Telerik.Reporting.Processing;
@@ -441,14 +444,14 @@ namespace BMA.EHR.Report.Service.Controllers
report = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream);
}
report.ReportParameters["YearInsigniaPeriod"].Value = YearInsignalPeriod;
-
+
var tbl1 = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table1"];
var _Khr6List = new List();
foreach (var _data in data)
{
_Khr6List.Add(new
{
- RowNo = _Khr6List.Count + 1,
+ RowNo = (_Khr6List.Count + 1).ToString().ToThaiNumber(),
DepartmentName = _data.GetType().GetProperty("DepartmentName").GetValue(_data),
G1Male = _data.GetType().GetProperty("G1Male").GetValue(_data),
G1Female = _data.GetType().GetProperty("G1Female").GetValue(_data),
@@ -493,6 +496,7 @@ namespace BMA.EHR.Report.Service.Controllers
{
try
{
+
var data = await _repository.GetCoinReport(id);
var YearInsignalPeriod = await _repository.GetYearInsigniaPeriod(id);
var mimeType = "";
@@ -502,35 +506,54 @@ namespace BMA.EHR.Report.Service.Controllers
case "docx": mimeType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; break;
case "xlsx": mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; break;
}
+ var rptFile = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"45-บัญชีแสดงรายชื่อผู้ขอพระราชทานเหรียญจักรพรรดิมาลา-1.trdp");
+ var rptFile2 = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"45-บัญชีแสดงรายชื่อผู้ขอพระราชทานเหรียญจักรพรรดิมาลา-2.trdp");
- var rptFile = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"45-บัญชีแสดงรายชื่อผู้ขอพระราชทานเหรียญจักรพรรดิมาลา.trdp");
ReportPackager reportPacker = new ReportPackager();
Telerik.Reporting.Report? report = null;
+ Telerik.Reporting.Report? report2 = null;
+
using (var sourceStream = System.IO.File.OpenRead(rptFile))
+ using (var sourceStream2 = System.IO.File.OpenRead(rptFile2))
{
report = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream);
+ report2 = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream2);
}
-
- report.ReportParameters["YearInsignalPeriod"].Value = YearInsignalPeriod;
-
- //var _Khr3List = new List();
- //int maxRows = 25;
- //for (int i = 0; i < maxRows; i++)
+ string OCName = string.Empty;
+ //foreach (var info in data)
//{
- // _Khr3List.Add(new
- // {
- // RowNo = i + 1,
- // FullName = string.Empty
- // });
+ // OCName = info.GetType().GetProperty("OCName").GetValue(info);
+ // break;
//}
+ report.ReportParameters["YearInsignalPeriod"].Value = YearInsignalPeriod;
+ report.ReportParameters["OCName"].Value = OCName;
+ var dataList = new List(data);
+ var detailList = new List();
- //var tbl1 = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table1"];
- //tbl1.DataSource = _Khr3List;
+ var ChkInsigniaName = string.IsNullOrEmpty(dataList[0].GetType().GetProperty("InsigniaName").GetValue(dataList[0]))? string.Empty: dataList[0].GetType().GetProperty("InsigniaName").GetValue(dataList[0]);
+ for (int i = 0; i < dataList.Count; i++)
+ {
+ detailList.Add(new
+ {
+ row = detailList.Count+1,
+ Number = (detailList.Count+1).ToString().ToThaiNumber(),
+ InsigniaName = dataList[i].GetType().GetProperty("InsigniaName").GetValue(dataList[i]),
+ FullName = dataList[i].GetType().GetProperty("FullName").GetValue(dataList[i]),
+ InsigniaInitial = dataList[i].GetType().GetProperty("InsigniaInitial").GetValue(dataList[i]),
+ Male = dataList[i].GetType().GetProperty("Male").GetValue(dataList[i]),
+ Female = dataList[i].GetType().GetProperty("Female").GetValue(dataList[i]),
+ }); ;
+ }
+ report.DataSource = detailList;
+
+ var reportBook = new ReportBook();
+ reportBook.Reports.Add(report);
+ reportBook.Reports.Add(report2);
System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable();
InstanceReportSource instanceReportSource = new InstanceReportSource()
{
- ReportDocument = report,
+ ReportDocument = reportBook,
};
ReportProcessor reportProcessor = new ReportProcessor(_configuration);
RenderingResult result = reportProcessor.RenderReport($"{exportType}", instanceReportSource, deviceInfo);