Example #1
0
        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));
 }
Example #3
0
 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));
 }