diff --git a/BMA.EHR.Insignia/Controllers/InsigniaReportController.cs b/BMA.EHR.Insignia/Controllers/InsigniaReportController.cs index 22efd743..b2b106f3 100644 --- a/BMA.EHR.Insignia/Controllers/InsigniaReportController.cs +++ b/BMA.EHR.Insignia/Controllers/InsigniaReportController.cs @@ -345,14 +345,27 @@ namespace BMA.EHR.Insignia.Service.Controllers var org = ""; var number = ""; var citizenId = "0"; - var datePayment = ""; + foreach (var _data in insignalPeriod) { citizenId = _data.GetType().GetProperty("CitizenId").GetValue(_data); org = _data.GetType().GetProperty("Root").GetValue(_data); number = _data.GetType().GetProperty("Number").GetValue(_data); - datePayment = _data.GetType().GetProperty("DatePayment").GetValue(_data); - DateTime datePayment2 = DateTime.ParseExact(datePayment, "yyyy-MM-dd", CultureInfo.InvariantCulture); + /* var datePayment = _data.GetType().GetProperty("DatePayment").GetValue(_data); + DateTime datePayment2 = DateTime.ParseExact(datePayment, "yyyy-MM-dd", CultureInfo.InvariantCulture);*/ + + var datePayment = _data.GetType().GetProperty("DatePayment").GetValue(_data)?.ToString(); + DateTime? datePayment2 = null; + + if (!string.IsNullOrEmpty(datePayment)) + { + DateTime parsedDate; + if (DateTime.TryParse(datePayment, out parsedDate)) + { + datePayment2 = parsedDate; + } + } + detailList.Add(new { row = row.ToString().ToThaiNumber(), @@ -368,7 +381,7 @@ namespace BMA.EHR.Insignia.Service.Controllers isApprove = _data.GetType().GetProperty("IsApprove").GetValue(_data), requestInsignia = _data.GetType().GetProperty("RequestInsignia").GetValue(_data), number = number == null ? "" : number.ToString().ToThaiNumber(), - datePayment = datePayment == null ? "" : datePayment2.ToThaiShortDate().ToThaiNumber(), + datePayment = datePayment2.HasValue ? datePayment2.Value.ToThaiShortDate().ToThaiNumber() : "" }); row = row + 1; }