コード例 #1
0
        /// <summary>
        /// Get OrderChangelog Response and changelogid
        /// </summary>
        /// <param name="datasetId"></param>
        /// <param name="startIndex"></param>
        /// <returns></returns>
        public string OrderChangelog(int datasetId, long startIndex)
        {
            try
            {
                var dataset = SubscriberDatasetManager.GetDataset(datasetId);

                var client = buildClient(dataset);

                var order = new ChangelogOrderType();
                order.datasetId  = dataset.ProviderDatasetId;
                order.count      = dataset.MaxCount.ToString();
                order.startIndex = startIndex.ToString();

                var resp = string.IsNullOrEmpty(dataset.Version)
                    ? client.OrderChangelog(order)
                    : client.OrderChangelog2(order, dataset.Version.Trim());

                if (resp.changelogId == "-1")
                {
                    throw new Exception("Provider reports a datasetVersion that differs from that of the subscriber.\r\nThis may be due to several reasons.\r\nActions needed are emptying the local database, replacing the subscriber dataset with the new version from the provider and finally resynchronizing the dataset.");
                }

                dataset.AbortedChangelogId = resp.changelogId;
                SubscriberDatasetManager.UpdateDataset(dataset);
                return(dataset.AbortedChangelogId);
            }
            catch (Exception ex)
            {
                Logger.Error(ex, "OrderChangelog failed:");
                throw;
            }
        }
コード例 #2
0
        /// <summary>
        /// Get OrderChangelog Response and changelogid
        /// </summary>
        /// <param name="datasetId"></param>
        /// <param name="startIndex"></param>
        /// <returns></returns>
        public string OrderChangelog(int datasetId, long startIndex)
        {
            try
            {
                var dataset = SubscriberDatasetManager.GetDataset(datasetId);

                var client = buildClient(dataset);

                var order = new ChangelogOrderType();
                order.datasetId  = dataset.ProviderDatasetId;
                order.count      = dataset.MaxCount.ToString();
                order.startIndex = startIndex.ToString();

                var resp = client.OrderChangelog(order);

                dataset.AbortedChangelogId = resp.changelogId;
                SubscriberDatasetManager.UpdateDataset(dataset);
                return(dataset.AbortedChangelogId);
            }
            catch (Exception ex)
            {
                Logger.ErrorException("OrderChangelog failed:", ex);
                throw;
            }
        }