示例#1
0
        private bool HasChanges(SqlReplicationConfigModel local, SqlReplicationConfig remote)
        {
            if (remote == null)
            {
                return(false);
            }

            if (local.RavenEntityName != remote.RavenEntityName)
            {
                return(true);
            }

            if (local.Script != remote.Script)
            {
                return(true);
            }

            if (local.Disabled != remote.Disabled)
            {
                return(true);
            }

            if (local.ConnectionString != remote.ConnectionString)
            {
                return(true);
            }

            if (local.ConnectionStringName != remote.ConnectionStringName)
            {
                return(true);
            }

            if (local.ConnectionStringSettingName != remote.ConnectionStringSettingName)
            {
                return(true);
            }

            if (local.FactoryName != remote.FactoryName)
            {
                return(true);
            }

            return(false);
        }
示例#2
0
        private SqlReplicationConfig UpdateConfig(SqlReplicationConfig config, SqlReplicationConfigModel sqlReplicationConfig)
        {
            if (config == null)
            {
                return(sqlReplicationConfig.ToSqlReplicationConfig());
            }
            config.ConnectionString            = sqlReplicationConfig.ConnectionString;
            config.ConnectionStringName        = sqlReplicationConfig.ConnectionStringName;
            config.ConnectionStringSettingName = sqlReplicationConfig.ConnectionStringSettingName;
            config.Disabled             = sqlReplicationConfig.Disabled;
            config.FactoryName          = sqlReplicationConfig.FactoryName;
            config.Id                   = sqlReplicationConfig.Id;
            config.Name                 = sqlReplicationConfig.Name;
            config.RavenEntityName      = sqlReplicationConfig.RavenEntityName;
            config.Script               = sqlReplicationConfig.Script;
            config.SqlReplicationTables = new List <SqlReplicationTable>(sqlReplicationConfig.SqlReplicationTables);

            return(config);
        }
示例#3
0
        public override void LoadFor(DatabaseDocument database)
        {
            ApplicationModel.Current.Server.Value.DocumentStore.OpenAsyncSession(database.Id)
            .Advanced.LoadStartingWithAsync <SqlReplicationConfig>("Raven/SqlReplication/Configuration/")
            .ContinueOnSuccessInTheUIThread(documents =>
            {
                if (documents == null)
                {
                    return;
                }

                SqlReplicationConfigs = new ObservableCollection <SqlReplicationConfigModel>();
                foreach (var doc in documents)
                {
                    SqlReplicationConfigs.Add(SqlReplicationConfigModel.FromSqlReplicationConfig(doc));
                }
                if (SqlReplicationConfigs.Any())
                {
                    SelectedReplication.Value = SqlReplicationConfigs.FirstOrDefault();
                }
            });
        }