Reputation: 150
After updating to Glass.Mapper.Sc 3.2.3.50, i get:
Could not find a data mapper to handle property AbstractPropertyConfiguration Property: Regions Type: [type].IEventSearch Assembly: [assembly], Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
On line 23:
Line 21: //create a context
Line 22: Context context = Context.Create(resolver);
Line 23: context.Load(new IConfigurationLoader[]
Line 24: {
Line 25: new EventSearchMap().Load(),
Whole method:
public void Process(PipelineArgs args)
{
//create the resolver
DependencyResolver resolver = DependencyResolver.CreateStandardResolver();
//install the custom services
var config = new Config();
resolver.Container.Install(new SitecoreInstaller(config));
//create a context
Context context = Context.Create(resolver);
context.Load(new IConfigurationLoader[]
{
new EventSearchMap().Load(),
new RegionMap().Load(),
new MunicipalityMap().Load(),
new SearchMap().Load(),
new PageMap().Load(),
new HeaderMap().Load(),
new SectionMenuMap().Load(),
new BreadcrumbMap().Load(),
new NavigationMap().Load(),
new SitemapMap().Load()
});
}
Triggered here:
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
<sitecore>
<pipelines>
<initialize>
<processor type="[Type].GlassMapper, [assembly]" />
</initialize>
</pipelines>
</sitecore>
</configuration>
The interface for : IEventSearch
[SitecoreType]
public interface IEventSearch : ISitecoreItem
{
IEnumerable<IRegion> Regions { get; set; }
IEnumerable<IMunicipality> Municipalities { get; set; }
}
The EventSearchMap class:
public class EventSearchMap
{
public SitecoreFluentConfigurationLoader Load()
{
var loader = new SitecoreFluentConfigurationLoader();
SitecoreType<IEventSearch> type = loader.Add<IEventSearch>().AutoMap();
type.Delegate(x => x.Regions).GetValue(GetRegions);
type.Delegate(x => x.Municipalities).GetValue(GetMunicipalities);
return loader;
}
private IEnumerable<IMunicipality> GetMunicipalities(SitecoreDataMappingContext arg)
{
var municipalities = new List<IMunicipality>();
foreach (IRegion region in GetRegions(arg))
{
region.Municipalities.ForEach(municipalities.Add);
}
return municipalities.OrderBy(x => x.Title, StringComparer.CurrentCultureIgnoreCase);
}
private IEnumerable<IRegion> GetRegions(SitecoreDataMappingContext arg)
{
var context = new Context();
return from region in context.EventSearchPage.Children
select arg.Service.Cast<IRegion>(region);
}
}
Upvotes: 1
Views: 1057
Reputation: 150
Your comment Michael, send me on the right path.
The solution was to update Glass.Mapper.Sc.CastleWindsor to 3.3.0.25. I was on 3.2.1.23.
However i previously tried:
PM> Update-Package Glass.Mapper.Sc.CastleWindsor
No updates available for 'Glass.Mapper.Sc.CastleWindsor' in project 'Core'.
But as you can see it said "No updates available".
The solution was:
Install-Package Glass.Mapper.Sc.CastleWindsor -version 3.3.0.25
Upvotes: 3