protected void PersistUsingAssignRequest(int pageNo, List <EntityWrapper> entities, IEntityRepository repo) { if (entities != null && entities.Any()) { repo.ThrowArgumentNullExceptionIfNull(nameof(repo)); repo.AssignEntities(entities); Logger.LogVerbose($"DataCrmStoreWriter PersistUsingAssignRequest pageNo {pageNo}, count:{entities.Count}"); foreach (var itemSaved in entities) { Entity entity = itemSaved.OriginalEntity; if (itemSaved.OperationType == OperationType.Failed) { string message = $"Assign Entity Issue {entity.LogicalName}:{entity.Id} - {itemSaved.OperationResult}"; Logger.LogWarning("DataCrmStoreWriter PersistUsingAssignRequest : " + message); } else { string message = $"Assign Entity OK {entity.LogicalName}:{entity.Id} - {itemSaved.OperationResult}"; Logger.LogVerbose("DataCrmStoreWriter PersistUsingAssignRequest : " + message); } if (entity.Attributes.ContainsKey(EntityFields.OwnerId)) { entity.Attributes.Remove(EntityFields.OwnerId); if (!entity.Attributes.Any()) { itemSaved.OperationType = OperationType.Ignore; Logger.LogVerbose($"PersistUsingAssignRequest Entity {entity.LogicalName}:{entity.Id} set to ignored because no other attributes detected"); } } } } }