Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Configuration / ProfileGroupSettingsCollection.cs / 1305376 / ProfileGroupSettingsCollection.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.Configuration {
using System;
using System.Xml;
using System.Configuration;
using System.Collections.Specialized;
using System.Collections;
using System.IO;
using System.Text;
using System.Web.Util;
using System.Security.Permissions;
[ConfigurationCollection(typeof(ProfileGroupSettings), AddItemName = "group")]
public sealed class ProfileGroupSettingsCollection : ConfigurationElementCollection {
private static ConfigurationPropertyCollection _properties;
private bool bModified = false;
static ProfileGroupSettingsCollection() {
_properties = new ConfigurationPropertyCollection();
}
public ProfileGroupSettingsCollection() {
AddElementName = "group";
ClearElementName = String.Empty; // This collection does not support Clear tags
EmitClear = false;
}
protected override ConfigurationPropertyCollection Properties {
get {
return _properties;
}
}
// public properties
public String[] AllKeys {
get {
return StringUtil.ObjectArrayToStringArray(BaseGetAllKeys());
}
}
public new ProfileGroupSettings this[string name] {
get {
return (ProfileGroupSettings)BaseGet(name);
}
}
public ProfileGroupSettings this[int index] {
get {
return (ProfileGroupSettings)BaseGet(index);
}
set {
if (BaseGet(index) != null) {
BaseRemoveAt(index);
}
BaseAdd(index, value);
}
}
internal void AddOrReplace(ProfileGroupSettings groupSettings) {
BaseAdd(groupSettings, false);
}
// Protected Overrides
protected override ConfigurationElement CreateNewElement() {
return new ProfileGroupSettings();
}
protected override Object GetElementKey(ConfigurationElement element) {
return ((ProfileGroupSettings)element).Name;
}
// Internal access to ConfigurationElement methods
internal bool InternalIsModified() {
return IsModified();
}
internal void InternalResetModified() {
ResetModified();
}
internal void InternalReset(ConfigurationElement parentElement) {
Reset(parentElement);
}
internal void InternalUnMerge(ConfigurationElement sourceElement, ConfigurationElement parentElement,
ConfigurationSaveMode saveMode) {
// This requires a special unmerge because it should not act like an element in a collection
// which is the default behavior
Unmerge(sourceElement, parentElement, saveMode); // Base merge to get locks merged
BaseClear(); // don't use the merged data however
ProfileGroupSettingsCollection source = sourceElement as ProfileGroupSettingsCollection;
ProfileGroupSettingsCollection parent = parentElement as ProfileGroupSettingsCollection;
// foreach group in the source we should unmerge the individual settings.
foreach (ProfileGroupSettings settings in source) {
ProfileGroupSettings settingsFromParent = parent.Get(settings.Name);
ProfileGroupSettings deltaSettings = new ProfileGroupSettings();
deltaSettings.InternalUnmerge(settings, settingsFromParent, saveMode);
BaseAdd(deltaSettings);
}
}
internal bool InternalSerialize(XmlWriter writer, bool serializeCollectionKey) {
if (EmitClear == true) {
throw new ConfigurationErrorsException(SR.GetString(SR.Clear_not_valid));
}
return SerializeElement(writer, serializeCollectionKey);
}
// public methods
public void Add(ProfileGroupSettings group) {
BaseAdd(group);
}
public ProfileGroupSettings Get(int index) {
return (ProfileGroupSettings)BaseGet(index);
}
public ProfileGroupSettings Get(string name) {
return (ProfileGroupSettings)BaseGet(name);
}
public String GetKey(int index) {
return (String) BaseGetKey(index);
}
public void Set(ProfileGroupSettings group) {
BaseAdd(group, false);
}
public int IndexOf(ProfileGroupSettings group) {
return BaseIndexOf(group);
}
public void Remove(string name) {
ConfigurationElement elem = BaseGet(name);
if (elem != null) {
ElementInformation elemInfo = elem.ElementInformation;
if (elemInfo.IsPresent) {
BaseRemove(name);
}
else {
throw new ConfigurationErrorsException(SR.GetString(SR.Config_base_cannot_remove_inherited_items));
}
}
}
public void RemoveAt(int index) {
ConfigurationElement elem = BaseGet(index);
if (elem != null) {
ElementInformation elemInfo = elem.ElementInformation;
if (elemInfo.IsPresent) {
BaseRemoveAt(index);
}
else {
throw new ConfigurationErrorsException(SR.GetString(SR.Config_base_cannot_remove_inherited_items));
}
}
}
public void Clear() {
int index = Count-1;
bModified = true;
for (int i = index; i >= 0; i--) {
ConfigurationElement elem = BaseGet(i);
if (elem != null) {
ElementInformation elemInfo = elem.ElementInformation;
if (elemInfo.IsPresent) {
BaseRemoveAt(i);
}
}
}
}
protected override void ResetModified() {
bModified = false;
base.ResetModified();
}
protected override bool IsModified() {
if (bModified == true) {
return true;
}
return base.IsModified();
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.Configuration {
using System;
using System.Xml;
using System.Configuration;
using System.Collections.Specialized;
using System.Collections;
using System.IO;
using System.Text;
using System.Web.Util;
using System.Security.Permissions;
[ConfigurationCollection(typeof(ProfileGroupSettings), AddItemName = "group")]
public sealed class ProfileGroupSettingsCollection : ConfigurationElementCollection {
private static ConfigurationPropertyCollection _properties;
private bool bModified = false;
static ProfileGroupSettingsCollection() {
_properties = new ConfigurationPropertyCollection();
}
public ProfileGroupSettingsCollection() {
AddElementName = "group";
ClearElementName = String.Empty; // This collection does not support Clear tags
EmitClear = false;
}
protected override ConfigurationPropertyCollection Properties {
get {
return _properties;
}
}
// public properties
public String[] AllKeys {
get {
return StringUtil.ObjectArrayToStringArray(BaseGetAllKeys());
}
}
public new ProfileGroupSettings this[string name] {
get {
return (ProfileGroupSettings)BaseGet(name);
}
}
public ProfileGroupSettings this[int index] {
get {
return (ProfileGroupSettings)BaseGet(index);
}
set {
if (BaseGet(index) != null) {
BaseRemoveAt(index);
}
BaseAdd(index, value);
}
}
internal void AddOrReplace(ProfileGroupSettings groupSettings) {
BaseAdd(groupSettings, false);
}
// Protected Overrides
protected override ConfigurationElement CreateNewElement() {
return new ProfileGroupSettings();
}
protected override Object GetElementKey(ConfigurationElement element) {
return ((ProfileGroupSettings)element).Name;
}
// Internal access to ConfigurationElement methods
internal bool InternalIsModified() {
return IsModified();
}
internal void InternalResetModified() {
ResetModified();
}
internal void InternalReset(ConfigurationElement parentElement) {
Reset(parentElement);
}
internal void InternalUnMerge(ConfigurationElement sourceElement, ConfigurationElement parentElement,
ConfigurationSaveMode saveMode) {
// This requires a special unmerge because it should not act like an element in a collection
// which is the default behavior
Unmerge(sourceElement, parentElement, saveMode); // Base merge to get locks merged
BaseClear(); // don't use the merged data however
ProfileGroupSettingsCollection source = sourceElement as ProfileGroupSettingsCollection;
ProfileGroupSettingsCollection parent = parentElement as ProfileGroupSettingsCollection;
// foreach group in the source we should unmerge the individual settings.
foreach (ProfileGroupSettings settings in source) {
ProfileGroupSettings settingsFromParent = parent.Get(settings.Name);
ProfileGroupSettings deltaSettings = new ProfileGroupSettings();
deltaSettings.InternalUnmerge(settings, settingsFromParent, saveMode);
BaseAdd(deltaSettings);
}
}
internal bool InternalSerialize(XmlWriter writer, bool serializeCollectionKey) {
if (EmitClear == true) {
throw new ConfigurationErrorsException(SR.GetString(SR.Clear_not_valid));
}
return SerializeElement(writer, serializeCollectionKey);
}
// public methods
public void Add(ProfileGroupSettings group) {
BaseAdd(group);
}
public ProfileGroupSettings Get(int index) {
return (ProfileGroupSettings)BaseGet(index);
}
public ProfileGroupSettings Get(string name) {
return (ProfileGroupSettings)BaseGet(name);
}
public String GetKey(int index) {
return (String) BaseGetKey(index);
}
public void Set(ProfileGroupSettings group) {
BaseAdd(group, false);
}
public int IndexOf(ProfileGroupSettings group) {
return BaseIndexOf(group);
}
public void Remove(string name) {
ConfigurationElement elem = BaseGet(name);
if (elem != null) {
ElementInformation elemInfo = elem.ElementInformation;
if (elemInfo.IsPresent) {
BaseRemove(name);
}
else {
throw new ConfigurationErrorsException(SR.GetString(SR.Config_base_cannot_remove_inherited_items));
}
}
}
public void RemoveAt(int index) {
ConfigurationElement elem = BaseGet(index);
if (elem != null) {
ElementInformation elemInfo = elem.ElementInformation;
if (elemInfo.IsPresent) {
BaseRemoveAt(index);
}
else {
throw new ConfigurationErrorsException(SR.GetString(SR.Config_base_cannot_remove_inherited_items));
}
}
}
public void Clear() {
int index = Count-1;
bModified = true;
for (int i = index; i >= 0; i--) {
ConfigurationElement elem = BaseGet(i);
if (elem != null) {
ElementInformation elemInfo = elem.ElementInformation;
if (elemInfo.IsPresent) {
BaseRemoveAt(i);
}
}
}
}
protected override void ResetModified() {
bModified = false;
base.ResetModified();
}
protected override bool IsModified() {
if (bModified == true) {
return true;
}
return base.IsModified();
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SqlXmlStorage.cs
- ToolZone.cs
- QueryOutputWriter.cs
- ConfigUtil.cs
- DataBoundControl.cs
- PropertyValueUIItem.cs
- TextShapeableCharacters.cs
- PageAsyncTask.cs
- FixedSOMLineCollection.cs
- HttpSysSettings.cs
- BinaryConverter.cs
- Calendar.cs
- TypeNameConverter.cs
- ContextConfiguration.cs
- TypefaceMetricsCache.cs
- _OSSOCK.cs
- TransformerConfigurationWizardBase.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- CachedPathData.cs
- BounceEase.cs
- BorderGapMaskConverter.cs
- CustomCategoryAttribute.cs
- StringSorter.cs
- Axis.cs
- IncrementalReadDecoders.cs
- HostingEnvironment.cs
- FilteredDataSetHelper.cs
- XmlWhitespace.cs
- ViewManager.cs
- SqlDataSourceCache.cs
- documentsequencetextview.cs
- CaseInsensitiveHashCodeProvider.cs
- SmiContextFactory.cs
- AdministrationHelpers.cs
- Localizer.cs
- XmlSchema.cs
- WSSecurityPolicy.cs
- EnumUnknown.cs
- FormatVersion.cs
- CompositionTarget.cs
- DataGrid.cs
- EventMappingSettingsCollection.cs
- GeneralTransform3D.cs
- XmlTextEncoder.cs
- StrokeNodeData.cs
- ConnectionPoint.cs
- BlurBitmapEffect.cs
- SoapExtensionImporter.cs
- _FixedSizeReader.cs
- SystemColors.cs
- ReaderContextStackData.cs
- MILUtilities.cs
- Crc32.cs
- ArrayConverter.cs
- StrokeCollection2.cs
- SecurityUtils.cs
- EncoderParameter.cs
- ReadOnlyDataSourceView.cs
- SelfSignedCertificate.cs
- ProviderConnectionPointCollection.cs
- TypeListConverter.cs
- BrowserCapabilitiesFactoryBase.cs
- SvcMapFile.cs
- FixedSOMPageElement.cs
- ExceptionRoutedEventArgs.cs
- ClipboardProcessor.cs
- Collection.cs
- IpcClientChannel.cs
- Knowncolors.cs
- CacheMemory.cs
- FileInfo.cs
- PrimaryKeyTypeConverter.cs
- WebPartZoneBase.cs
- MaskedTextBoxTextEditorDropDown.cs
- UnknownBitmapEncoder.cs
- DependencyPropertyHelper.cs
- Stack.cs
- WmlSelectionListAdapter.cs
- UserInitiatedNavigationPermission.cs
- BufferedStream.cs
- Knowncolors.cs
- UTF32Encoding.cs
- DLinqTableProvider.cs
- CredentialCache.cs
- HttpStaticObjectsCollectionWrapper.cs
- EndPoint.cs
- ADConnectionHelper.cs
- WebPartsSection.cs
- GeometryHitTestParameters.cs
- LabelLiteral.cs
- hresults.cs
- Context.cs
- Positioning.cs
- TreeNodeBindingCollection.cs
- DispatcherExceptionFilterEventArgs.cs
- DiagnosticsConfiguration.cs
- SerialPinChanges.cs
- DbgUtil.cs
- BinaryMethodMessage.cs
- MailSettingsSection.cs