/// <summary> /// Synchronize lead columns, which are corresponded with qualified lead contact. /// </summary> /// <param name="lead">Lead entity.</param> /// <param name="modifiedColumnValues">Lead modified columns.</param> public void SynchronizeContactData(Entity lead, EntityColumnValueCollection modifiedColumnValues) { Guid qualifiedContactId = lead.GetTypedColumnValue <Guid>("QualifiedContactId"); if (qualifiedContactId != Guid.Empty) { List <KeyValuePair <string, object> > newContactValues = GetContactColumnValues(modifiedColumnValues); if (newContactValues.Any()) { UpdateQualifiedContact(qualifiedContactId, newContactValues); } } }
public static bool IsChangeInteresting <Entity>(this Entity entity, string[] InterestingColumns, EntityColumnValueCollection entityColumnValues = null) where Entity : Terrasoft.Core.Entities.Entity { bool result = false; IEnumerable <EntityColumnValue> changedColumns; if (entityColumnValues != null) { changedColumns = entityColumnValues; } else { changedColumns = entity.GetChangedColumnValues(); } foreach (EntityColumnValue column in changedColumns) { if (Array.IndexOf(InterestingColumns, column.Name) > -1) { return(true); } } return(result); }