Changed tag validation

This commit is contained in:
ashutosh.nehete 2025-05-19 13:18:32 +05:30
parent d136e8b95e
commit ad659c4fc9

View File

@ -411,7 +411,8 @@ namespace Marco.Pms.Services.Helpers
var projectIds = contactProjects.Select(t => t.ProjectId).Distinct().ToList(); var projectIds = contactProjects.Select(t => t.ProjectId).Distinct().ToList();
List<ContactTagMaster> tags = await _context.ContactTagMasters.Where(t => tagIds.Contains(t.Id)).ToListAsync(); List<ContactTagMaster> tags = await _context.ContactTagMasters.Where(t => tagIds.Contains(t.Id)).ToListAsync();
var tagNames = tags.Select(t => t.Name.ToLower()).ToList(); List<ContactTagMaster> allTags = await _context.ContactTagMasters.Where(t => t.TenantId == tenantId).ToListAsync();
var tagNames = allTags.Select(t => t.Name.ToLower()).ToList();
if (updateContact.ContactPhones != null) if (updateContact.ContactPhones != null)
{ {
@ -531,7 +532,10 @@ namespace Marco.Pms.Services.Helpers
var updatedTagIds = updateContact.Tags.Select(t => t.Id).Distinct().ToList(); var updatedTagIds = updateContact.Tags.Select(t => t.Id).Distinct().ToList();
foreach (var tag in updateContact.Tags) 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(); ContactTagMaster existingTag = tags.Find(t => t.Name == tag.Name) ?? new ContactTagMaster();
_context.ContactTagMappings.Add(new ContactTagMapping _context.ContactTagMappings.Add(new ContactTagMapping
@ -559,7 +563,7 @@ namespace Marco.Pms.Services.Helpers
} }
foreach (var contactTag in contactTags) foreach (var contactTag in contactTags)
{ {
if (!updatedTagIds.Contains(contactTag.Id)) if (!updatedTagIds.Contains(contactTag.ContactTagId))
{ {
_context.ContactTagMappings.Remove(contactTag); _context.ContactTagMappings.Remove(contactTag);
} }