diff --git a/Marco.Pms.Services/Helpers/DirectoryHelper.cs b/Marco.Pms.Services/Helpers/DirectoryHelper.cs index 5920cbd..ee4751e 100644 --- a/Marco.Pms.Services/Helpers/DirectoryHelper.cs +++ b/Marco.Pms.Services/Helpers/DirectoryHelper.cs @@ -411,7 +411,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) { @@ -531,7 +532,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 @@ -559,7 +563,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); }