public StorageLinkConnectionManager(Func <ISynchronizeInvoke> synchronizer, ChangeableList <IXenConnection> xenConnections, object xenConnectionsLock) { Util.ThrowIfParameterNull(xenConnections, "xenConnections"); Util.ThrowIfParameterNull(xenConnectionsLock, "xenConnectionsLock"); _synchronizer = synchronizer; _xenConnections = xenConnections; _xenConnectionsLock = xenConnectionsLock; _xenConnections.CollectionChanged += XenConnections_CollectionChanged; }
public void LaunchIfRequired(bool nag, ChangeableList <IXenConnection> connections, SelectedItemCollection selectedObjects) { if (selectedObjects != null && selectedObjects.AllItemsAre <IXenObject>(x => x is Pool || x is Host)) { List <IXenObject> itemsSelected = selectedObjects.AsXenObjects <Pool>().ConvertAll(p => p as IXenObject); itemsSelected.AddRange(selectedObjects.AsXenObjects <Host>().Where(h => Helpers.GetPool(h.Connection) == null).ToList().ConvertAll(h => h as IXenObject)); itemsSelected.AddRange(selectedObjects.AsXenObjects <Host>().Where(h => Helpers.GetPool(h.Connection) != null).ToList().ConvertAll(h => Helpers.GetPool(h.Connection)).ConvertAll(p => p as IXenObject).Distinct()); LaunchIfRequired(nag, connections, itemsSelected); } else { LaunchIfRequired(nag, connections); } }
public void TestCloningChangeableList() { foreach (int num1 in list) { Assert.AreEqual(1, num1); list.Add(1); var testList2 = new ChangeableList<int>(list); foreach (int num2 in testList2) { Assert.AreEqual(1, num2); testList2.Add(2); // The lists should be different here (testList2 is cloned) Assert.False(list == testList2); // But the data in it should be still equal. Assert.AreEqual(list.ToText(), testList2.ToText()); break; } break; } }
public void TestCloningChangeableList() { foreach (int num1 in list) { Assert.AreEqual(1, num1); list.Add(1); var testList2 = new ChangeableList <int>(list); foreach (int num2 in testList2) { Assert.AreEqual(1, num2); testList2.Add(2); // The lists should be different here (testList2 is cloned) Assert.False(list == testList2); // But the data in it should be still equal. Assert.AreEqual(list.ToText(), testList2.ToText()); break; } break; } }
public void LaunchIfRequired(bool nag, ChangeableList<IXenConnection> connections) { LaunchIfRequired(nag, connections, Enumerable.Empty<IXenObject>()); }
public void LaunchIfRequired(bool nag, ChangeableList<IXenConnection> connections, SelectedItemCollection selectedObjects) { if (selectedObjects != null && selectedObjects.AllItemsAre<IXenObject>(x => x is Pool || x is Host)) { List<IXenObject> itemsSelected = selectedObjects.AsXenObjects<Pool>().ConvertAll(p => p as IXenObject); itemsSelected.AddRange(selectedObjects.AsXenObjects<Host>().Where(h => Helpers.GetPool(h.Connection) == null).ToList().ConvertAll(h => h as IXenObject)); itemsSelected.AddRange(selectedObjects.AsXenObjects<Host>().Where(h => Helpers.GetPool(h.Connection) != null).ToList().ConvertAll(h => Helpers.GetPool(h.Connection)).ConvertAll(p => p as IXenObject).Distinct()); if(itemsSelected.All(xo => Helpers.ClearwaterOrGreater(xo.Connection)) || itemsSelected.All(xo => !Helpers.ClearwaterOrGreater(xo.Connection))) { LaunchIfRequired(nag, connections, itemsSelected); } else LaunchIfRequired(nag, connections, itemsSelected.Where(xo => Helpers.ClearwaterOrGreater(xo.Connection))); } else LaunchIfRequired(nag, connections); }
public void LaunchIfRequired(bool nag, ChangeableList <IXenConnection> connections) { LaunchIfRequired(nag, connections, Enumerable.Empty <IXenObject>()); }
public void SetUp() { list = new ChangeableList<int> { 1, 3, 5 }; }
public void SetUp() { list = new ChangeableList <int> { 1, 3, 5 }; }