public void NameValidatorFailures () { ProfilePropertySettings p = new ProfilePropertySettings ("Hi"); bool f; f = false; try { p.Name = ""; } catch (ConfigurationErrorsException e) { f = true; } Assert.IsTrue (f, "A1"); // f = false; try { p.Name = "1Hi"; } catch (ConfigurationErrorsException e) { f = true; } Assert.IsTrue (f, "A2"); // f = false; try { p.Name = "Hi$"; } catch (ConfigurationErrorsException e) { f = true; } Assert.IsTrue (f, "A3"); // f = false; try { p.Name = "12345"; } catch (ConfigurationErrorsException e) { f = true; } Assert.IsTrue (f, "A3"); }
public void NameValidatorSuccess () { ProfilePropertySettings p = new ProfilePropertySettings ("Hi"); p.Name = "hi"; p.Name = "hi_there"; p.Name = "string"; p.Name = "Type"; p.Name = "Property"; }
public string GetKey(int index) { ProfilePropertySettings s = Get(index); if (s == null) { return(null); } return(s.Name); }
public void Defaults () { ProfilePropertySettings p = new ProfilePropertySettings ("Hi"); Assert.AreEqual ("Hi", p.Name, "A1"); Assert.IsFalse (p.AllowAnonymous, "A2"); Assert.AreEqual ("", p.CustomProviderData, "A3"); Assert.AreEqual ("", p.DefaultValue, "A4"); Assert.AreEqual ("", p.Provider, "A5"); Assert.IsFalse (p.ReadOnly, "A6"); Assert.AreEqual (SerializationMode.ProviderSpecific, p.SerializeAs, "A7"); Assert.AreEqual ("string", p.Type, "A8"); }
public void Set(ProfilePropertySettings propertySettings) { ProfilePropertySettings existing = Get(propertySettings.Name); if (existing == null) { Add(propertySettings); } else { int index = BaseIndexOf(existing); RemoveAt(index); BaseAdd(index, propertySettings); } }
public void Set (ProfilePropertySettings propertySettings) { ProfilePropertySettings existing = Get (propertySettings.Name); if (existing == null) { Add (propertySettings); } else { int index = BaseIndexOf (existing); RemoveAt (index); BaseAdd (index, propertySettings); } }
private static void SetProviderForProperty(ProfilePropertySettings pps) { if ((pps.Provider == null) || (pps.Provider.Length < 1)) { pps.ProviderInternal = ProfileManager.Provider; } else { pps.ProviderInternal = ProfileManager.Providers[pps.Provider]; } if (pps.ProviderInternal == null) { throw new ConfigurationErrorsException(System.Web.SR.GetString("Profile_provider_not_found", new object[] { pps.Provider }), pps.ElementInformation.Properties["provider"].Source, pps.ElementInformation.Properties["provider"].LineNumber); } }
void AddProfileClassProperty (ProfileSection ps, CodeTypeDeclaration profileClass, ProfilePropertySettings pset) { string name = pset.Name; if (String.IsNullOrEmpty (name)) throw new HttpException ("Profile property 'Name' attribute cannot be null."); CodeMemberProperty property = new CodeMemberProperty (); string typeName = pset.Type; if (typeName == "string") typeName = "System.String"; property.Name = name; property.Type = GetProfilePropertyType (typeName); property.Attributes = MemberAttributes.Public; CodeAttributeDeclarationCollection collection = new CodeAttributeDeclarationCollection(); GetProfileProviderAttribute (ps, collection, pset.Provider); GetProfileSettingsSerializeAsAttribute (ps, collection, pset.SerializeAs); property.CustomAttributes = collection; CodeMethodReturnStatement ret = new CodeMethodReturnStatement (); CodeCastExpression cast = new CodeCastExpression (); ret.Expression = cast; CodeMethodReferenceExpression mref = new CodeMethodReferenceExpression ( new CodeThisReferenceExpression (), "GetPropertyValue"); CodeMethodInvokeExpression minvoke = new CodeMethodInvokeExpression ( mref, new CodeExpression[] { new CodePrimitiveExpression (name) } ); cast.TargetType = new CodeTypeReference (typeName); cast.Expression = minvoke; property.GetStatements.Add (ret); if (!pset.ReadOnly) { mref = new CodeMethodReferenceExpression ( new CodeThisReferenceExpression (), "SetPropertyValue"); minvoke = new CodeMethodInvokeExpression ( mref, new CodeExpression[] { new CodePrimitiveExpression (name), new CodeSnippetExpression ("value") } ); property.SetStatements.Add (minvoke); } profileClass.Members.Add (property); }
public int IndexOf(ProfilePropertySettings propertySettings) { return default(int); }
public static void AddDynamicProfileProperty(ProfilePropertySettings property) { BuildManager.ThrowIfPreAppStartNotRunning(); s_dynamicProperties.Add(property); }
static Type GetPropertyType (ProfileGroupSettings pgs, ProfilePropertySettings pps) { Type type = HttpApplication.LoadType (pps.Type); if (type != null) return type; Type profileType = null; if (pgs == null) profileType = ProfileParser.GetProfileCommonType (HttpContext.Current); else profileType = ProfileParser.GetProfileGroupType (HttpContext.Current, pgs.Name); if (profileType == null) return null; PropertyInfo pi = profileType.GetProperty (pps.Name); if (pi != null) return pi.PropertyType; return null; }
public void Set(ProfilePropertySettings propertySettings) { base.BaseAdd(propertySettings, false); }
public void Set(ProfilePropertySettings propertySettings) { }
public int IndexOf(ProfilePropertySettings propertySettings) { return(default(int)); }
public void Add(ProfilePropertySettings propertySettings) { }
public void Add (ProfilePropertySettings propertySettings) { BaseAdd (propertySettings); }
public int IndexOf (ProfilePropertySettings propertySettings) { return BaseIndexOf (propertySettings); }
void f1() { // Process the System.Web.Configuration.ProfileSectionobject. try { // Get the Web application configuration. System.Configuration.Configuration configuration = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/aspnet"); // Get the section. System.Web.Configuration.ProfileSection profileSection = (System.Web.Configuration.ProfileSection) configuration.GetSection("system.web/profile"); // Get the current AutomaticSaveEnabled property value. Console.WriteLine( "Current AutomaticSaveEnabled value: '{0}'", profileSection.AutomaticSaveEnabled); // Set the AutomaticSaveEnabled property to false. profileSection.AutomaticSaveEnabled = false; // Get the current DefaultProvider property value. Console.WriteLine( "Current DefaultProvider value: '{0}'", profileSection.DefaultProvider); // Set the DefaultProvider property to "AspNetSqlProvider". profileSection.DefaultProvider = "AspNetSqlProvider"; // Get the current Inherits property value. Console.WriteLine( "Current Inherits value: '{0}'", profileSection.Inherits); // Set the Inherits property to // "CustomProfiles.MyCustomProfile, CustomProfiles.dll". profileSection.Inherits = "CustomProfiles.MyCustomProfile, CustomProfiles.dll"; // Display all current root ProfilePropertySettings. Console.WriteLine("Current Root ProfilePropertySettings:"); int rootPPSCtr = 0; foreach (ProfilePropertySettings rootPPS in profileSection.PropertySettings) { Console.WriteLine(" {0}: ProfilePropertySetting '{1}'", ++rootPPSCtr, rootPPS.Name); } // Get and modify a root ProfilePropertySettings object. Console.WriteLine( "Display and modify 'LastReadDate' ProfilePropertySettings:"); ProfilePropertySettings profilePropertySettings = profileSection.PropertySettings["LastReadDate"]; // Get the current ReadOnly property value. Console.WriteLine( "Current ReadOnly value: '{0}'", profilePropertySettings.ReadOnly); // Set the ReadOnly property to true. profilePropertySettings.ReadOnly = true; // Get the current AllowAnonymous property value. Console.WriteLine( "Current AllowAnonymous value: '{0}'", profilePropertySettings.AllowAnonymous); // Set the AllowAnonymous property to true. profilePropertySettings.AllowAnonymous = true; // Get the current SerializeAs property value. Console.WriteLine( "Current SerializeAs value: '{0}'", profilePropertySettings.SerializeAs); // Set the SerializeAs property to SerializationMode.Binary. profilePropertySettings.SerializeAs = SerializationMode.Binary; // Get the current Type property value. Console.WriteLine( "Current Type value: '{0}'", profilePropertySettings.Type); // Set the Type property to "System.DateTime". profilePropertySettings.Type = "System.DateTime"; // Get the current DefaultValue property value. Console.WriteLine( "Current DefaultValue value: '{0}'", profilePropertySettings.DefaultValue); // Set the DefaultValue property to "March 16, 2004". profilePropertySettings.DefaultValue = "March 16, 2004"; // Get the current ProviderName property value. Console.WriteLine( "Current ProviderName value: '{0}'", profilePropertySettings.Provider); // Set the ProviderName property to "AspNetSqlRoleProvider". profilePropertySettings.Provider = "AspNetSqlRoleProvider"; // Get the current Name property value. Console.WriteLine( "Current Name value: '{0}'", profilePropertySettings.Name); // Set the Name property to "LastAccessDate". profilePropertySettings.Name = "LastAccessDate"; // Display all current ProfileGroupSettings. Console.WriteLine("Current ProfileGroupSettings:"); int PGSCtr = 0; foreach (ProfileGroupSettings propGroups in profileSection.PropertySettings.GroupSettings) { Console.WriteLine(" {0}: ProfileGroupSetting '{1}'", ++PGSCtr, propGroups.Name); int PPSCtr = 0; foreach (ProfilePropertySettings props in propGroups.PropertySettings) { Console.WriteLine(" {0}: ProfilePropertySetting '{1}'", ++PPSCtr, props.Name); } } // Add a new group. ProfileGroupSettings newPropGroup = new ProfileGroupSettings("Forum"); profileSection.PropertySettings.GroupSettings.Add(newPropGroup); // Add a new PropertySettings to the group. ProfilePropertySettings newProp = new ProfilePropertySettings("AvatarImage"); newProp.Type = "System.String, System.dll"; newPropGroup.PropertySettings.Add(newProp); // Remove a PropertySettings from the group. newPropGroup.PropertySettings.Remove("AvatarImage"); newPropGroup.PropertySettings.RemoveAt(0); // Clear all PropertySettings from the group. newPropGroup.PropertySettings.Clear(); // Display all current Providers. Console.WriteLine("Current Providers:"); int providerCtr = 0; foreach (ProviderSettings provider in profileSection.Providers) { Console.WriteLine(" {0}: Provider '{1}' of type '{2}'", ++providerCtr, provider.Name, provider.Type); } // Add a new provider. profileSection.Providers.Add(new ProviderSettings("AspNetSqlProvider", "...SqlProfileProvider")); // Get the current Enabled property value. Console.WriteLine( "Current Enabled value: '{0}'", profileSection.Enabled); // Set the Enabled property to false. profileSection.Enabled = false; // Update if not locked. if (!profileSection.SectionInformation.IsLocked) { configuration.Save(); Console.WriteLine("** Configuration updated."); } else Console.WriteLine("** Could not update, section is locked."); } catch (System.ArgumentException e) { // Unknown error. Console.WriteLine("A invalid argument exception detected in UsingProfileSection Main. Check your"); Console.WriteLine("command line for errors."); } }
static SettingsProperty CreateSettingsProperty (ProfileGroupSettings pgs, ProfilePropertySettings pps) { string name = ((pgs == null) ? String.Empty : pgs.Name + ".") + pps.Name; SettingsProperty sp = new SettingsProperty (name); sp.Attributes.Add ("AllowAnonymous", pps.AllowAnonymous); sp.DefaultValue = pps.DefaultValue; sp.IsReadOnly = pps.ReadOnly; sp.Provider = ProfileManager.Provider; sp.ThrowOnErrorDeserializing = false; sp.ThrowOnErrorSerializing = true; if (pps.Type.Length == 0 || pps.Type == "string") sp.PropertyType = typeof (string); else sp.PropertyType = GetPropertyType (pgs, pps); switch (pps.SerializeAs) { case SerializationMode.Binary: sp.SerializeAs = SettingsSerializeAs.Binary; break; case SerializationMode.ProviderSpecific: sp.SerializeAs = SettingsSerializeAs.ProviderSpecific; break; case SerializationMode.String: sp.SerializeAs = SettingsSerializeAs.String; break; case SerializationMode.Xml: sp.SerializeAs = SettingsSerializeAs.Xml; break; } return sp; }
public int IndexOf(ProfilePropertySettings propertySettings) { return(BaseIndexOf(propertySettings)); }
public void Add(ProfilePropertySettings propertySettings) { BaseAdd(propertySettings); }
////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////// static private void SetProviderForProperty(ProfilePropertySettings pps) { if (pps.Provider == null || pps.Provider.Length < 1) { pps.ProviderInternal = ProfileManager.Provider; // Use default provider } else { pps.ProviderInternal = ProfileManager.Providers[pps.Provider]; // Use specified provider } // Provider not found? if (pps.ProviderInternal == null) throw new ConfigurationErrorsException(SR.GetString(SR.Profile_provider_not_found, pps.Provider), pps.ElementInformation.Properties["provider"].Source, pps.ElementInformation.Properties["provider"].LineNumber); }
protected void Page_Load(object sender, EventArgs e) { var umbracoVersion = IO.Container.Resolve<IUmbracoVersion>(); bool storePresent; IO.Container.Resolve<ICMSInstaller>().InstallStarterkit("demo", out storePresent); var admin = User.GetUser(0); var configuration = WebConfigurationManager.OpenWebConfiguration("~"); // change UmbracoMembershipProvider to this: // <add name="UmbracoMembershipProvider" minRequiredPasswordLength="4" minRequiredNonalphanumericCharacters="0" type="umbraco.providers.members.UmbracoMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" defaultMemberTypeAlias="Customers" passwordFormat="Hashed" /> var systemWeb = configuration.SectionGroups["system.web"]; var membershipSection = (MembershipSection)systemWeb.Sections["membership"]; var umbracoMembershipProvider = membershipSection.Providers["UmbracoMembershipProvider"]; if (umbracoMembershipProvider.Parameters["defaultMemberTypeAlias"] != "Customers") { if (umbracoMembershipProvider.Parameters.Get("minRequiredPasswordLength") == null) { umbracoMembershipProvider.Parameters.Add("minRequiredPasswordLength", "4"); } if (umbracoMembershipProvider.Parameters.Get("minRequiredNonalphanumericCharacters") == null) { umbracoMembershipProvider.Parameters.Add("minRequiredNonalphanumericCharacters", "0"); } umbracoMembershipProvider.Parameters.Set("defaultMemberTypeAlias", "Customers"); } // add profile to system.web, or add new fields if they are not there yet var profileSection = (ProfileSection)systemWeb.Sections["profile"]; if (profileSection.DefaultProvider != "UmbracoMemberProfileProvider") { profileSection.DefaultProvider = "UmbracoMemberProfileProvider"; profileSection.Enabled = true; profileSection.AutomaticSaveEnabled = false; // <profile defaultProvider="UmbracoMemberProfileProvider" enabled="true" automaticSaveEnabled="false"> // <providers> // <clear /> // <add name="UmbracoMemberProfileProvider" type="umbraco.providers.members.UmbracoProfileProvider, umbraco.providers" /> // </providers> // <properties> // <clear /> // <add name="customerFirstName" allowAnonymous="false" provider="UmbracoMemberProfileProvider" type="System.String" /> // <add name="customerLastName" allowAnonymous="false" provider="UmbracoMemberProfileProvider" type="System.String" /> // <add name="customerStreet" allowAnonymous="false" provider="UmbracoMemberProfileProvider" type="System.String" /> // <add name="customerStreetNumber" allowAnonymous="false" provider="UmbracoMemberProfileProvider" type="System.String" /> // <add name="customerZipCode" allowAnonymous="false" provider="UmbracoMemberProfileProvider" type="System.String" /> // <add name="customerCity" allowAnonymous="false" provider="UmbracoMemberProfileProvider" type="System.String" /> // <add name="customerCountry" allowAnonymous="false" provider="UmbracoMemberProfileProvider" type="System.String" /> // </properties> //</profile> var providerSettings = new ProviderSettings { Name = "UmbracoMemberProfileProvider", Type = "umbraco.providers.members.UmbracoProfileProvider, umbraco.providers" }; profileSection.Providers.Add(providerSettings); profileSection.PropertySettings.Clear(); var customerFirstName = new ProfilePropertySettings("customerFirstName", false, SerializationMode.String, "UmbracoMemberProfileProvider", string.Empty, "System.String", false, string.Empty); profileSection.PropertySettings.Add(customerFirstName); var customerLastName = new ProfilePropertySettings("customerLastName", false, SerializationMode.String, "UmbracoMemberProfileProvider", string.Empty, "System.String", false, string.Empty); profileSection.PropertySettings.Add(customerLastName); var customerStreet = new ProfilePropertySettings("customerStreet", false, SerializationMode.String, "UmbracoMemberProfileProvider", string.Empty, "System.String", false, string.Empty); profileSection.PropertySettings.Add(customerStreet); var customerStreetNumber = new ProfilePropertySettings("customerStreetNumber", false, SerializationMode.String, "UmbracoMemberProfileProvider", string.Empty, "System.String", false, string.Empty); profileSection.PropertySettings.Add(customerStreetNumber); var customerZipCode = new ProfilePropertySettings("customerZipCode", false, SerializationMode.String, "UmbracoMemberProfileProvider", string.Empty, "System.String", false, string.Empty); profileSection.PropertySettings.Add(customerZipCode); var customerCity = new ProfilePropertySettings("customerCity", false, SerializationMode.String, "UmbracoMemberProfileProvider", string.Empty, "System.String", false, string.Empty); profileSection.PropertySettings.Add(customerCity); var customerCountry = new ProfilePropertySettings("customerCountry", false, SerializationMode.String, "UmbracoMemberProfileProvider", string.Empty, "System.String", false, string.Empty); profileSection.PropertySettings.Add(customerCountry); } configuration.Save(); // generate new membertype based on properties above // add them to both customer profile and order var customersType = MemberType.GetByAlias("Customers"); if (customersType == null) { try { customersType = MemberType.MakeNew(admin, "Customers"); } catch { Log.Instance.LogError("Umbraco Failed to create 'Customers' MemberType"); // Umbraco bug with SQLCE + MemberType.MakeNew requires this catch, membertype will not be created... } } var uwbsOrdersType = DocumentType.GetByAlias(Order.NodeAlias); if (customersType != null && uwbsOrdersType != null) { var customerTab = uwbsOrdersType.getVirtualTabs.FirstOrDefault(x => x.Caption.ToLowerInvariant() == "customer"); var customerTabId = customerTab == null ? uwbsOrdersType.AddVirtualTab("Customer") : customerTab.Id; var shippingTab = uwbsOrdersType.getVirtualTabs.FirstOrDefault(x => x.Caption.ToLowerInvariant() == "shipping"); var shippingTabId = shippingTab == null ? uwbsOrdersType.AddVirtualTab("Shipping") : shippingTab.Id; // todo V7 version! var stringDataType = umbracoVersion.GetDataTypeDefinition("Umbraco.Textbox", new Guid("0cc0eba1-9960-42c9-bf9b-60e150b429ae")); var stringDataTypeDef = new DataTypeDefinition(stringDataType.Id); var textboxMultipleDataType = umbracoVersion.GetDataTypeDefinition("Umbraco.TextboxMultiple", new Guid("c6bac0dd-4ab9-45b1-8e30-e4b619ee5da3")); var textboxMultipleDataTypeDef = new DataTypeDefinition(textboxMultipleDataType.Id); foreach (var propertyKey in profileSection.PropertySettings.AllKeys) { customersType.AddPropertyType(stringDataTypeDef, propertyKey, "#" + UppercaseFirstCharacter(propertyKey)); if (uwbsOrdersType.PropertyTypes.All(x => x.Alias.ToLowerInvariant() != propertyKey.ToLowerInvariant())) { var property = uwbsOrdersType.AddPropertyType(stringDataTypeDef, propertyKey, "#" + UppercaseFirstCharacter(propertyKey)); var propertyShippingKey = propertyKey.Replace("customer", "shipping"); var shippingProperty = uwbsOrdersType.AddPropertyType(stringDataTypeDef, propertyShippingKey, "#" + UppercaseFirstCharacter(propertyShippingKey)); property.TabId = customerTabId; shippingProperty.TabId = shippingTabId; } } customersType.Save(); // todo V7 version! var extraMessageProperty = uwbsOrdersType.AddPropertyType(textboxMultipleDataTypeDef, "extraMessage", "#ExtraMessage"); extraMessageProperty.TabId = customerTabId; uwbsOrdersType.Save(); } // create membergroup "customers", as set in the UmbracoMembershipProvider -> defaultMemberTypeAlias if (MemberGroup.GetByName("Customers") == null) { MemberGroup.MakeNew("Customers", admin); } Document.RePublishAll(); library.RefreshContent(); }