Пример #1
0
        internal void MarkPendingChanges(RavenStoreEditModel compareTo)
        {
            if (compareTo == null)
            {
                this.PendingChange = PendingChangeType.Added;
            }
            else
            {
                foreach (var server in this.Servers)
                {
                    server.MarkPendingChanges(
                        compareTo.Servers.SelectByName(server.Name));
                }

                foreach (var server in compareTo.Servers)
                {
                    if (this.Servers.SelectByName(server.Name) == null)
                    {
                        server.PendingChange = PendingChangeType.Deleted;
                        this.Servers.Add(server);
                    }
                }
            }
        }
Пример #2
0
        private RavenStoreEditModel GetOrAddStore(string storeName)
        {
            var store = this.Stores.SelectByName(storeName);
            if (store == null)
            {
                store = new RavenStoreEditModel { Name = storeName };
                this.Stores.Add(store);
            }

            foreach (var serverName in this.GetAllServerNames())
            {
                var server = this.GetOrAddServer(store, serverName);
            }

            store.Servers = store.Servers.OrderByName();
            return store;
        }
Пример #3
0
        private RavenServerEditModel GetOrAddServer(RavenStoreEditModel store, string serverName)
        {
            var server = store.Servers.SelectByName(serverName);
            if (server == null)
            {
                server = new RavenServerEditModel { Name = serverName };
                store.Servers.Add(server);
            }

            this.EnsureAllReplicationDestinationsExist(server);

            return server;
        }