diff --git a/BMA.EHR.Application/Repositories/InsigniaPeriodsRepository.cs b/BMA.EHR.Application/Repositories/InsigniaPeriodsRepository.cs index 6852cdbe..a78c2923 100644 --- a/BMA.EHR.Application/Repositories/InsigniaPeriodsRepository.cs +++ b/BMA.EHR.Application/Repositories/InsigniaPeriodsRepository.cs @@ -934,6 +934,7 @@ namespace BMA.EHR.Application.Repositories 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, + ProfileInsignia = p.ProfileInsignia }); // check วันที่บรรจะต้องน้อยกว่า 29/5/ปี-5 @@ -941,6 +942,12 @@ namespace BMA.EHR.Application.Repositories 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 @@ -973,9 +980,13 @@ namespace BMA.EHR.Application.Repositories && p.PosLevel.PosLevelName == "ปฏิบัติงาน" && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("เบญจมาภรณ์ช้างเผือก").Id + && (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, @@ -1044,9 +1055,13 @@ namespace BMA.EHR.Application.Repositories && p.PosLevel.PosLevelName == "ปฏิบัติงาน" && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("จัตุรถาภรณ์มงกุฎไทย").Id + && (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, @@ -1110,9 +1125,13 @@ namespace BMA.EHR.Application.Repositories && p.PosLevel.PosLevelName == "ปฏิบัติงาน" && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("จัตุรถาภรณ์ช้างเผือก").Id + && (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, @@ -1286,9 +1305,10 @@ namespace BMA.EHR.Application.Repositories && p.PosLevel.PosLevelName == "ชำนาญงาน" && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ตริตาภรณ์มงกุฎไทย").Id + && (p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id && + x.InsigniaId.Value == GetInsigniaByName("ตริตาภรณ์มงกุฎไทย").Id) + .ToList() + .Count() == 0) select new { ProfileId = p.Id, @@ -1356,9 +1376,13 @@ namespace BMA.EHR.Application.Repositories && p.PosLevel.PosLevelName == "ชำนาญงาน" && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ตริตาภรณ์ช้างเผือก").Id + && (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, @@ -1495,9 +1519,13 @@ namespace BMA.EHR.Application.Repositories && p.PosLevel.PosLevelName == "อาวุโส" && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ทวีติยาภรณ์มงกุฎไทย").Id + && (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, @@ -1567,9 +1595,13 @@ namespace BMA.EHR.Application.Repositories && p.PosLevel.PosLevelName == "อาวุโส" && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id + && (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, @@ -1706,9 +1738,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "อาวุโส" || p.PosLevel.PosLevelName == "อาวุโส (เฉพาะสายงาน)") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id + && (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, @@ -1778,9 +1814,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "อาวุโส" || p.PosLevel.PosLevelName == "อาวุโส (เฉพาะสายงาน)") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id + && (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, @@ -1854,9 +1894,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "อาวุโส" || p.PosLevel.PosLevelName == "อาวุโส (เฉพาะสายงาน)") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id + && (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, @@ -2017,7 +2061,11 @@ namespace BMA.EHR.Application.Repositories 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, @@ -2046,7 +2094,7 @@ namespace BMA.EHR.Application.Repositories .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, @@ -2137,9 +2185,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "ชำนาญการ") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ตริตาภรณ์ช้างเผือก").Id + && (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, @@ -2212,9 +2264,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "ชำนาญการ") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ทวีติยาภรณ์มงกุฎไทย").Id + && (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, @@ -2288,9 +2344,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "ชำนาญการ") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id + && (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, @@ -2449,9 +2509,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "ชำนาญการพิเศษ") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id + && (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, @@ -2524,9 +2588,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "ชำนาญการพิเศษ") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id + && (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, @@ -2673,9 +2741,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "เชี่ยวชาญ") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id + && (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, @@ -2749,9 +2821,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "เชี่ยวชาญ") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id + && (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, @@ -2826,9 +2902,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "เชี่ยวชาญ") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id + && (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, @@ -2987,9 +3067,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "ทรงคุณวุฒิ") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id + && (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, @@ -3069,9 +3153,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "ทรงคุณวุฒิ") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("มหาวชิรมงกุฎ").Id + && (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, @@ -3153,9 +3241,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "ทรงคุณวุฒิ") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("มหาปรมาภรณ์ช้างเผือก").Id + && (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, @@ -3320,9 +3412,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "ทรงคุณวุฒิ") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id + && (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, @@ -3402,9 +3498,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "ทรงคุณวุฒิ") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("มหาวชิรมงกุฎ").Id + && (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, @@ -3485,9 +3585,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "ทรงคุณวุฒิ") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("มหาปรมาภรณ์ช้างเผือก").Id + && (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, @@ -3649,9 +3753,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "ต้น") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id + && (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, @@ -3725,9 +3833,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "ต้น") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id + && (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, @@ -3870,9 +3982,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "สูง") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id + && (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, @@ -3947,9 +4063,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "สูง") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id + && (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, @@ -4025,9 +4145,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "สูง") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("มหาวชิรมงกุฎ").Id + && (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, @@ -4186,9 +4310,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "ต้น") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id + && (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, @@ -4263,9 +4391,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "ต้น") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id + && (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, @@ -4340,9 +4472,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "ต้น") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("มหาวชิรมงกุฎ").Id + && (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, @@ -4470,9 +4606,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "สูง") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id + && (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, @@ -4552,9 +4692,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "สูง") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("มหาวชิรมงกุฎ").Id + && (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, @@ -4634,9 +4778,13 @@ namespace BMA.EHR.Application.Repositories && (p.PosLevel.PosLevelName == "สูง") // อาวุโส && p.ProfileInsignia != null && p.ProfileInsignia.Count > 0 - && p.ProfileInsignia.Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id) - .OrderByDescending(x => x.Year) - .FirstOrDefault().InsigniaId.Value != GetInsigniaByName("มหาปรมาภรณ์ช้างเผือก").Id + && (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, diff --git a/BMA.EHR.Application/Repositories/UserProfileRepository.cs b/BMA.EHR.Application/Repositories/UserProfileRepository.cs index ea8bae3a..7a208f54 100644 --- a/BMA.EHR.Application/Repositories/UserProfileRepository.cs +++ b/BMA.EHR.Application/Repositories/UserProfileRepository.cs @@ -450,7 +450,7 @@ namespace BMA.EHR.Application.Repositories { try { - var apiPath = $"{_configuration["API"]}/org/profile/{id}"; + var apiPath = $"{_configuration["API"]}/org/dotnet/profile/{id}"; var apiResult = GetExternalAPIAsync(apiPath, accessToken ?? ""); if (apiResult.Result != null)