public PersistedBandDefinition RemoveBand(Band band) { base.CheckDisposed(); AnchorXmlSerializableObject <PersistedBandDefinition> bandPersistedMessage = this.GetBandPersistedMessage(band); this.anchorDataProvider.RemoveMessage(bandPersistedMessage.StoreObjectId); return(bandPersistedMessage.PersistedObject); }
public PersistedBandDefinition DisableBand(Band band) { base.CheckDisposed(); AnchorXmlSerializableObject <PersistedBandDefinition> bandPersistedMessage = this.GetBandPersistedMessage(band); bandPersistedMessage.PersistedObject.IsEnabled = false; this.UpdatePersistedObject(bandPersistedMessage); return(bandPersistedMessage.PersistedObject); }
private void UpdatePersistedObject(AnchorXmlSerializableObject <PersistedBandDefinition> persisted) { using (IAnchorStoreObject anchorStoreObject = persisted.FindStoreObject(this.anchorDataProvider)) { anchorStoreObject.OpenAsReadWrite(); persisted.WriteToMessageItem(anchorStoreObject, true); anchorStoreObject.Save(SaveMode.NoConflictResolution); } }
private AnchorXmlSerializableObject <PersistedBandDefinition> GetBandPersistedMessage(Band band) { AnchorXmlSerializableObject <PersistedBandDefinition> anchorXmlSerializableObject = this.GetBandDefinitionXmlSerializable().FirstOrDefault((AnchorXmlSerializableObject <PersistedBandDefinition> persisted) => persisted.PersistedObject.Matches(band)); if (anchorXmlSerializableObject == null) { throw new BandDefinitionNotFoundException(band.ToString()); } return(anchorXmlSerializableObject); }
public PersistedBandDefinition EnableBand(Band band) { base.CheckDisposed(); AnchorXmlSerializableObject <PersistedBandDefinition> bandPersistedMessage = this.GetBandPersistedMessage(band); this.CheckNewBandDoesntConflict(bandPersistedMessage.PersistedObject, from pb in this.GetPersistedBands() where pb.IsEnabled select pb); bandPersistedMessage.PersistedObject.IsEnabled = true; this.UpdatePersistedObject(bandPersistedMessage); return(bandPersistedMessage.PersistedObject); }
private IEnumerable <AnchorXmlSerializableObject <PersistedBandDefinition> > GetBandDefinitionXmlSerializable() { QueryFilter messageType = new ComparisonFilter(ComparisonOperator.Equal, InternalSchema.ItemClass, AnchorXmlSerializableObject <PersistedBandDefinition> .GetItemClass()); IEnumerable <StoreObjectId> bandDefinitionMessageIds = this.anchorDataProvider.FindMessageIds(messageType, BandSettingsStorage.ItemClassPropertyDefinitions, BandSettingsStorage.SortByItemClassAscending, new AnchorRowSelector(AnchorXmlSerializableObject <PersistedBandDefinition> .SelectByItemClassAndStopProcessing), null); foreach (StoreObjectId bandDefinitionMessageId in bandDefinitionMessageIds) { AnchorXmlSerializableObject <PersistedBandDefinition> xmlSerializable = new AnchorXmlSerializableObject <PersistedBandDefinition>(this.loadBalanceAnchorContext); if (!xmlSerializable.TryLoad(this.anchorDataProvider, bandDefinitionMessageId)) { this.logger.LogWarning("Could not load band definition from message {0}.", new object[] { bandDefinitionMessageId.ToBase64String() }); } else { yield return(xmlSerializable); } } yield break; }