Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / xsp / System / Web / UI / WebParts / PersonalizationStateQuery.cs / 1 / PersonalizationStateQuery.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls.WebParts {
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Security.Permissions;
using System.Web.Util;
[Serializable]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class PersonalizationStateQuery {
private static readonly Dictionary _knownPropertyTypeMappings;
private HybridDictionary _data;
static PersonalizationStateQuery() {
_knownPropertyTypeMappings = new Dictionary(StringComparer.OrdinalIgnoreCase);
_knownPropertyTypeMappings["PathToMatch"] = typeof(string);
_knownPropertyTypeMappings["UserInactiveSinceDate"] = typeof(DateTime);
_knownPropertyTypeMappings["UsernameToMatch"] = typeof(string);
}
public PersonalizationStateQuery() {
_data = new HybridDictionary(true);
// VSWhidbey 357097: UserInactiveSinceDate needs to have a default value returned for the indexer property
_data["UserInactiveSinceDate"] = PersonalizationAdministration.DefaultInactiveSinceDate;
}
public string PathToMatch {
get {
return (string) this["PathToMatch"];
}
set {
if (value != null) {
value = value.Trim();
}
_data["PathToMatch"] = value;
}
}
public DateTime UserInactiveSinceDate {
get {
object o = this["UserInactiveSinceDate"];
Debug.Assert(o != null, "Should always have a default value!");
return (DateTime) o;
}
set {
_data["UserInactiveSinceDate"] = value;
}
}
public string UsernameToMatch {
get {
return (string) this["UsernameToMatch"];
}
set {
if (value != null) {
value = value.Trim();
}
_data["UsernameToMatch"] = value;
}
}
public object this[string queryKey] {
get {
queryKey = StringUtil.CheckAndTrimString(queryKey, "queryKey");
return _data[queryKey];
}
set {
queryKey = StringUtil.CheckAndTrimString(queryKey, "queryKey");
// VSWhidbey 436311: We need to check the value types for known properties
if (_knownPropertyTypeMappings.ContainsKey(queryKey)) {
Type valueType = _knownPropertyTypeMappings[queryKey];
Debug.Assert(valueType != null);
if ((value == null && valueType.IsValueType) ||
(value != null && !valueType.IsAssignableFrom(value.GetType()))) {
throw new ArgumentException(
SR.GetString(SR.PersonalizationStateQuery_IncorrectValueType,
queryKey, valueType.FullName));
}
}
_data[queryKey] = value;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls.WebParts {
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Security.Permissions;
using System.Web.Util;
[Serializable]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class PersonalizationStateQuery {
private static readonly Dictionary _knownPropertyTypeMappings;
private HybridDictionary _data;
static PersonalizationStateQuery() {
_knownPropertyTypeMappings = new Dictionary(StringComparer.OrdinalIgnoreCase);
_knownPropertyTypeMappings["PathToMatch"] = typeof(string);
_knownPropertyTypeMappings["UserInactiveSinceDate"] = typeof(DateTime);
_knownPropertyTypeMappings["UsernameToMatch"] = typeof(string);
}
public PersonalizationStateQuery() {
_data = new HybridDictionary(true);
// VSWhidbey 357097: UserInactiveSinceDate needs to have a default value returned for the indexer property
_data["UserInactiveSinceDate"] = PersonalizationAdministration.DefaultInactiveSinceDate;
}
public string PathToMatch {
get {
return (string) this["PathToMatch"];
}
set {
if (value != null) {
value = value.Trim();
}
_data["PathToMatch"] = value;
}
}
public DateTime UserInactiveSinceDate {
get {
object o = this["UserInactiveSinceDate"];
Debug.Assert(o != null, "Should always have a default value!");
return (DateTime) o;
}
set {
_data["UserInactiveSinceDate"] = value;
}
}
public string UsernameToMatch {
get {
return (string) this["UsernameToMatch"];
}
set {
if (value != null) {
value = value.Trim();
}
_data["UsernameToMatch"] = value;
}
}
public object this[string queryKey] {
get {
queryKey = StringUtil.CheckAndTrimString(queryKey, "queryKey");
return _data[queryKey];
}
set {
queryKey = StringUtil.CheckAndTrimString(queryKey, "queryKey");
// VSWhidbey 436311: We need to check the value types for known properties
if (_knownPropertyTypeMappings.ContainsKey(queryKey)) {
Type valueType = _knownPropertyTypeMappings[queryKey];
Debug.Assert(valueType != null);
if ((value == null && valueType.IsValueType) ||
(value != null && !valueType.IsAssignableFrom(value.GetType()))) {
throw new ArgumentException(
SR.GetString(SR.PersonalizationStateQuery_IncorrectValueType,
queryKey, valueType.FullName));
}
}
_data[queryKey] = value;
}
}
}
}
// 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
- ConstNode.cs
- DictionaryBase.cs
- TcpTransportBindingElement.cs
- DataGridItemEventArgs.cs
- TextUtf8RawTextWriter.cs
- XmlSchemaSubstitutionGroup.cs
- StringToken.cs
- LogEntryHeaderDeserializer.cs
- DuplexClientBase.cs
- ContentFileHelper.cs
- AmbiguousMatchException.cs
- ModuleBuilder.cs
- CompModSwitches.cs
- KeyToListMap.cs
- QilInvoke.cs
- DataColumn.cs
- SQLMoney.cs
- OdbcDataAdapter.cs
- Bitmap.cs
- DesigntimeLicenseContext.cs
- MenuEventArgs.cs
- DecimalStorage.cs
- SplineKeyFrames.cs
- CellRelation.cs
- HostedNamedPipeTransportManager.cs
- WebScriptEnablingBehavior.cs
- TreeBuilderBamlTranslator.cs
- DispatcherExceptionFilterEventArgs.cs
- SslStreamSecurityUpgradeProvider.cs
- WebSysDisplayNameAttribute.cs
- DependencyPropertyKind.cs
- ADMembershipProvider.cs
- DBSqlParserTable.cs
- TdsValueSetter.cs
- WebMessageEncodingElement.cs
- GridViewPageEventArgs.cs
- PanelStyle.cs
- IPHostEntry.cs
- CodeTypeReferenceExpression.cs
- DiffuseMaterial.cs
- ExpanderAutomationPeer.cs
- ViewSimplifier.cs
- NavigationHelper.cs
- XmlAutoDetectWriter.cs
- ArgumentElement.cs
- StdValidatorsAndConverters.cs
- GlobalItem.cs
- ResourceContainer.cs
- ComponentCache.cs
- ColumnResult.cs
- ModifyActivitiesPropertyDescriptor.cs
- ManipulationStartedEventArgs.cs
- NullableBoolConverter.cs
- ReflectionServiceProvider.cs
- InstanceKeyCollisionException.cs
- Utils.cs
- VersionedStream.cs
- RtfNavigator.cs
- ApplicationServicesHostFactory.cs
- ObjectListItemCollection.cs
- BindToObject.cs
- TraceContextEventArgs.cs
- NamedPipeConnectionPoolSettingsElement.cs
- CommonObjectSecurity.cs
- CodeCompiler.cs
- PackUriHelper.cs
- RoutedCommand.cs
- DependencyPropertyDescriptor.cs
- SqlOuterApplyReducer.cs
- Mutex.cs
- ByteViewer.cs
- ListViewItem.cs
- AsymmetricSignatureDeformatter.cs
- RoleGroupCollection.cs
- WebControlAdapter.cs
- WebPartEditorApplyVerb.cs
- HttpModule.cs
- Version.cs
- DataBindEngine.cs
- ProcessThreadDesigner.cs
- HashMembershipCondition.cs
- AtomServiceDocumentSerializer.cs
- NetworkAddressChange.cs
- M3DUtil.cs
- DataException.cs
- _FtpDataStream.cs
- AccessorTable.cs
- DesignerTransaction.cs
- ProvidersHelper.cs
- SqlTriggerContext.cs
- EntityClassGenerator.cs
- BuildResultCache.cs
- Stylesheet.cs
- PathFigure.cs
- CustomAttributeBuilder.cs
- Tag.cs
- StateMachine.cs
- UIElementIsland.cs
- RewritingProcessor.cs
- QilBinary.cs