From 7fd3c7b0b3bc7f447f946545fac58ef8f1f15579 Mon Sep 17 00:00:00 2001 From: "ashutosh.nehete" Date: Mon, 19 May 2025 13:18:32 +0530 Subject: [PATCH] Changed tag validation --- Marco.Pms.Services/Helpers/DirectoryHelper.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Marco.Pms.Services/Helpers/DirectoryHelper.cs b/Marco.Pms.Services/Helpers/DirectoryHelper.cs index 0bf4b39..00dc520 100644 --- a/Marco.Pms.Services/Helpers/DirectoryHelper.cs +++ b/Marco.Pms.Services/Helpers/DirectoryHelper.cs @@ -1750,7 +1750,8 @@ namespace Marco.Pms.Services.Helpers var projectIds = contactProjects.Select(t => t.ProjectId).Distinct().ToList(); List tags = await _context.ContactTagMasters.Where(t => tagIds.Contains(t.Id)).ToListAsync(); - var tagNames = tags.Select(t => t.Name.ToLower()).ToList(); + List allTags = await _context.ContactTagMasters.Where(t => t.TenantId == tenantId).ToListAsync(); + var tagNames = allTags.Select(t => t.Name.ToLower()).ToList(); if (updateContact.ContactPhones != null) { @@ -1870,7 +1871,10 @@ namespace Marco.Pms.Services.Helpers var updatedTagIds = updateContact.Tags.Select(t => t.Id).Distinct().ToList(); foreach (var tag in updateContact.Tags) { - if (tagNames.Contains(tag.Name.ToLower())) + var namecheck = tagNames.Contains(tag.Name.ToLower()); + var idCheck = (!tagIds.Contains(tag.Id ?? Guid.Empty)); + var test = namecheck && idCheck; + if (test) { ContactTagMaster existingTag = tags.Find(t => t.Name == tag.Name) ?? new ContactTagMaster(); _context.ContactTagMappings.Add(new ContactTagMapping @@ -1898,7 +1902,7 @@ namespace Marco.Pms.Services.Helpers } foreach (var contactTag in contactTags) { - if (!updatedTagIds.Contains(contactTag.Id)) + if (!updatedTagIds.Contains(contactTag.ContactTagId)) { _context.ContactTagMappings.Remove(contactTag); }