Exemplo n.º 1
0
        /// <summary>
        /// Sorts the SyncActionsCollection so that it can be executed by the database one
        /// query at a time. The speed is O(2n) where n is the number of SyncActions.
        /// </summary>
        public static DataSyncActionsCollection SortSyncActions(DataContext sourceDataContext, DataContext targetDataContext, DataSyncActionsCollection dataSyncActions)
        {
            var actionsCollection = new DataSyncActionsCollection();

            actionsCollection.AddRange(dataSyncActions.OrderBy(p => (int)p.Type));
            return(actionsCollection);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Constructor initializes the instance specific DataSyncManager and sets up all
        /// objects needed to perform CompareForSync() and Sync() methods from the
        /// source server and target connection. The source server may be a custom server
        /// model pulled from a Json file or created on the fly and passed to this DataSyncManager object.
        /// </summary>
        /// <param name="sourceServer">The source Server object.</param>
        /// <param name="targetDataConnectionInfo">target data connection info</param>
        /// <param name="dataProperties">data properties</param>
        protected DataSyncManager(Server sourceServer, DataConnectionInfo targetDataConnectionInfo, DataProperties dataProperties)
        {
            throw new NotImplementedException();
            Exceptions = new List <Exception>();
            DataTimer  = new DataTimer();
            DataSyncActionsCollection = new DataSyncActionsCollection();
            DataProperties            = dataProperties ?? new DataProperties();
            TotalDataEventWaitTime    = new TimeSpan(DateTime.Now.Ticks);
            TotalDataEventWaitTime    = TotalDataEventWaitTime.Subtract(TotalDataEventWaitTime);

            SourceDataConnectionInfo    = null;
            SourceDataConnectionManager = null;
            SourceServer = sourceServer; // Could be null...
            TargetServer = null;

            try
            {
                TargetDataConnectionInfo = targetDataConnectionInfo;
            }
            catch (Exception ex)
            {
                TargetDataConnectionInfo    = null;
                TargetDataConnectionManager = null;
                Exceptions.Add(ex);
            }
        }
Exemplo n.º 3
0
        //�Public�Methods�(13)�

        /// <summary>
        /// Method clears the SyncActions and Exceptions generated during CompareForSync()
        /// or Sync() method calls.
        /// </summary>
        public void Clear()
        {
            try
            {
                DataSyncActionsCollection.Clear();
                Exceptions.Clear();
            }
            catch (Exception exception)
            {
                Exceptions.Add(exception);
            }
        }
Exemplo n.º 4
0
        protected DataSyncManager()
        {
            throw new NotImplementedException();
            Exceptions = new List <Exception>();
            DataTimer  = new DataTimer();

            DataSyncActionsCollection = new DataSyncActionsCollection();
            DataProperties            = new DataProperties();
            TotalDataEventWaitTime    = new TimeSpan(DateTime.Now.Ticks);
            TotalDataEventWaitTime    = TotalDataEventWaitTime.Subtract(TotalDataEventWaitTime);

            SourceDataConnectionInfo    = null;
            SourceDataConnectionManager = null;
            SourceServer = null;

            TargetDataConnectionInfo    = null;
            TargetDataConnectionManager = null;
            TargetServer = null;
        }
Exemplo n.º 5
0
        protected virtual StringCollection ScriptInternal(string delimiter)
        {
            var sourceDataContext = SourceServer.DataContext;
            var targetDataContext = TargetServer.DataContext;

            var stringCollection = new StringCollection();

            foreach (var dataSyncAction in
                     DataSyncActionsCollection.Where(
                         dataSyncAction => dataSyncAction.Process))
            {
                SetIsoState(sourceDataContext, targetDataContext, dataSyncAction, stringCollection);
                stringCollection.Add(dataSyncAction.ScriptAction());
                if (!string.IsNullOrEmpty(delimiter))
                {
                    stringCollection.Add(delimiter);
                }
            }

            RestoreIsoState(sourceDataContext, targetDataContext, stringCollection);
            return(stringCollection);
        }