From ed717af91c96520ab2541ad222fe3ea275ceb3af Mon Sep 17 00:00:00 2001 From: "DESKTOP-GENO133\\IvanPlex" Date: Mon, 12 Feb 2024 19:26:11 -0700 Subject: [PATCH] further optimization. --- Helper/StaticHelper.cs | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/Helper/StaticHelper.cs b/Helper/StaticHelper.cs index f8b1cb7..e49647a 100644 --- a/Helper/StaticHelper.cs +++ b/Helper/StaticHelper.cs @@ -166,13 +166,20 @@ namespace CarCareTracker.Helper public static List AddExtraFields(List recordExtraFields, List templateExtraFields) { - var fieldNames = recordExtraFields.Select(x => x.Name); - foreach(ExtraField field in templateExtraFields) + if (!templateExtraFields.Any()) { + return new List(); + } + if (!recordExtraFields.Any()) { - if (!fieldNames.Contains(field.Name)) - { - recordExtraFields.Add(field); - } + return templateExtraFields; + } + var fieldNames = templateExtraFields.Select(x => x.Name); + //remove fields that are no longer present in template. + recordExtraFields.RemoveAll(x => !fieldNames.Contains(x.Name)); + //append the fields. + foreach(ExtraField extraField in recordExtraFields) + { + extraField.IsRequired = templateExtraFields.Where(x => x.Name == extraField.Name).First().IsRequired; } return recordExtraFields; }