diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
deleted file mode 100644
index a2717841..00000000
--- a/.config/dotnet-tools.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "version": 1,
- "isRoot": true,
- "tools": {
- "csharpier": {
- "version": "0.28.2",
- "commands": [
- "dotnet-csharpier"
- ]
- }
- }
-}
\ No newline at end of file
diff --git a/.idea/.idea.BMA.EHR.Solution/.idea/.gitignore b/.idea/.idea.BMA.EHR.Solution/.idea/.gitignore
deleted file mode 100644
index 78516dc9..00000000
--- a/.idea/.idea.BMA.EHR.Solution/.idea/.gitignore
+++ /dev/null
@@ -1,13 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
-# Rider ignored files
-/contentModel.xml
-/.idea.BMA.EHR.Solution.iml
-/projectSettingsUpdater.xml
-/modules.xml
-# Editor-based HTTP Client requests
-/httpRequests/
-# Datasource local storage ignored files
-/dataSources/
-/dataSources.local.xml
diff --git a/.idea/.idea.BMA.EHR.Solution/.idea/.name b/.idea/.idea.BMA.EHR.Solution/.idea/.name
deleted file mode 100644
index 888d8763..00000000
--- a/.idea/.idea.BMA.EHR.Solution/.idea/.name
+++ /dev/null
@@ -1 +0,0 @@
-BMA.EHR.Solution
\ No newline at end of file
diff --git a/.idea/.idea.BMA.EHR.Solution/.idea/aws.xml b/.idea/.idea.BMA.EHR.Solution/.idea/aws.xml
deleted file mode 100644
index b63b642c..00000000
--- a/.idea/.idea.BMA.EHR.Solution/.idea/aws.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/.idea.BMA.EHR.Solution/.idea/encodings.xml b/.idea/.idea.BMA.EHR.Solution/.idea/encodings.xml
deleted file mode 100644
index df87cf95..00000000
--- a/.idea/.idea.BMA.EHR.Solution/.idea/encodings.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/.idea/.idea.BMA.EHR.Solution/.idea/indexLayout.xml b/.idea/.idea.BMA.EHR.Solution/.idea/indexLayout.xml
deleted file mode 100644
index 7b08163c..00000000
--- a/.idea/.idea.BMA.EHR.Solution/.idea/indexLayout.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/.idea.BMA.EHR.Solution/.idea/vcs.xml b/.idea/.idea.BMA.EHR.Solution/.idea/vcs.xml
deleted file mode 100644
index 35eb1ddf..00000000
--- a/.idea/.idea.BMA.EHR.Solution/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/BMA.EHR.Application/Repositories/InsigniaPeriodsRepository.cs b/BMA.EHR.Application/Repositories/InsigniaPeriodsRepository.cs
index 29aadd1d..a68cd245 100644
--- a/BMA.EHR.Application/Repositories/InsigniaPeriodsRepository.cs
+++ b/BMA.EHR.Application/Repositories/InsigniaPeriodsRepository.cs
@@ -358,11 +358,11 @@ namespace BMA.EHR.Application.Repositories
// check วันที่บรรจะต้องน้อยกว่า 29/5/ปี-8 ขอ บม.
var s1 = ((from p in inst_profile
- where p.ProfileDateAppoint <= new DateTime(period.Year - 8, 5, 29)
- && p.LastInsigniaId == Guid.Parse("00000000-0000-0000-0000-000000000000")
- && (p.SalaryCondition >= 8340
- && p.SalaryCondition < 15050)
- select p)
+ where p.ProfileDateAppoint <= new DateTime(period.Year - 8, 5, 29)
+ && p.LastInsigniaId == Guid.Parse("00000000-0000-0000-0000-000000000000")
+ && (p.SalaryCondition >= 8340
+ && p.SalaryCondition < 15050)
+ select p)
.ToList()
.Select(p => new InsigniaResultSet
{
@@ -412,73 +412,73 @@ namespace BMA.EHR.Application.Repositories
.FirstOrDefaultAsync(x => x.Name.Contains("จัตุรถาภรณ์มงกุฎไทย"));
var s2 = (from p in allProfilesByRoot
- where p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x => x.InsigniaId.Value != coinInsignia.Id &&
- x.InsigniaId.Value == bcpRoyal.Id)
- .ToList()
- .Count() == 0)
- //where !(p.ProfileInsignia.Where(x => x.InsigniaId != coinInsignia.Id).OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId == bcpRoyal.Id)
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix ?? "",
- FullName = $"{(p.Prefix ?? "")}{p.FirstName} {p.LastName}",
- Position = p.Position ?? "",
- Rank = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- ProfileDateAppoint = p.DateAppoint.Value,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- Gender = p.Gender ?? "",
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0
- ? null
- : GetInsigniaById(p.ProfileInsignia!.OrderByDescending(x => x.Year).FirstOrDefault()!
- .InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.ProfileInsignia!.OrderByDescending(x => x.Year).FirstOrDefault()!.InsigniaId.Value,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.Amount,
- //SalaryCondition = p.ProfileSalary == null ? 0 : p.ProfileSalary.Amount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!
- .PositionSalaryAmount,
+ where p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x => x.InsigniaId.Value != coinInsignia.Id &&
+ x.InsigniaId.Value == bcpRoyal.Id)
+ .ToList()
+ .Count() == 0)
+ //where !(p.ProfileInsignia.Where(x => x.InsigniaId != coinInsignia.Id).OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId == bcpRoyal.Id)
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix ?? "",
+ FullName = $"{(p.Prefix ?? "")}{p.FirstName} {p.LastName}",
+ Position = p.Position ?? "",
+ Rank = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ ProfileDateAppoint = p.DateAppoint.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ Gender = p.Gender ?? "",
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0
+ ? null
+ : GetInsigniaById(p.ProfileInsignia!.OrderByDescending(x => x.Year).FirstOrDefault()!
+ .InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.ProfileInsignia!.OrderByDescending(x => x.Year).FirstOrDefault()!.InsigniaId.Value,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.Amount,
+ //SalaryCondition = p.ProfileSalary == null ? 0 : p.ProfileSalary.Amount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!
+ .PositionSalaryAmount,
- IsHigherLevel = IsHigherLevel(GetInsigniaById(p.ProfileInsignia.ToList()
- .Where(x => x.InsigniaId.Value != coinInsignia.Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "เบญจมาภรณ์ช้างเผือก"),
+ IsHigherLevel = IsHigherLevel(GetInsigniaById(p.ProfileInsignia.ToList()
+ .Where(x => x.InsigniaId.Value != coinInsignia.Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "เบญจมาภรณ์ช้างเผือก"),
- FirstRecvInsigniaYear = p.ProfileInsignia == null ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.Value == bcmRoyal.Id).OrderBy(x => x.Year)
- .FirstOrDefault() == null ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.Value == bcmRoyal.Id).OrderBy(x => x.Year)
- .FirstOrDefault().Year,
- })
+ FirstRecvInsigniaYear = p.ProfileInsignia == null ? 0 :
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == bcmRoyal.Id).OrderBy(x => x.Year)
+ .FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == bcmRoyal.Id).OrderBy(x => x.Year)
+ .FirstOrDefault().Year,
+ })
.ToList()
.Where(x => (x.SalaryCondition >= 8340 && x.SalaryCondition < 10150) && !x.IsHigherLevel)
.Where(x => x.FirstRecvInsigniaYear != 0 && x.FirstRecvInsigniaYear <= period.Year - 5)
@@ -525,74 +525,74 @@ namespace BMA.EHR.Application.Repositories
var s3 = (from p in allProfilesByRoot
- where p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x => x.InsigniaId.Value != coinInsignia.Id &&
- x.InsigniaId.Value == jtmRoyal.Id)
- .ToList()
- .Count() == 0)
- //where !(p.ProfileInsignia.Where(x => x.InsigniaId != coinInsignia.Id).OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId == jtmRoyal.Id)
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix ?? "",
- FullName = $"{(p.Prefix ?? "")}{p.FirstName} {p.LastName}",
- Position = p.Position ?? "",
- Rank = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- ProfileDateAppoint = p.DateAppoint.Value,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- Gender = p.Gender ?? "",
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0
- ? null
- : GetInsigniaById(p.ProfileInsignia!.OrderByDescending(x => x.Year).FirstOrDefault()!
- .InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.ProfileInsignia!.OrderByDescending(x => x.Year).FirstOrDefault()!.InsigniaId.Value,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.Amount,
- //SalaryCondition = p.ProfileSalary == null ? 0 : p.ProfileSalary.Amount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x => x.InsigniaId.Value != coinInsignia.Id &&
+ x.InsigniaId.Value == jtmRoyal.Id)
+ .ToList()
+ .Count() == 0)
+ //where !(p.ProfileInsignia.Where(x => x.InsigniaId != coinInsignia.Id).OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId == jtmRoyal.Id)
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix ?? "",
+ FullName = $"{(p.Prefix ?? "")}{p.FirstName} {p.LastName}",
+ Position = p.Position ?? "",
+ Rank = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ ProfileDateAppoint = p.DateAppoint.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ Gender = p.Gender ?? "",
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0
+ ? null
+ : GetInsigniaById(p.ProfileInsignia!.OrderByDescending(x => x.Year).FirstOrDefault()!
+ .InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.ProfileInsignia!.OrderByDescending(x => x.Year).FirstOrDefault()!.InsigniaId.Value,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.Amount,
+ //SalaryCondition = p.ProfileSalary == null ? 0 : p.ProfileSalary.Amount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!
- .PositionSalaryAmount,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!
+ .PositionSalaryAmount,
- IsHigherLevel = IsHigherLevel(GetInsigniaById(p.ProfileInsignia.ToList()
- .Where(x => x.InsigniaId.Value != coinInsignia.Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "จัตุรถาภรณ์มงกุฎไทย"),
+ IsHigherLevel = IsHigherLevel(GetInsigniaById(p.ProfileInsignia.ToList()
+ .Where(x => x.InsigniaId.Value != coinInsignia.Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "จัตุรถาภรณ์มงกุฎไทย"),
- FirstRecvInsigniaYear = p.ProfileInsignia == null ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.Value == bcmRoyal.Id).OrderBy(x => x.Year)
- .FirstOrDefault() == null ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.Value == bcmRoyal.Id).OrderBy(x => x.Year)
- .FirstOrDefault().Year,
- })
+ FirstRecvInsigniaYear = p.ProfileInsignia == null ? 0 :
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == bcmRoyal.Id).OrderBy(x => x.Year)
+ .FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == bcmRoyal.Id).OrderBy(x => x.Year)
+ .FirstOrDefault().Year,
+ })
.ToList()
.Where(x => (x.SalaryCondition >= 8340 && x.SalaryCondition < 10150) && !x.IsHigherLevel)
.Where(x => x.FirstRecvInsigniaYear != 0 && x.FirstRecvInsigniaYear <= period.Year - 5)
@@ -782,10 +782,10 @@ namespace BMA.EHR.Application.Repositories
});
var s1 = ((from p in inst_profile
- where p.ProfileDateAppoint <= new DateTime(period.Year - 8, 5, 29)
- && p.LastInsigniaId == Guid.Parse("00000000-0000-0000-0000-000000000000")
- && (p.SalaryCondition >= 15050)
- select p)
+ where p.ProfileDateAppoint <= new DateTime(period.Year - 8, 5, 29)
+ && p.LastInsigniaId == Guid.Parse("00000000-0000-0000-0000-000000000000")
+ && (p.SalaryCondition >= 15050)
+ select p)
.ToList()
.Select(p => new InsigniaResultSet
{
@@ -837,74 +837,74 @@ namespace BMA.EHR.Application.Repositories
.FirstOrDefaultAsync(x => x.Name.Contains("จัตุรถาภรณ์มงกุฎไทย"));
var s2 = (from p in allProfilesByRoot
- where p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x => x.InsigniaId.Value != coinInsignia.Id &&
- x.InsigniaId.Value == jtmRoyal.Id)
- .ToList()
- .Count() == 0)
- //where !(p.ProfileInsignia.Where(x => x.InsigniaId != coinInsignia.Id).OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId == jtmRoyal.Id)
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix ?? "",
- FullName = $"{(p.Prefix ?? "")}{p.FirstName} {p.LastName}",
- Position = p.Position ?? "",
- Rank = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- ProfileDateAppoint = p.DateAppoint.Value,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- Gender = p.Gender ?? "",
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0
- ? null
- : GetInsigniaById(p.ProfileInsignia!.OrderByDescending(x => x.Year).FirstOrDefault()!
- .InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.ProfileInsignia!.OrderByDescending(x => x.Year).FirstOrDefault()!.InsigniaId.Value,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.Amount,
- //SalaryCondition = p.ProfileSalary == null ? 0 : p.ProfileSalary.Amount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x => x.InsigniaId.Value != coinInsignia.Id &&
+ x.InsigniaId.Value == jtmRoyal.Id)
+ .ToList()
+ .Count() == 0)
+ //where !(p.ProfileInsignia.Where(x => x.InsigniaId != coinInsignia.Id).OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId == jtmRoyal.Id)
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix ?? "",
+ FullName = $"{(p.Prefix ?? "")}{p.FirstName} {p.LastName}",
+ Position = p.Position ?? "",
+ Rank = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ ProfileDateAppoint = p.DateAppoint.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ Gender = p.Gender ?? "",
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0
+ ? null
+ : GetInsigniaById(p.ProfileInsignia!.OrderByDescending(x => x.Year).FirstOrDefault()!
+ .InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.ProfileInsignia!.OrderByDescending(x => x.Year).FirstOrDefault()!.InsigniaId.Value,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.Amount,
+ //SalaryCondition = p.ProfileSalary == null ? 0 : p.ProfileSalary.Amount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!
- .PositionSalaryAmount,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!
+ .PositionSalaryAmount,
- IsHigherLevel = IsHigherLevel(GetInsigniaById(p.ProfileInsignia.ToList()
- .Where(x => x.InsigniaId.Value != coinInsignia.Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "จัตุรถาภรณ์มงกุฎไทย"),
+ IsHigherLevel = IsHigherLevel(GetInsigniaById(p.ProfileInsignia.ToList()
+ .Where(x => x.InsigniaId.Value != coinInsignia.Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "จัตุรถาภรณ์มงกุฎไทย"),
- FirstRecvInsigniaYear = p.ProfileInsignia == null ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.Value == bcpRoyal.Id).OrderBy(x => x.Year)
- .FirstOrDefault() == null ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.Value == bcpRoyal.Id).OrderBy(x => x.Year)
- .FirstOrDefault().Year,
- })
+ FirstRecvInsigniaYear = p.ProfileInsignia == null ? 0 :
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == bcpRoyal.Id).OrderBy(x => x.Year)
+ .FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == bcpRoyal.Id).OrderBy(x => x.Year)
+ .FirstOrDefault().Year,
+ })
.ToList()
.Where(x => (x.SalaryCondition >= 10150) && !x.IsHigherLevel)
.Where(x => x.FirstRecvInsigniaYear != 0 && x.FirstRecvInsigniaYear <= period.Year - 5)
@@ -950,74 +950,74 @@ namespace BMA.EHR.Application.Repositories
.ToList();
var s3 = (from p in allProfilesByRoot
- where p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x => x.InsigniaId.Value != coinInsignia.Id &&
- x.InsigniaId.Value == jtcRoyal.Id)
- .ToList()
- .Count() == 0)
- //where !(p.ProfileInsignia.Where(x => x.InsigniaId != coinInsignia.Id).OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId == jtcRoyal.Id)
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix ?? "",
- FullName = $"{(p.Prefix ?? "")}{p.FirstName} {p.LastName}",
- Position = p.Position ?? "",
- Rank = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- ProfileDateAppoint = p.DateAppoint.Value,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- Gender = p.Gender ?? "",
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0
- ? null
- : GetInsigniaById(p.ProfileInsignia!.OrderByDescending(x => x.Year).FirstOrDefault()!
- .InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.ProfileInsignia!.OrderByDescending(x => x.Year).FirstOrDefault()!.InsigniaId.Value,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.Amount,
- //SalaryCondition = p.ProfileSalary == null ? 0 : p.ProfileSalary.Amount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x => x.InsigniaId.Value != coinInsignia.Id &&
+ x.InsigniaId.Value == jtcRoyal.Id)
+ .ToList()
+ .Count() == 0)
+ //where !(p.ProfileInsignia.Where(x => x.InsigniaId != coinInsignia.Id).OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId == jtcRoyal.Id)
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix ?? "",
+ FullName = $"{(p.Prefix ?? "")}{p.FirstName} {p.LastName}",
+ Position = p.Position ?? "",
+ Rank = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ ProfileDateAppoint = p.DateAppoint.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ Gender = p.Gender ?? "",
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0
+ ? null
+ : GetInsigniaById(p.ProfileInsignia!.OrderByDescending(x => x.Year).FirstOrDefault()!
+ .InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.ProfileInsignia!.OrderByDescending(x => x.Year).FirstOrDefault()!.InsigniaId.Value,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.Amount,
+ //SalaryCondition = p.ProfileSalary == null ? 0 : p.ProfileSalary.Amount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!
- .PositionSalaryAmount,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!
+ .PositionSalaryAmount,
- IsHigherLevel = IsHigherLevel(GetInsigniaById(p.ProfileInsignia.ToList()
- .Where(x => x.InsigniaId.Value != coinInsignia.Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "จัตุรถาภรณ์ช้างเผือก"),
+ IsHigherLevel = IsHigherLevel(GetInsigniaById(p.ProfileInsignia.ToList()
+ .Where(x => x.InsigniaId.Value != coinInsignia.Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "จัตุรถาภรณ์ช้างเผือก"),
- FirstRecvInsigniaYear = p.ProfileInsignia == null ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.Value == jtmRoyal.Id).OrderBy(x => x.Year)
- .FirstOrDefault() == null ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.Value == jtmRoyal.Id).OrderBy(x => x.Year)
- .FirstOrDefault().Year,
- })
+ FirstRecvInsigniaYear = p.ProfileInsignia == null ? 0 :
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == jtmRoyal.Id).OrderBy(x => x.Year)
+ .FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == jtmRoyal.Id).OrderBy(x => x.Year)
+ .FirstOrDefault().Year,
+ })
.ToList()
.Where(x => (x.SalaryCondition >= 10150) && !x.IsHigherLevel)
.Where(x => x.FirstRecvInsigniaYear != 0 && x.FirstRecvInsigniaYear <= period.Year - 5)
@@ -1219,16 +1219,16 @@ namespace BMA.EHR.Application.Repositories
// check วันที่บรรจะต้องน้อยกว่า 29/5/ปี-5
var s1 = ((from p in inst_profile
- where p.ProfileDateAppoint <= new DateTime(period.Year - 5, 5, 29)
- && p.LastInsigniaId == Guid.Parse("00000000-0000-0000-0000-000000000000")
- && p.PositionLevelName == "ปฏิบัติงาน" // ปฏิบัติงาน
- && p.ProfileInsignia == null
- //&& p.ProfileInsignia.Count > 0
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- // x.InsigniaId.Value == GetInsigniaByName("เบญจมาภรณ์มงกุฎไทย").Id)
- // .ToList()
- // .Count() == 0)
- select p)
+ where p.ProfileDateAppoint <= new DateTime(period.Year - 5, 5, 29)
+ && p.LastInsigniaId == Guid.Parse("00000000-0000-0000-0000-000000000000")
+ && p.PositionLevelName == "ปฏิบัติงาน" // ปฏิบัติงาน
+ && p.ProfileInsignia == null
+ //&& p.ProfileInsignia.Count > 0
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ // x.InsigniaId.Value == GetInsigniaByName("เบญจมาภรณ์มงกุฎไทย").Id)
+ // .ToList()
+ // .Count() == 0)
+ select p)
.ToList()
.Select(p => new InsigniaResultSet
{
@@ -1264,77 +1264,77 @@ namespace BMA.EHR.Application.Repositories
})).ToList();
var s2 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "ทั่วไป"
- && p.PosLevel.PosLevelName == "ปฏิบัติงาน"
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("เบญจมาภรณ์ช้างเผือก").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("เบญจมาภรณ์ช้างเผือก").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "ทั่วไป"
+ && p.PosLevel.PosLevelName == "ปฏิบัติงาน"
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("เบญจมาภรณ์ช้างเผือก").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("เบญจมาภรณ์ช้างเผือก").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- IsHigherLevel = IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "เบญจมาภรณ์ช้างเผือก"),
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- })
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ IsHigherLevel = IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "เบญจมาภรณ์ช้างเผือก"),
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ })
.ToList()
.Where(x => x.SalaryCondition < 10190 && !x.IsHigherLevel)
.Where(x => x.ProfileDateAppoint <= new DateTime(period.Year - 10, 5, 29))
@@ -1380,85 +1380,85 @@ namespace BMA.EHR.Application.Repositories
.ToList();
var s3 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "ทั่วไป"
- && p.PosLevel.PosLevelName == "ปฏิบัติงาน"
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("จัตุรถาภรณ์มงกุฎไทย").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("จัตุรถาภรณ์มงกุฎไทย").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "ทั่วไป"
+ && p.PosLevel.PosLevelName == "ปฏิบัติงาน"
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("จัตุรถาภรณ์มงกุฎไทย").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("จัตุรถาภรณ์มงกุฎไทย").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "จัตุรถาภรณ์มงกุฎไทย"),
- })
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "จัตุรถาภรณ์มงกุฎไทย"),
+ })
.ToList()
.Where(x => x.SalaryCondition >= 10190 && !x.IsHigherLevel)
.Select(p => new InsigniaResultSet
@@ -1497,86 +1497,86 @@ namespace BMA.EHR.Application.Repositories
.ToList();
var s4 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "ทั่วไป"
- && p.PosLevel.PosLevelName == "ปฏิบัติงาน"
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("จัตุรถาภรณ์ช้างเผือก").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("จัตุรถาภรณ์ช้างเผือก").Id
- select new
- {
- ProfileId = p.Id,
-
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "ทั่วไป"
+ && p.PosLevel.PosLevelName == "ปฏิบัติงาน"
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("จัตุรถาภรณ์ช้างเผือก").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("จัตุรถาภรณ์ช้างเผือก").Id
+ select new
+ {
+ ProfileId = p.Id,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "จัตุรถาภรณ์ช้างเผือก"),
- })
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "จัตุรถาภรณ์ช้างเผือก"),
+ })
.ToList()
.Where(x => x.SalaryCondition >= 10190 && !x.IsHigherLevel)
.Where(x => x.ProfileDateAppoint <= new DateTime(period.Year - 10, 5, 29))
@@ -1728,86 +1728,86 @@ namespace BMA.EHR.Application.Repositories
// (await _userProfileRepository.GetOfficerProfileByRootIdAsync(ocId, AccessToken));
var s1 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "ทั่วไป"
- && p.PosLevel.PosLevelName == "ชำนาญงาน"
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("ตริตาภรณ์มงกุฎไทย").Id)
- .ToList()
- .Count() == 0)
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
+ where p.PosType.PosTypeName == "ทั่วไป"
+ && p.PosLevel.PosLevelName == "ชำนาญงาน"
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ตริตาภรณ์มงกุฎไทย").Id)
+ .ToList()
+ .Count() == 0)
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "ตริตาภรณ์มงกุฎไทย"),
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "ตริตาภรณ์มงกุฎไทย"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName
+ })
.ToList()
.Select(p => new InsigniaResultSet
{
@@ -1845,94 +1845,94 @@ namespace BMA.EHR.Application.Repositories
.ToList();
var s2 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "ทั่วไป"
- && p.PosLevel.PosLevelName == "ชำนาญงาน"
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("ตริตาภรณ์ช้างเผือก").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ตริตาภรณ์ช้างเผือก").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
+ where p.PosType.PosTypeName == "ทั่วไป"
+ && p.PosLevel.PosLevelName == "ชำนาญงาน"
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ตริตาภรณ์ช้างเผือก").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ตริตาภรณ์ช้างเผือก").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "ตริตาภรณ์ช้างเผือก"),
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "ตริตาภรณ์ช้างเผือก"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญงาน").OrderBy(p => p.Date)
- .FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญงาน").OrderBy(p => p.Date)
- .FirstOrDefault().Date
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญงาน").OrderBy(p => p.Date)
+ .FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญงาน").OrderBy(p => p.Date)
+ .FirstOrDefault().Date
+ })
.ToList()
.Where(x => x.FirstPositonLevelDate < new DateTime(period.Year - 5, 5, 29))
.Select(p => new InsigniaResultSet
@@ -2040,93 +2040,93 @@ namespace BMA.EHR.Application.Repositories
var CurrentRetireDate = new DateTime(period.Year, 9, 30);
var s1 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "ทั่วไป"
- && p.PosLevel.PosLevelName == "อาวุโส"
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์มงกุฎไทย").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ทวีติยาภรณ์มงกุฎไทย").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "ทั่วไป"
+ && p.PosLevel.PosLevelName == "อาวุโส"
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์มงกุฎไทย").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ทวีติยาภรณ์มงกุฎไทย").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "ทวีติยาภรณ์มงกุฎไทย"),
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "ทวีติยาภรณ์มงกุฎไทย"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
- .FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
- .FirstOrDefault().Date
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
+ .FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
+ .FirstOrDefault().Date
+ })
.ToList()
.Select(p => new InsigniaResultSet
{
@@ -2163,92 +2163,92 @@ namespace BMA.EHR.Application.Repositories
.ToList();
var s2 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "ทั่วไป"
- && p.PosLevel.PosLevelName == "อาวุโส"
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
+ where p.PosType.PosTypeName == "ทั่วไป"
+ && p.PosLevel.PosLevelName == "อาวุโส"
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "ทวีติยาภรณ์ช้างเผือก"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "ทวีติยาภรณ์ช้างเผือก"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
- .FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
- .FirstOrDefault().Date
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
+ .FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
+ .FirstOrDefault().Date
+ })
.ToList()
.Where(x => x.FirstPositonLevelDate < new DateTime(period.Year - 5, 5, 29))
.Select(p => new InsigniaResultSet
@@ -2356,93 +2356,93 @@ namespace BMA.EHR.Application.Repositories
var CurrentRetireDate = new DateTime(period.Year, 9, 30);
var s1 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "ทั่วไป"
- && (p.PosLevel.PosLevelName == "อาวุโส" ||
- p.PosLevel.PosLevelName == "อาวุโส (เฉพาะสายงาน)") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
+ where p.PosType.PosTypeName == "ทั่วไป"
+ && (p.PosLevel.PosLevelName == "อาวุโส" ||
+ p.PosLevel.PosLevelName == "อาวุโส (เฉพาะสายงาน)") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "ทวีติยาภรณ์ช้างเผือก"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "ทวีติยาภรณ์ช้างเผือก"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
- .FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
- .FirstOrDefault().Date
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
+ .FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
+ .FirstOrDefault().Date
+ })
.ToList()
.Select(p => new InsigniaResultSet
{
@@ -2479,99 +2479,99 @@ namespace BMA.EHR.Application.Repositories
.ToList();
var s2 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "ทั่วไป"
- && (p.PosLevel.PosLevelName == "อาวุโส" ||
- p.PosLevel.PosLevelName == "อาวุโส (เฉพาะสายงาน)") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "ทั่วไป"
+ && (p.PosLevel.PosLevelName == "อาวุโส" ||
+ p.PosLevel.PosLevelName == "อาวุโส (เฉพาะสายงาน)") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "ประถมาภรณ์มงกุฎไทย"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "ประถมาภรณ์มงกุฎไทย"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
- .FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
- .FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
+ .FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
+ .FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Where(x => x.FirstRecvInsigniaYear != 0 && x.FirstRecvInsigniaYear <= period.Year - 3)
.Select(p => new InsigniaResultSet
@@ -2610,99 +2610,99 @@ namespace BMA.EHR.Application.Repositories
.ToList();
var s3 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "ทั่วไป"
- && (p.PosLevel.PosLevelName == "อาวุโส" ||
- p.PosLevel.PosLevelName == "อาวุโส (เฉพาะสายงาน)") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "ทั่วไป"
+ && (p.PosLevel.PosLevelName == "อาวุโส" ||
+ p.PosLevel.PosLevelName == "อาวุโส (เฉพาะสายงาน)") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "ประถมาภรณ์ช้างเผือก"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "ประถมาภรณ์ช้างเผือก"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
- .FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
- .FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
+ .FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
+ .FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Where(x => x.FirstRecvInsigniaYear != 0 && x.FirstRecvInsigniaYear <= period.Year - 5)
.Select(p => new InsigniaResultSet
@@ -2832,93 +2832,93 @@ namespace BMA.EHR.Application.Repositories
var CurrentRetireDate = new DateTime(period.Year, 9, 30);
var s1 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "วิชาการ"
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("ตริตาภรณ์มงกุฎไทย").Id)
- .ToList()
- .Count() == 0)
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "วิชาการ"
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ตริตาภรณ์มงกุฎไทย").Id)
+ .ToList()
+ .Count() == 0)
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "ตริตาภรณ์มงกุฎไทย"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "ตริตาภรณ์มงกุฎไทย"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
- .FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
- .FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
+ .FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
+ .FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Select(p => new InsigniaResultSet
{
@@ -3005,98 +3005,99 @@ namespace BMA.EHR.Application.Repositories
var CurrentRetireDate = new DateTime(period.Year, 9, 30);
var s1 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "วิชาการ"
- && (p.PosLevel.PosLevelName == "ชำนาญการ") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("ตริตาภรณ์ช้างเผือก").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ตริตาภรณ์ช้างเผือก").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "วิชาการ"
+ && (p.PosLevel.PosLevelName == "ชำนาญการ") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ตริตาภรณ์ช้างเผือก").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ตริตาภรณ์ช้างเผือก").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
-
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "ตริตาภรณ์ช้างเผือก"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการ").OrderBy(p => p.Date)
- .FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการ").OrderBy(p => p.Date)
- .FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "ตริตาภรณ์ช้างเผือก"),
+
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการ").OrderBy(p => p.Date)
+ .FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการ").OrderBy(p => p.Date)
+ .FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Select(p => new InsigniaResultSet
{
@@ -3133,98 +3134,98 @@ namespace BMA.EHR.Application.Repositories
.ToList();
var s2 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "วิชาการ"
- && (p.PosLevel.PosLevelName == "ชำนาญการ") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์มงกุฎไทย").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ทวีติยาภรณ์มงกุฎไทย").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "วิชาการ"
+ && (p.PosLevel.PosLevelName == "ชำนาญการ") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์มงกุฎไทย").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ทวีติยาภรณ์มงกุฎไทย").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "ทวีติยาภรณ์มงกุฎไทย"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "ทวีติยาภรณ์มงกุฎไทย"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการ").OrderBy(p => p.Date)
- .FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการ").OrderBy(p => p.Date)
- .FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการ").OrderBy(p => p.Date)
+ .FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการ").OrderBy(p => p.Date)
+ .FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Where(p => p.SalaryCondition >= 22140)
.Select(p => new InsigniaResultSet
@@ -3264,98 +3265,98 @@ namespace BMA.EHR.Application.Repositories
.ToList();
var s3 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "วิชาการ"
- && (p.PosLevel.PosLevelName == "ชำนาญการ") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year - 5, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year - 5, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "วิชาการ"
+ && (p.PosLevel.PosLevelName == "ชำนาญการ") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year - 5, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year - 5, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "ทวีติยาภรณ์ช้างเผือก"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "ทวีติยาภรณ์ช้างเผือก"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการ").OrderBy(p => p.Date)
- .FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการ").OrderBy(p => p.Date)
- .FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการ").OrderBy(p => p.Date)
+ .FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการ").OrderBy(p => p.Date)
+ .FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Where(p => p.SalaryCondition >= 22140)
.Select(p => new InsigniaResultSet
@@ -3482,98 +3483,98 @@ namespace BMA.EHR.Application.Repositories
var CurrentRetireDate = new DateTime(period.Year, 9, 30);
var s1 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "วิชาการ"
- && (p.PosLevel.PosLevelName == "ชำนาญการพิเศษ") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "วิชาการ"
+ && (p.PosLevel.PosLevelName == "ชำนาญการพิเศษ") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "ทวีติยาภรณ์ช้างเผือก"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "ทวีติยาภรณ์ช้างเผือก"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการพิเศษ").OrderBy(p => p.Date)
- .FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการพิเศษ").OrderBy(p => p.Date)
- .FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการพิเศษ").OrderBy(p => p.Date)
+ .FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการพิเศษ").OrderBy(p => p.Date)
+ .FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Select(p => new InsigniaResultSet
{
@@ -3610,98 +3611,98 @@ namespace BMA.EHR.Application.Repositories
.ToList();
var s2 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "วิชาการ"
- && (p.PosLevel.PosLevelName == "ชำนาญการพิเศษ") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "วิชาการ"
+ && (p.PosLevel.PosLevelName == "ชำนาญการพิเศษ") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "ประถมาภรณ์มงกุฎไทย"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "ประถมาภรณ์มงกุฎไทย"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการพิเศษ").OrderBy(p => p.Date)
- .FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการพิเศษ").OrderBy(p => p.Date)
- .FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการพิเศษ").OrderBy(p => p.Date)
+ .FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการพิเศษ").OrderBy(p => p.Date)
+ .FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Where(p => p.SalaryCondition >= 58390)
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 5)
@@ -3816,98 +3817,98 @@ namespace BMA.EHR.Application.Repositories
var CurrentRetireDate = new DateTime(period.Year, 9, 30);
var s1 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "วิชาการ"
- && (p.PosLevel.PosLevelName == "เชี่ยวชาญ") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "วิชาการ"
+ && (p.PosLevel.PosLevelName == "เชี่ยวชาญ") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "ทวีติยาภรณ์ช้างเผือก"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "ทวีติยาภรณ์ช้างเผือก"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "เชี่ยวชาญ").OrderBy(p => p.Date)
- .FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "เชี่ยวชาญ").OrderBy(p => p.Date)
- .FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "เชี่ยวชาญ").OrderBy(p => p.Date)
+ .FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "เชี่ยวชาญ").OrderBy(p => p.Date)
+ .FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Select(p => new InsigniaResultSet
{
@@ -3945,98 +3946,98 @@ namespace BMA.EHR.Application.Repositories
var s2 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "วิชาการ"
- && (p.PosLevel.PosLevelName == "เชี่ยวชาญ") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "วิชาการ"
+ && (p.PosLevel.PosLevelName == "เชี่ยวชาญ") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "ประถมาภรณ์มงกุฎไทย"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "ประถมาภรณ์มงกุฎไทย"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "เชี่ยวชาญ").OrderBy(p => p.Date)
- .FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "เชี่ยวชาญ").OrderBy(p => p.Date)
- .FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "เชี่ยวชาญ").OrderBy(p => p.Date)
+ .FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "เชี่ยวชาญ").OrderBy(p => p.Date)
+ .FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 3)
.Select(p => new InsigniaResultSet
@@ -4075,98 +4076,98 @@ namespace BMA.EHR.Application.Repositories
.ToList();
var s3 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "วิชาการ"
- && (p.PosLevel.PosLevelName == "เชี่ยวชาญ") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "วิชาการ"
+ && (p.PosLevel.PosLevelName == "เชี่ยวชาญ") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "ประถมาภรณ์ช้างเผือก"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "ประถมาภรณ์ช้างเผือก"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "เชี่ยวชาญ").OrderBy(p => p.Date)
- .FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "เชี่ยวชาญ").OrderBy(p => p.Date)
- .FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "เชี่ยวชาญ").OrderBy(p => p.Date)
+ .FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "เชี่ยวชาญ").OrderBy(p => p.Date)
+ .FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 5)
.Select(p => new InsigniaResultSet
@@ -4291,101 +4292,101 @@ namespace BMA.EHR.Application.Repositories
var CurrentRetireDate = new DateTime(period.Year, 9, 30);
var s1 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "วิชาการ"
- && (p.PosLevel.PosLevelName == "ทรงคุณวุฒิ") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "วิชาการ"
+ && (p.PosLevel.PosLevelName == "ทรงคุณวุฒิ") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "ประถมาภรณ์ช้างเผือก"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "ประถมาภรณ์ช้างเผือก"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
- .FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
- .FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
+ .FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
+ .FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Where(x => x.FirstRecvInsigniaYear != 0 && x.FirstRecvInsigniaYear <= period.Year - 3)
.Where(x => x.SalaryPosition == 13000)
@@ -4430,99 +4431,99 @@ namespace BMA.EHR.Application.Repositories
.ToList();
var s2 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "วิชาการ"
- && (p.PosLevel.PosLevelName == "ทรงคุณวุฒิ") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("มหาวชิรมงกุฎ").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryPosition = p.ProfileSalary == null
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "วิชาการ"
+ && (p.PosLevel.PosLevelName == "ทรงคุณวุฒิ") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("มหาวชิรมงกุฎ").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryPosition = p.ProfileSalary == null
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.PosNo == null ? "" : p.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "มหาวชิรมงกุฎ"),
+ PosNo = p.PosNo == null ? "" : p.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "มหาวชิรมงกุฎ"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
- .FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
- .FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
+ .FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
+ .FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 3)
.Where(p => p.SalaryPosition == 13000)
@@ -4567,99 +4568,99 @@ namespace BMA.EHR.Application.Repositories
.ToList();
var s3 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "วิชาการ"
- && (p.PosLevel.PosLevelName == "ทรงคุณวุฒิ") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("มหาปรมาภรณ์ช้างเผือก").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("มหาปรมาภรณ์ช้างเผือก").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "วิชาการ"
+ && (p.PosLevel.PosLevelName == "ทรงคุณวุฒิ") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("มหาปรมาภรณ์ช้างเผือก").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("มหาปรมาภรณ์ช้างเผือก").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "มหาปรมาภรณ์ช้างเผือก"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "มหาปรมาภรณ์ช้างเผือก"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
- .FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
- .FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
+ .FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
+ .FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 5)
.Where(p => p.SalaryPosition == 13000)
@@ -4789,101 +4790,101 @@ namespace BMA.EHR.Application.Repositories
var CurrentRetireDate = new DateTime(period.Year, 9, 30);
var s1 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "วิชาการ"
- && (p.PosLevel.PosLevelName == "ทรงคุณวุฒิ") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "วิชาการ"
+ && (p.PosLevel.PosLevelName == "ทรงคุณวุฒิ") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "ประถมาภรณ์ช้างเผือก"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "ประถมาภรณ์ช้างเผือก"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
- .FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
- .FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
+ .FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
+ .FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Where(x => x.FirstRecvInsigniaYear != 0 && x.FirstRecvInsigniaYear <= period.Year - 3)
.Where(x => x.SalaryPosition == 15600)
@@ -4928,101 +4929,101 @@ namespace BMA.EHR.Application.Repositories
.ToList();
var s2 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "วิชาการ"
- && (p.PosLevel.PosLevelName == "ทรงคุณวุฒิ") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("มหาวชิรมงกุฎ").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "วิชาการ"
+ && (p.PosLevel.PosLevelName == "ทรงคุณวุฒิ") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("มหาวชิรมงกุฎ").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "มหาวชิรมงกุฎ"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "มหาวชิรมงกุฎ"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
- .FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
- .FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
+ .FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
+ .FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 3)
.Where(p => p.SalaryPosition == 15600)
@@ -5067,99 +5068,99 @@ namespace BMA.EHR.Application.Repositories
.ToList();
var s3 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "วิชาการ"
- && (p.PosLevel.PosLevelName == "ทรงคุณวุฒิ") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("มหาปรมาภรณ์ช้างเผือก").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("มหาปรมาภรณ์ช้างเผือก").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "วิชาการ"
+ && (p.PosLevel.PosLevelName == "ทรงคุณวุฒิ") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("มหาปรมาภรณ์ช้างเผือก").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("มหาปรมาภรณ์ช้างเผือก").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "มหาปรมาภรณ์ช้างเผือก"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "มหาปรมาภรณ์ช้างเผือก"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
- .FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
- .FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
+ .FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
+ .FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 3)
.Where(p => p.SalaryPosition == 15600)
@@ -5288,97 +5289,97 @@ namespace BMA.EHR.Application.Repositories
var CurrentRetireDate = new DateTime(period.Year, 9, 30);
var s1 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "อำนวยการ"
- && (p.PosLevel.PosLevelName == "ต้น") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "อำนวยการ"
+ && (p.PosLevel.PosLevelName == "ต้น") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.PosNo == null ? "" : p.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "ทวีติยาภรณ์ช้างเผือก"),
+ PosNo = p.PosNo == null ? "" : p.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "ทวีติยาภรณ์ช้างเผือก"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "อำนวยการ")
- .OrderBy(p => p.Date).FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "อำนวยการ")
- .OrderBy(p => p.Date).FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "อำนวยการ")
+ .OrderBy(p => p.Date).FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "อำนวยการ")
+ .OrderBy(p => p.Date).FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Select(p => new InsigniaResultSet
{
@@ -5415,101 +5416,101 @@ namespace BMA.EHR.Application.Repositories
.ToList();
var s2 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "อำนวยการ"
- && (p.PosLevel.PosLevelName == "ต้น") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "อำนวยการ"
+ && (p.PosLevel.PosLevelName == "ต้น") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "ประถมาภรณ์มงกุฎไทย"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "ประถมาภรณ์มงกุฎไทย"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "อำนวยการ")
- .OrderBy(p => p.Date).FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "อำนวยการ")
- .OrderBy(p => p.Date).FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "อำนวยการ")
+ .OrderBy(p => p.Date).FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "อำนวยการ")
+ .OrderBy(p => p.Date).FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Where(p => p.SalaryCondition >= 58390)
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 5)
@@ -5619,101 +5620,101 @@ namespace BMA.EHR.Application.Repositories
var CurrentRetireDate = new DateTime(period.Year, 9, 30);
var s1 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "อำนวยการ"
- && (p.PosLevel.PosLevelName == "สูง") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "อำนวยการ"
+ && (p.PosLevel.PosLevelName == "สูง") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "ประถมาภรณ์มงกุฎไทย"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "ประถมาภรณ์มงกุฎไทย"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "อำนวยการ")
- .OrderBy(p => p.Date).FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "อำนวยการ")
- .OrderBy(p => p.Date).FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "อำนวยการ")
+ .OrderBy(p => p.Date).FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "อำนวยการ")
+ .OrderBy(p => p.Date).FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 3)
.Select(p => new InsigniaResultSet
@@ -5752,101 +5753,101 @@ namespace BMA.EHR.Application.Repositories
.ToList();
var s2 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "อำนวยการ"
- && (p.PosLevel.PosLevelName == "สูง") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "อำนวยการ"
+ && (p.PosLevel.PosLevelName == "สูง") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "ประถมาภรณ์ช้างเผือก"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "ประถมาภรณ์ช้างเผือก"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "อำนวยการ")
- .OrderBy(p => p.Date).FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "อำนวยการ")
- .OrderBy(p => p.Date).FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "อำนวยการ")
+ .OrderBy(p => p.Date).FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "อำนวยการ")
+ .OrderBy(p => p.Date).FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 3)
.Select(p => new InsigniaResultSet
@@ -5886,101 +5887,101 @@ namespace BMA.EHR.Application.Repositories
var s3 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "อำนวยการ"
- && (p.PosLevel.PosLevelName == "สูง") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("มหาวชิรมงกุฎ").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "อำนวยการ"
+ && (p.PosLevel.PosLevelName == "สูง") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("มหาวชิรมงกุฎ").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "มหาวชิรมงกุฎ"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "มหาวชิรมงกุฎ"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "อำนวยการ")
- .OrderBy(p => p.Date).FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "อำนวยการ")
- .OrderBy(p => p.Date).FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "อำนวยการ")
+ .OrderBy(p => p.Date).FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "อำนวยการ")
+ .OrderBy(p => p.Date).FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 5)
.Select(p => new InsigniaResultSet
@@ -6103,101 +6104,101 @@ namespace BMA.EHR.Application.Repositories
var CurrentRetireDate = new DateTime(period.Year, 9, 30);
var s1 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "บริหาร"
- && (p.PosLevel.PosLevelName == "ต้น") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "บริหาร"
+ && (p.PosLevel.PosLevelName == "ต้น") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "ประถมาภรณ์มงกุฎไทย"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "ประถมาภรณ์มงกุฎไทย"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "บริหาร")
- .OrderBy(p => p.Date).FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "บริหาร")
- .OrderBy(p => p.Date).FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "บริหาร")
+ .OrderBy(p => p.Date).FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "บริหาร")
+ .OrderBy(p => p.Date).FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 3)
.Select(p => new InsigniaResultSet
@@ -6236,101 +6237,101 @@ namespace BMA.EHR.Application.Repositories
.ToList();
var s2 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "บริหาร"
- && (p.PosLevel.PosLevelName == "ต้น") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "บริหาร"
+ && (p.PosLevel.PosLevelName == "ต้น") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "ประถมาภรณ์ช้างเผือก"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "ประถมาภรณ์ช้างเผือก"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "บริหาร")
- .OrderBy(p => p.Date).FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "บริหาร")
- .OrderBy(p => p.Date).FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "บริหาร")
+ .OrderBy(p => p.Date).FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "บริหาร")
+ .OrderBy(p => p.Date).FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 3)
.Select(p => new InsigniaResultSet
@@ -6369,101 +6370,101 @@ namespace BMA.EHR.Application.Repositories
.ToList();
var s3 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "บริหาร"
- && (p.PosLevel.PosLevelName == "ต้น") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("มหาวชิรมงกุฎ").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "บริหาร"
+ && (p.PosLevel.PosLevelName == "ต้น") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("มหาวชิรมงกุฎ").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "มหาวชิรมงกุฎ"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "มหาวชิรมงกุฎ"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "บริหาร")
- .OrderBy(p => p.Date).FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "บริหาร")
- .OrderBy(p => p.Date).FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "บริหาร")
+ .OrderBy(p => p.Date).FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "บริหาร")
+ .OrderBy(p => p.Date).FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 5)
.Select(p => new InsigniaResultSet
@@ -6557,101 +6558,101 @@ namespace BMA.EHR.Application.Repositories
var CurrentRetireDate = new DateTime(period.Year, 9, 30);
var s1 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "บริหาร"
- && (p.PosLevel.PosLevelName == "สูง") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "บริหาร"
+ && (p.PosLevel.PosLevelName == "สูง") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "ประถมาภรณ์ช้างเผือก"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "ประถมาภรณ์ช้างเผือก"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "บริหาร")
- .OrderBy(p => p.Date).FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "บริหาร")
- .OrderBy(p => p.Date).FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "บริหาร")
+ .OrderBy(p => p.Date).FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "บริหาร")
+ .OrderBy(p => p.Date).FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 3)
.Where(x => x.SalaryPosition == 14500)
@@ -6696,101 +6697,101 @@ namespace BMA.EHR.Application.Repositories
.ToList();
var s2 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "บริหาร"
- && (p.PosLevel.PosLevelName == "สูง") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("มหาวชิรมงกุฎ").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "บริหาร"
+ && (p.PosLevel.PosLevelName == "สูง") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("มหาวชิรมงกุฎ").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "มหาวชิรมงกุฎ"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "มหาวชิรมงกุฎ"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "บริหาร")
- .OrderBy(p => p.Date).FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "บริหาร")
- .OrderBy(p => p.Date).FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "บริหาร")
+ .OrderBy(p => p.Date).FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "บริหาร")
+ .OrderBy(p => p.Date).FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 3)
.Where(x => x.SalaryPosition == 14500)
@@ -6835,99 +6836,99 @@ namespace BMA.EHR.Application.Repositories
.ToList();
var s3 = (from p in allProfilesByRoot
- where p.PosType.PosTypeName == "บริหาร"
- && (p.PosLevel.PosLevelName == "สูง") // อาวุโส
- && p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x =>
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
- x.InsigniaId.Value == GetInsigniaByName("มหาปรมาภรณ์ช้างเผือก").Id)
- .ToList()
- .Count() == 0)
- //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- // .OrderByDescending(x => x.Year)
- // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("มหาปรมาภรณ์ช้างเผือก").Id
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix == null ? null : p.Prefix,
- FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
- Position = p.Position == null ? null : p.Position,
- Rank = p.PosLevel.PosLevelName,
- GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint.Value,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? "" :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null ? Guid.Empty :
- GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
- Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
- SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? null
- : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
- p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
+ where p.PosType.PosTypeName == "บริหาร"
+ && (p.PosLevel.PosLevelName == "สูง") // อาวุโส
+ && p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x =>
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("มหาปรมาภรณ์ช้างเผือก").Id)
+ .ToList()
+ .Count() == 0)
+ //&& p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ // .OrderByDescending(x => x.Year)
+ // .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("มหาปรมาภรณ์ช้างเผือก").Id
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix == null ? null : p.Prefix,
+ FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
+ Position = p.Position == null ? null : p.Position,
+ Rank = p.PosLevel.PosLevelName,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? "" :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Name,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null ? Guid.Empty :
+ GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId.Value).Id,
+ Salary = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().Amount,
+ SalaryPosition = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? null
+ : p.ProfileSalary.OrderByDescending(x => x.Order).FirstOrDefault().PositionSalaryAmount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.ProfileSalary.OrderBy(x => x.Order).FirstOrDefault().Amount,
- PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? ""
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
- Gender = p.Gender == null ? null : p.Gender,
- PositionLevelId = p.PosLevel == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosLevel.Id,
- PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
- PositionTypeId = p.PosType == null
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.PosType.Id,
- PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
- PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
- ? 0
- : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
- IsHigherLevel =
- p.ProfileInsignia
- .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .FirstOrDefault() == null
- ? true
- : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
- .Where(x => x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault().InsigniaId.Value).Name,
- "มหาปรมาภรณ์ช้างเผือก"),
+ PosNo = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? ""
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PosNo,
+ Gender = p.Gender == null ? null : p.Gender,
+ PositionLevelId = p.PosLevel == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosLevel.Id,
+ PositionLevelName = p.PosLevel == null ? null : p.PosLevel.PosLevelName,
+ PositionTypeId = p.PosType == null
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.PosType.Id,
+ PositionTypeName = p.PosType == null ? null : p.PosType.PosTypeName,
+ PostionSalaryAmount = p.ProfileSalary == null || p.ProfileSalary.Count == 0
+ ? 0
+ : p.ProfileSalary!.OrderByDescending(x => x.Order).FirstOrDefault()!.PositionSalaryAmount,
+ IsHigherLevel =
+ p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .FirstOrDefault() == null
+ ? true
+ : IsHigherLevel(GetInsigniaById(p.ProfileInsignia
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().InsigniaId.Value).Name,
+ "มหาปรมาภรณ์ช้างเผือก"),
- PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
- PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
- FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "บริหาร")
- .OrderBy(p => p.Date).FirstOrDefault() == null ? null :
- p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "บริหาร")
- .OrderBy(p => p.Date).FirstOrDefault().Date,
- FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
- .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
- .OrderBy(x => x.Year).FirstOrDefault().Year
- })
+ PositionLevel = p.PosLevel == null ? "" : p.PosLevel.PosLevelName,
+ PositionType = p.PosType == null ? "" : p.PosType.PosTypeName,
+ FirstPositonLevelDate = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "บริหาร")
+ .OrderBy(p => p.Date).FirstOrDefault() == null ? null :
+ p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "บริหาร")
+ .OrderBy(p => p.Date).FirstOrDefault().Date,
+ FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
+ .OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year
+ })
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 5)
.Where(x => x.SalaryPosition == 14500)
@@ -7280,7 +7281,7 @@ namespace BMA.EHR.Application.Repositories
p.LastName,
p.BirthDate,
p.DateAppoint,
-
+
Prefix = p.Prefix ?? "",
FullName = $"{(p.Prefix ?? "")}{p.FirstName} {p.LastName}",
Position = p.Position ?? "",
@@ -7330,8 +7331,8 @@ namespace BMA.EHR.Application.Repositories
// check วันที่บรรจะต้องมากกว่า 25 ปี
var result = ((from p in inst_profile
- where p.ProfileDateAppoint <= new DateTime(period.Year - 25, 5, 29)
- select p)
+ where p.ProfileDateAppoint <= new DateTime(period.Year - 25, 5, 29)
+ select p)
.ToList()
.Select(p => new InsigniaResultSet
{
@@ -7802,7 +7803,7 @@ namespace BMA.EHR.Application.Repositories
//var pf = _userProfileRepository.GetOfficerProfileById(item.ProfileId, AccessToken);
//if (pf == null) throw new Exception(GlobalMessages.InsigniaRequestProfileNotFound);
-
+
// var lastProfileSalary = pf.ProfileSalary == null || pf.ProfileSalary.Count == 0
// ? null
// : pf.ProfileSalary.MaxBy(x => x.Order);
@@ -7842,7 +7843,8 @@ namespace BMA.EHR.Application.Repositories
PosLevelName = item.PosTypeName,
PosNo = item.PosNo,
Amount = item.Salary,
- PositionSalaryAmount = item.PositionSalary
+ PositionSalaryAmount = item.PositionSalary,
+ LastInsigniaName = item.LastInsignia
});
}
diff --git a/BMA.EHR.Infrastructure/Migrations/20240705100331_Add Last InsigniaName to Request.Designer.cs b/BMA.EHR.Infrastructure/Migrations/20240705100331_Add Last InsigniaName to Request.Designer.cs
new file mode 100644
index 00000000..5966fd75
--- /dev/null
+++ b/BMA.EHR.Infrastructure/Migrations/20240705100331_Add Last InsigniaName to Request.Designer.cs
@@ -0,0 +1,18103 @@
+//
+using System;
+using BMA.EHR.Infrastructure.Persistence;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+
+#nullable disable
+
+namespace BMA.EHR.Infrastructure.Migrations
+{
+ [DbContext(typeof(ApplicationDBContext))]
+ [Migration("20240705100331_Add Last InsigniaName to Request")]
+ partial class AddLastInsigniaNametoRequest
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "7.0.9")
+ .HasAnnotation("Relational:MaxIdentifierLength", 64);
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.Command", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("AuthorizedPosition")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("ตำแหน่งผู้มีอำนาจลงนาม");
+
+ b.Property("AuthorizedUserFullName")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("ชื่อผู้มีอำนาจลงนาม");
+
+ b.Property("AuthorizedUserId")
+ .HasColumnType("char(36)")
+ .HasComment("รหัสอ้างอิงผู้มีอำนาจลงนาม");
+
+ b.Property("CaseFault")
+ .HasColumnType("longtext")
+ .HasComment("กรณีความผิด");
+
+ b.Property("ChairManFullName")
+ .HasColumnType("longtext")
+ .HasComment("ประธานคณะกรรมการ");
+
+ b.Property("CommandAffectDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันที่คำสั่งมีผล");
+
+ b.Property("CommandExcecuteDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันที่ออกคำสั่ง");
+
+ b.Property("CommandNo")
+ .IsRequired()
+ .HasMaxLength(10)
+ .HasColumnType("varchar(10)")
+ .HasComment("เลขที่คำสั่ง");
+
+ b.Property("CommandStatusId")
+ .HasColumnType("char(36)")
+ .HasComment("รหัสอ้างอิงสถานะคำสั่ง");
+
+ b.Property("CommandSubject")
+ .IsRequired()
+ .HasMaxLength(500)
+ .HasColumnType("varchar(500)")
+ .HasComment("คำสั่งเรื่อง");
+
+ b.Property("CommandTypeId")
+ .HasColumnType("char(36)")
+ .HasComment("รหัสอ้างอิงประเภทคำสั่ง");
+
+ b.Property("CommandYear")
+ .IsRequired()
+ .HasMaxLength(4)
+ .HasColumnType("varchar(4)")
+ .HasComment("ปีที่ออกคำสั่ง");
+
+ b.Property("ComplaintId")
+ .HasColumnType("char(36)")
+ .HasComment("Id เรื่องร้องเรียน");
+
+ b.Property("ConclusionFireDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("ลงวันที่ (เรื่องการดำเนินการทางวินัย)");
+
+ b.Property("ConclusionFireNo")
+ .HasColumnType("longtext")
+ .HasComment("ครั้งที่ (เรื่องการดำเนินการทางวินัย)");
+
+ b.Property("ConclusionFireResolution")
+ .HasColumnType("longtext")
+ .HasComment("มติที่ประชุม (เรื่องการดำเนินการทางวินัย)");
+
+ b.Property("ConclusionMeetingDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("การประชุม ลงวันที่");
+
+ b.Property("ConclusionMeetingNo")
+ .HasColumnType("longtext")
+ .HasComment("การประชุม ครั้งที่");
+
+ b.Property("ConclusionReceiveDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("ลงวันที่ (การรับโอน)");
+
+ b.Property("ConclusionReceiveNo")
+ .HasColumnType("longtext")
+ .HasComment("มติ กก. ครั้งที่ (การรับโอน)");
+
+ b.Property("ConclusionRegisterDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("ลงวันที่ (เรื่อง รับสมัครสอบฯ)");
+
+ b.Property("ConclusionRegisterNo")
+ .HasColumnType("longtext")
+ .HasComment("มติ กก. ครั้งที่ (เรื่อง รับสมัครสอบฯ)");
+
+ b.Property("ConclusionResultDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("ลงวันที่ (เรื่อง ผลการสอบแข่งขัน)");
+
+ b.Property("ConclusionResultNo")
+ .HasColumnType("longtext")
+ .HasComment("มติ กก. ครั้งที่ (เรื่อง ผลการสอบแข่งขัน)");
+
+ b.Property("ConclusionReturnDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("ลงวันที่ (เรื่อง กลับเข้ารับราชการ)");
+
+ b.Property("ConclusionReturnNo")
+ .HasColumnType("longtext")
+ .HasComment("มติ กก. ครั้งที่ (เรื่อง กลับเข้ารับราชการ)");
+
+ b.Property("ConclusionTranferDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("การประชุม ลงวันที่");
+
+ b.Property("ConclusionTranferNo")
+ .HasColumnType("longtext")
+ .HasComment("การประชุม ครั้งที่");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("Fault")
+ .HasColumnType("longtext")
+ .HasComment("รายละเอียดการกระทำผิด");
+
+ b.Property("FaultLevel")
+ .HasColumnType("longtext")
+ .HasComment("ระดับความผิด");
+
+ b.Property("GovAidCommandDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("ลงวันที่ (คำสั่งช่วยราชการ)");
+
+ b.Property("GovAidCommandNo")
+ .HasColumnType("longtext")
+ .HasComment("คำสั่งเลขที่ (คำสั่งช่วยราชการ)");
+
+ b.Property("GuiltyBasis")
+ .HasColumnType("longtext")
+ .HasComment("ฐานความผิด");
+
+ b.Property("IssuerOrganizationId")
+ .HasColumnType("char(36)")
+ .HasComment("รหัสอ้างอิงหน่วยงานที่ออกคำสั่ง");
+
+ b.Property("IssuerOrganizationName")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("หน่วยงานที่ออกคำสั่ง");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("Member1FullName")
+ .HasColumnType("longtext")
+ .HasComment("กรรมการคนที่ 1");
+
+ b.Property("Member2FullName")
+ .HasColumnType("longtext")
+ .HasComment("กรรมการคนที่ 2");
+
+ b.Property("MilitaryCommanDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("ลงวันที่ (ให้เข้ารับราชการทหาร)");
+
+ b.Property("MilitaryCommandNo")
+ .HasColumnType("longtext")
+ .HasComment("คำสั่งที่ (ให้เข้ารับราชการทหาร)");
+
+ b.Property("OwnerGovId")
+ .HasColumnType("char(36)")
+ .HasComment("รหัสส่วนราชการผู้ออกคำสั่ง");
+
+ b.Property("PlacementCommandDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("คำสั่งบรรจุลงวันที่");
+
+ b.Property("PlacementCommandIssuer")
+ .HasColumnType("longtext")
+ .HasComment("หน่วยงานที่ออกคำสั่งบรรจุ");
+
+ b.Property("PlacementCommandNo")
+ .HasColumnType("longtext")
+ .HasComment("เลขที่คำสั่งบรรจุ");
+
+ b.Property("PlacementId")
+ .HasColumnType("char(36)")
+ .HasComment("อ้างอิงรอบการสอบ");
+
+ b.Property("PlacementOrganizationName")
+ .HasColumnType("longtext")
+ .HasComment("สังกัดที่บรรจุ");
+
+ b.Property("PlacementPositionName")
+ .HasColumnType("longtext")
+ .HasComment("ตำแหน่งที่บรรจุ");
+
+ b.Property("PositionName")
+ .HasColumnType("longtext")
+ .HasComment("ตำแหน่งที่บรรจุ");
+
+ b.Property("ProbationEndDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันที่สิ้นสุดการทดลองปฏิบัติราชการ");
+
+ b.Property("ProbationStartDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันที่เริ่มทดลองปฏิบัติราชการ");
+
+ b.Property("ReceiveOrganizationName")
+ .HasColumnType("longtext")
+ .HasComment("ส่วนราชการที่รับโอน");
+
+ b.Property("RefRaw")
+ .HasColumnType("longtext")
+ .HasComment("อ้างอิงมาตราตามกฏหมาย");
+
+ b.Property("Result")
+ .HasColumnType("longtext")
+ .HasComment("ผลดำเนินการพิจารณา");
+
+ b.Property("SalaryPeriod")
+ .HasColumnType("longtext")
+ .HasComment("รอบเงินเดือน");
+
+ b.Property("SalaryPeriodId")
+ .HasColumnType("char(36)")
+ .HasComment("Id เรื่องเงินเดือน");
+
+ b.Property("SourceOrganizationName")
+ .HasColumnType("longtext")
+ .HasComment("หน่วยงานต้นสังกัด ก่อนรับราชการทหาร");
+
+ b.Property("TransferOrganizationName")
+ .HasColumnType("longtext")
+ .HasComment("ส่วนราชการที่ให้โอน");
+
+ b.Property("Year")
+ .HasMaxLength(4)
+ .HasColumnType("varchar(4)")
+ .HasComment("ปีรอบเงินเดือน");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CommandStatusId");
+
+ b.HasIndex("CommandTypeId");
+
+ b.HasIndex("PlacementId");
+
+ b.ToTable("Commands");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.CommandDeployment", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CitizenId")
+ .IsRequired()
+ .HasMaxLength(13)
+ .HasColumnType("varchar(13)")
+ .HasComment("เลขประจำตัวประชาชน");
+
+ b.Property("CommandId")
+ .HasColumnType("char(36)")
+ .HasComment("รหัสอ้างอิงคำสั่ง");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("FirstName")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("ชื่อ");
+
+ b.Property("IsSendInbox")
+ .HasColumnType("tinyint(1)")
+ .HasComment("ส่งกล่องข้อความหรือไม่?");
+
+ b.Property("IsSendMail")
+ .HasColumnType("tinyint(1)")
+ .HasComment("ส่งอีเมล์หรือไม่?");
+
+ b.Property("IsSendNotification")
+ .HasColumnType("tinyint(1)")
+ .HasComment("ส่งแจ้งเตือนหรือไม่?");
+
+ b.Property("LastName")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("นามสกุล");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("OrganizationName")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("ชื่อหน่วยงานของผู้รับสำเนาคำสั่ง");
+
+ b.Property("PositionName")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("ชื่อตำแหน่งของผู้รับสำเนาคำสั่ง");
+
+ b.Property("Prefix")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("varchar(50)")
+ .HasComment("คำนำหน้านาม");
+
+ b.Property("ReceiveUserId")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("รหัสอ้างอิงผู้ใช้งานระบบ");
+
+ b.Property("Sequence")
+ .HasColumnType("int")
+ .HasComment("ลำดับ");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CommandId");
+
+ b.ToTable("CommandDeployments");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.CommandDocument", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("Category")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("ประเภทเอกสาร");
+
+ b.Property("CommandId")
+ .HasColumnType("char(36)");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("DocumentId")
+ .HasColumnType("char(36)");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CommandId");
+
+ b.HasIndex("DocumentId");
+
+ b.ToTable("CommandDocuments");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.CommandReceiver", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("Amount")
+ .HasColumnType("double")
+ .HasComment("เงินเดือน");
+
+ b.Property("BirthDate")
+ .HasMaxLength(40)
+ .HasColumnType("datetime(6)")
+ .HasComment("วันเกิด");
+
+ b.Property("CitizenId")
+ .IsRequired()
+ .HasMaxLength(13)
+ .HasColumnType("varchar(13)")
+ .HasComment("เลขประจำตัวประชาชน");
+
+ b.Property("CommandId")
+ .HasColumnType("char(36)")
+ .HasComment("รหัสอ้างอิงคำสั่ง");
+
+ b.Property("Comment")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasComment("หมายเหตุ");
+
+ b.Property("Comment2")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasComment("หมายเหตุแนวนอน");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("FirstName")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("ชื่อ");
+
+ b.Property("LastName")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("นามสกุล");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("MouthSalaryAmount")
+ .HasColumnType("double")
+ .HasComment("เงินค่าตอบแทนรายเดือน");
+
+ b.Property("Organization")
+ .HasColumnType("longtext")
+ .HasComment("ชื่อหน่วยงาน root");
+
+ b.Property("PositionLevel")
+ .HasColumnType("longtext")
+ .HasComment("ระดับ");
+
+ b.Property("PositionName")
+ .HasColumnType("longtext")
+ .HasComment("ตำแหน่ง");
+
+ b.Property("PositionNumber")
+ .HasColumnType("longtext")
+ .HasComment("เลขที่ตำแหน่ง");
+
+ b.Property("PositionSalaryAmount")
+ .HasColumnType("double")
+ .HasComment("เงินประจำตำแหน่ง");
+
+ b.Property("PositionType")
+ .HasColumnType("longtext")
+ .HasComment("ประเภท");
+
+ b.Property("Prefix")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("varchar(50)")
+ .HasComment("คำนำหน้านาม");
+
+ b.Property("RefDisciplineId")
+ .HasColumnType("char(36)")
+ .HasComment("รหัสอ้างอิงไปยังข้อมูลวินัย");
+
+ b.Property("RefPlacementProfileId")
+ .HasColumnType("char(36)")
+ .HasComment("รหัสอ้างอิงไปยังข้อมูลผู้บรรจุ");
+
+ b.Property("Sequence")
+ .HasColumnType("int")
+ .HasComment("ลำดับในบัญชีแนบท้าย");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CommandId");
+
+ b.ToTable("CommandReceivers");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.CommandStatus", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("สถานะของคำสั่ง");
+
+ b.Property("Sequence")
+ .HasColumnType("int")
+ .HasComment("ลำดับการทำงาน");
+
+ b.HasKey("Id");
+
+ b.ToTable("CommandStatuses");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.CommandType", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("Category")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("ประเภทคำสั่ง");
+
+ b.Property("CommandCode")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("รหัสของประเภทคำสั่ง");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasComment("ชื่อคำสั่ง");
+
+ b.HasKey("Id");
+
+ b.ToTable("CommandTypes");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.DeploymentChannel", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("IsSendEmail")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("IsSendInbox")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.HasKey("Id");
+
+ b.ToTable("DeploymentChannels");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Documents.Document", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)");
+
+ b.Property("CreatedDate")
+ .HasColumnType("datetime(6)");
+
+ b.Property("Detail")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("FileName")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("varchar(255)");
+
+ b.Property("FileSize")
+ .HasColumnType("int");
+
+ b.Property("FileType")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("ObjectRefId")
+ .HasColumnType("char(36)");
+
+ b.HasKey("Id");
+
+ b.ToTable("Documents");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.HR.LimitLeave", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("Name")
+ .HasColumnType("longtext")
+ .HasComment("ยังไม่ชัวใช้อะไรเป็นkey");
+
+ b.HasKey("Id");
+
+ b.ToTable("LimitLeaves");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.HR.LimitTypeLeave", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("LimitLeaveId")
+ .HasColumnType("char(36)");
+
+ b.Property("NumLeave")
+ .HasColumnType("double")
+ .HasComment("จำนวนที่ลาได้");
+
+ b.Property("TypeLeaveId")
+ .HasColumnType("char(36)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("LimitLeaveId");
+
+ b.HasIndex("TypeLeaveId");
+
+ b.ToTable("LimitTypeLeaves");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.HR.Profile", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("Ability")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)");
+
+ b.Property("AvatarId")
+ .HasColumnType("char(36)");
+
+ b.Property("AvatarRef")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)");
+
+ b.Property("BirthDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันเกิด");
+
+ b.Property("BloodGroupId")
+ .HasColumnType("char(36)")
+ .HasComment("Id กลุ่มเลือด");
+
+ b.Property("CitizenId")
+ .HasMaxLength(13)
+ .HasColumnType("varchar(13)")
+ .HasComment("รหัสบัตรประชาชน");
+
+ b.Property("Couple")
+ .HasColumnType("tinyint(1)")
+ .HasComment("คู่สมรส");
+
+ b.Property("CoupleCareer")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("อาชีพคู่สมรส");
+
+ b.Property("CoupleCitizenId")
+ .HasMaxLength(20)
+ .HasColumnType("varchar(20)")
+ .HasComment("เลขที่บัตรประชาชนคู่สมรส");
+
+ b.Property("CoupleFirstName")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("ชื่อคู่สมรส");
+
+ b.Property("CoupleLastName")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("นามสกุลคู่สมรส");
+
+ b.Property("CoupleLastNameOld")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("นามสกุลคู่สมรส(เดิม)");
+
+ b.Property("CoupleLive")
+ .HasColumnType("tinyint(1)")
+ .HasComment("มีชีวิตคู่สมรส");
+
+ b.Property("CouplePrefixId")
+ .HasColumnType("char(36)")
+ .HasComment("Id คำนำหน้าคู่สมรส");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedDate")
+ .HasColumnType("datetime(6)");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUser")
+ .IsRequired()
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250)");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("CurrentAddress")
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasComment("ที่อยู่ปัจจุบัน");
+
+ b.Property("CurrentDistrictId")
+ .HasColumnType("char(36)")
+ .HasComment("Id เขตปัจจุบัน");
+
+ b.Property("CurrentProvinceId")
+ .HasColumnType("char(36)")
+ .HasComment("Id จังหวัดปัจจุบัน");
+
+ b.Property("CurrentSubDistrictId")
+ .HasColumnType("char(36)")
+ .HasComment("Id แขวงปัจจุบัน");
+
+ b.Property("CurrentZipCode")
+ .HasMaxLength(5)
+ .HasColumnType("varchar(5)")
+ .HasComment("รหัสไปรษณีย์ปัจจุบัน");
+
+ b.Property("DateAppoint")
+ .HasColumnType("datetime(6)");
+
+ b.Property("DateRetire")
+ .HasColumnType("datetime(6)");
+
+ b.Property("DateStart")
+ .HasColumnType("datetime(6)");
+
+ b.Property("DutyTimeEffectiveDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันที่รอบการลงเวลามีผล");
+
+ b.Property("DutyTimeId")
+ .HasColumnType("char(36)")
+ .HasComment("รอบการลงเวลาเข้างาน");
+
+ b.Property("EmployeeClass")
+ .HasMaxLength(20)
+ .HasColumnType("varchar(20)")
+ .HasComment("ประเภทลูกจ้าง");
+
+ b.Property("EmployeeMoneyAllowance")
+ .HasColumnType("double")
+ .HasComment("เงินช่วยเหลือค่าครองชีพชั่วคราว");
+
+ b.Property("EmployeeMoneyEmployee")
+ .HasColumnType("double")
+ .HasComment("เงินสมทบประกันสังคม(ลูกจ้าง)");
+
+ b.Property("EmployeeMoneyEmployer")
+ .HasColumnType("double")
+ .HasComment("เงินสมทบประกันสังคม(นายจ้าง)");
+
+ b.Property("EmployeeMoneyIncrease")
+ .HasColumnType("double")
+ .HasComment("เงินเพิ่มการครองชีพชั่วคราว");
+
+ b.Property("EmployeeOc")
+ .HasColumnType("longtext")
+ .HasComment("สังกัด");
+
+ b.Property("EmployeeType")
+ .HasMaxLength(20)
+ .HasColumnType("varchar(20)")
+ .HasComment("ประเภทการจ้าง");
+
+ b.Property("EmployeeTypeIndividual")
+ .HasColumnType("longtext")
+ .HasComment("ประเภทบุคคล");
+
+ b.Property("EmployeeWage")
+ .HasColumnType("double")
+ .HasComment("ค่าจ้าง");
+
+ b.Property("EntryStatus")
+ .IsRequired()
+ .HasMaxLength(5)
+ .HasColumnType("varchar(5)");
+
+ b.Property("FatherCareer")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("อาชีพบิดา");
+
+ b.Property("FatherCitizenId")
+ .HasMaxLength(20)
+ .HasColumnType("varchar(20)")
+ .HasComment("เลขที่บัตรประชาชนบิดา");
+
+ b.Property("FatherFirstName")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("ชื่อบิดา");
+
+ b.Property("FatherLastName")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("นามสกุลบิดา");
+
+ b.Property("FatherLive")
+ .HasColumnType("tinyint(1)")
+ .HasComment("มีชีวิตบิดา");
+
+ b.Property("FatherPrefixId")
+ .HasColumnType("char(36)")
+ .HasComment("Id คำนำหน้าบิดา");
+
+ b.Property("FirstName")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("ชื่อ");
+
+ b.Property("FirstNameOld")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("ชื่อ(เดิม)");
+
+ b.Property("GenderId")
+ .HasColumnType("char(36)");
+
+ b.Property("GovAgeAbsent")
+ .HasColumnType("int");
+
+ b.Property("GovAgePlus")
+ .HasColumnType("int");
+
+ b.Property("GovernmentCode")
+ .HasColumnType("longtext");
+
+ b.Property("IsActive")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("IsLeave")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("IsProbation")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("IsSendVerified")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("IsTransfer")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("IsVerified")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("KeycloakId")
+ .HasColumnType("char(36)");
+
+ b.Property("LastName")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("นามสกุล");
+
+ b.Property("LastNameOld")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("นามสกุล(เดิม)");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("LeaveDate")
+ .HasColumnType("datetime(6)");
+
+ b.Property("LeaveDateOrder")
+ .HasColumnType("datetime(6)");
+
+ b.Property("LeaveDetail")
+ .HasColumnType("longtext");
+
+ b.Property("LeaveNumberOrder")
+ .HasColumnType("longtext");
+
+ b.Property("LeaveReason")
+ .HasMaxLength(1000)
+ .HasColumnType("varchar(1000)");
+
+ b.Property("LimitLeaveId")
+ .HasColumnType("char(36)");
+
+ b.Property("ModifiedDate")
+ .HasColumnType("datetime(6)");
+
+ b.Property("MotherCareer")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("อาชีพมารดา");
+
+ b.Property("MotherCitizenId")
+ .HasMaxLength(20)
+ .HasColumnType("varchar(20)")
+ .HasComment("เลขที่บัตรประชาชนมารดา");
+
+ b.Property("MotherFirstName")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("ชื่อมารดา");
+
+ b.Property("MotherLastName")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("นามสกุลมารดา");
+
+ b.Property("MotherLive")
+ .HasColumnType("tinyint(1)")
+ .HasComment("มีชีวิตมารดา");
+
+ b.Property("MotherPrefixId")
+ .HasColumnType("char(36)")
+ .HasComment("Id คำนำหน้ามารดา");
+
+ b.Property("Nationality")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("สัญชาติ");
+
+ b.Property("Oc")
+ .HasColumnType("longtext")
+ .HasComment("สังกัด");
+
+ b.Property("OcId")
+ .HasColumnType("char(36)")
+ .HasComment("Id สังกัด");
+
+ b.Property("OrganizationOrganization")
+ .HasColumnType("longtext");
+
+ b.Property("OrganizationOrganizationId")
+ .HasColumnType("char(36)");
+
+ b.Property