public void SubsequentEntityRegistrationWithSettingsInheritanceShouldSucceed() { IUnifier unifier = context.Unifier; unifier.AddEntity <OrganizationUnitInfo>("Department") .With( new Settings <OrganizationUnitInfo, OrgUnitInterfaceSettings>( (department, serviceProvider) => (serviceProvider.GetService(typeof(SettingsStore)) as SettingsStore).GetOrgUnitInterfaceSettings(department.Identifier) ) .BasedOn <OrganizationInfo, InterfaceSettings>( (department, serviceProvider) => new OrganizationInfo(department.Organization, string.Empty), true, (settings, orgSettings, serviceProvider) => { settings.Layout = string.IsNullOrEmpty(settings.Layout)? orgSettings.Layout:settings.Layout; settings.Theme = string.IsNullOrEmpty(settings.Theme) ? orgSettings.Theme : settings.Theme; return(settings); } ) ); }
public void EntityRegistrationWithDoubleInheritanceSettingShouldSucceed() { IUnifier unifier = context.Unifier; unifier.AddEntity <UserInfo>() .With <UserInterfaceSettings>( (user, serviceProvider) => null, (settings) => { settings .BasedOn <OrganizationUnitInfo, OrgUnitInterfaceSettings>( "Department", (user, provider) => new OrganizationUnitInfo(user.Department, string.Empty), false, (userSettings, orgSettings, serviceProvider) => { userSettings.Avatar = string.IsNullOrEmpty(userSettings.Avatar) ? orgSettings.Logo : userSettings.Avatar; userSettings.Layout = string.IsNullOrEmpty(userSettings.Layout) ? orgSettings.Layout : userSettings.Layout; userSettings.Theme = string.IsNullOrEmpty(userSettings.Theme) ? orgSettings.Theme : userSettings.Theme; return(userSettings); } ) .BasedOn <OrganizationInfo, InterfaceSettings>( (user, provider) => new OrganizationInfo(user.Organization, string.Empty), (organization, serviceProvider) => { return((serviceProvider.GetService(typeof(SettingsStore)) as SettingsStore) .GetOrgInterfaceSettings(organization.Identifier)); }, (userSettings, orgSettings, serviceProvider) => { userSettings.LandingPage = string.IsNullOrEmpty(userSettings.LandingPage) ? orgSettings.LandingPage : userSettings.LandingPage; return(userSettings); } ); } ); }
public void FirstEntityRegistrationShouldSucceed() { IUnifier unifier = context.Unifier; unifier.AddEntity <OrganizationInfo>() .With( new Settings <OrganizationInfo, InterfaceSettings>( (organization, serviceProvider) => (serviceProvider.GetService(typeof(SettingsStore)) as SettingsStore).GetOrgInterfaceSettings(organization.Identifier) ) ); }
public TraceUnifier(IUnifier unifier) { _unifier = unifier; }