Exemple #1
0
        public PersistedBandDefinition RemoveBand(Band band)
        {
            base.CheckDisposed();
            AnchorXmlSerializableObject <PersistedBandDefinition> bandPersistedMessage = this.GetBandPersistedMessage(band);

            this.anchorDataProvider.RemoveMessage(bandPersistedMessage.StoreObjectId);
            return(bandPersistedMessage.PersistedObject);
        }
Exemple #2
0
        public PersistedBandDefinition DisableBand(Band band)
        {
            base.CheckDisposed();
            AnchorXmlSerializableObject <PersistedBandDefinition> bandPersistedMessage = this.GetBandPersistedMessage(band);

            bandPersistedMessage.PersistedObject.IsEnabled = false;
            this.UpdatePersistedObject(bandPersistedMessage);
            return(bandPersistedMessage.PersistedObject);
        }
Exemple #3
0
 private void UpdatePersistedObject(AnchorXmlSerializableObject <PersistedBandDefinition> persisted)
 {
     using (IAnchorStoreObject anchorStoreObject = persisted.FindStoreObject(this.anchorDataProvider))
     {
         anchorStoreObject.OpenAsReadWrite();
         persisted.WriteToMessageItem(anchorStoreObject, true);
         anchorStoreObject.Save(SaveMode.NoConflictResolution);
     }
 }
Exemple #4
0
        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);
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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;
        }