public SynchronizationApplicationData Sync(ApplicationMetadata appMetadata, SynchronizationRequestDto.ApplicationSyncData applicationSyncData, SyncedItemHandlerDelegate syncItemHandlerDelegate) { var entityMetadata = MetadataProvider.SlicedEntityMetadata(appMetadata); var rowstamps = new Rowstamps(applicationSyncData.LowerLimitRowstamp, applicationSyncData.UpperLimitRowstamp); // var deletedRecordsId = DeletedRecordsId(rowstamps, entityMetadata); IList <DataMap> dataMaps = new List <DataMap>(); var rowStamps = new SortedSet <long>(); var enumerable = EntityRepository.GetSynchronizationData(entityMetadata, rowstamps); if (!enumerable.Any()) { return(SynchronizationApplicationData.NoRecords(appMetadata)); } var ids = new HashSet <object>(); // IDictionary<object, DataMap> entitiesDictionary = new Dictionary<object, DataMap>(); foreach (var row in enumerable) { var dataMap = DataMap.Populate(appMetadata, row); dataMaps.Add(dataMap); if (dataMap.Approwstamp != null) { rowStamps.Add((long)dataMap.Approwstamp); } var id = dataMap.Fields[appMetadata.IdFieldName]; ids.Add(id); var result = new KeyValuePair <object, DataMap>(id, dataMap); if (syncItemHandlerDelegate != null) { syncItemHandlerDelegate(result, appMetadata); } // entitiesDictionary.Add(result); } //not yet implemented // HandleRelationships(appMetadata, entitiesDictionary); var resultingRowstamps = new Rowstamps(rowStamps.First().ToString(CultureInfo.InvariantCulture), rowStamps.Last().ToString(CultureInfo.InvariantCulture)); var synchronizationData = new SynchronizationApplicationData(appMetadata, dataMaps, entityMetadata.ListAssociations(), resultingRowstamps); // synchronizationData.DeletedRecordIds = deletedRecordsId; return(synchronizationData); }
public SynchronizationApplicationData Sync(ApplicationMetadata appMetadata, SynchronizationRequestDto.ApplicationSyncData applicationSyncData, SyncItemHandler.SyncedItemHandlerDelegate syncItemHandlerDelegate = null) { return(_syncHandler.Sync(appMetadata, applicationSyncData, syncItemHandlerDelegate)); }
public override SynchronizationApplicationData Sync(ApplicationMetadata applicationMetadata, SynchronizationRequestDto.ApplicationSyncData applicationSyncData) { return(MaximoConnectorEngine.Sync(applicationMetadata, applicationSyncData, AttachmentSyncDelegate)); }
public virtual SynchronizationApplicationData Sync(ApplicationMetadata applicationMetadata, SynchronizationRequestDto.ApplicationSyncData applicationSyncData) { return(_maximoConnectorEngine.Sync(applicationMetadata, applicationSyncData)); }