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); } } } }
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; }
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; }