예제 #1
0
 public object LoadChangeData(LoadChangeContext loadChangeContext)
 {
     if (cachedData.ContainsKey(loadChangeContext.ItemChange.ItemId))
     {
         return(cachedData[loadChangeContext.ItemChange.ItemId]);
     }
     //else if (_changeDataRetriever != null)
     //{
     //    return _changeDataRetriever.LoadChangeData(loadChangeContext);
     //}
     throw new SyncException("未找到变更项信息!");
 }
예제 #2
0
        public object LoadChangeData(LoadChangeContext loadChangeContext)
        {
            object       retVal = null;
            ItemMetadata item   = _metaData.FindItemMetadataById(loadChangeContext.ItemChange.ItemId);

            if (item != null)
            {
                //return a copy of the data.
                retVal = ConvertToTransferData(GetDataItem(item));
            }

            return(retVal);
        }
예제 #3
0
        /// <summary>
        /// READ
        /// </summary>
        public object LoadChangeData(LoadChangeContext loadChangeContext)
        {
            var item = _metadataStore.FindItemMetadataBySyncId(loadChangeContext.ItemChange.ItemId);

            try
            {
                return(_nodeStore.GetFileRetriever(item.Path, item.Id));
            }
            catch (MegaApiException e)
            {
                OnDemandedResync();
                loadChangeContext.RecordRecoverableErrorForItem(new RecoverableErrorData(e));
            }
            catch (IOException e)
            {
                OnDemandedResync();
                loadChangeContext.RecordRecoverableErrorForItem(new RecoverableErrorData(e));
            }
            return(null);
        }
예제 #4
0
        public object LoadChangeData(LoadChangeContext loadChangeContext)
        {
            try
            {
                ItemMetadata item;

                // Retrieve metadata for the changed item
                loadChangeContext.ItemChange.WorkEstimate = 1;

                item = _metadata.FindItemMetadataById(loadChangeContext.ItemChange.ItemId);
                return(_syncContext.GetItem(loadChangeContext.ItemChange.ItemId.GetGuidId(), CompanyId, StoreId));
            }
            catch (Exception ex)
            {
                ILog logger = LogManager.GetLogger(Assembly.GetExecutingAssembly().GetName().Name);
                //Do log
                logger.Error(ex.Message, ex);
                throw ex;
            }
        }
예제 #5
0
        public object LoadChangeData(LoadChangeContext loadChangeContext)
        {
            ItemMetadata item;

            // Retrieve metadata for the changed item
            if (metadataStore.TryGetItem(loadChangeContext.ItemChange.ItemId, out item))
            {
                // Make sure this isn't a delete
                if (item.IsTombstone)
                {
                    throw new InvalidOperationException("Cannot load change data for a deleted item.");
                }

                // Open the stream for the file we are transferring
                Stream dataStream = new FileStream(Path.Combine(FolderPath, item.Uri), FileMode.Open, FileAccess.Read, FileShare.Read);
                // Create an instance of our type for transferring change data
                TransferMechanism transferMechanism = new TransferMechanism(dataStream, item.Uri);

                // Return our data transfer object
                return(transferMechanism);
            }

            return(null);
        }
예제 #6
0
 public object LoadChangeData(LoadChangeContext loadChangeContext)
 {
     return(cachedData[loadChangeContext.ItemChange.ItemId]);
 }
예제 #7
0
 public abstract object LoadChangeData(LoadChangeContext loadChangeContext);
예제 #8
0
 //This is where we load data to provide to the other endpoint...
 public object LoadChangeData(LoadChangeContext loadChangeContext)
 {
     //return a copy of the data.
     return(new ItemData(_store.Get(loadChangeContext.ItemChange.ItemId.GetGuidId())));
 }
예제 #9
0
 public object LoadChangeData(LoadChangeContext loadChangeContext)
 {
     return _cachedData[loadChangeContext.ItemChange.ItemId];
 }
예제 #10
0
 public object LoadChangeData(LoadChangeContext loadChangeContext)
 {
     // anyone know how to implement ???
     throw new NotImplementedException();
 }
예제 #11
0
 public object LoadChangeData(LoadChangeContext loadChangeContext)
 {
     throw new NotImplementedException();
 }
예제 #12
0
 public object LoadChangeData(LoadChangeContext loadChangeContext)
 {
     return(null);
 }
예제 #13
0
 public object LoadChangeData(LoadChangeContext loadChangeContext)
 {
     return(_sync.LoadChangeData(loadChangeContext));
 }
예제 #14
0
 /// <summary>
 /// READ
 /// </summary>
 public object LoadChangeData(LoadChangeContext loadChangeContext)
 {
     var item = _metadataStore.FindItemMetadataBySyncId(loadChangeContext.ItemChange.ItemId);
     try
     {
         return _nodeStore.GetFileRetriever(item.Path, item.Id);
     }
     catch (MegaApiException e)
     {
         OnDemandedResync();
         loadChangeContext.RecordRecoverableErrorForItem(new RecoverableErrorData(e));
     }
     catch (IOException e)
     {
         OnDemandedResync();
         loadChangeContext.RecordRecoverableErrorForItem(new RecoverableErrorData(e));
     }
     return null;
 }
예제 #15
0
 //This is where we load data to provide to the other endpoint...
 public object LoadChangeData(LoadChangeContext loadChangeContext)
 {
     //return a copy of the data.
     return new ItemData(_store.Get(loadChangeContext.ItemChange.ItemId.GetGuidId()));
 }
예제 #16
0
 public object LoadChangeData(LoadChangeContext loadChangeContext)
 {
   // anyone know how to implement ???
   throw new NotImplementedException();
 }