Beispiel #1
0
        public static IContainer Configure()
        {
            _viewResolver = new FormsPageViewResolverRepository();

            var builder = new ContainerBuilder();

            //Register Services
            builder.RegisterType <NavigationService>().As <INavigationService <Page> >();
            builder.RegisterType <TeamService>().Named <ITeamService>("teamservice");


            //Register Repositories
            builder.RegisterInstance(_viewResolver);
            builder.RegisterType <MockTeamMemberRepository>().As <ITeamMemberRepository>().SingleInstance();

            //Register View / ViewModel relations
            _viewResolver.RegisterView <TeamOverviewViewModel, TeamOverviewPage>(true);
            _viewResolver.RegisterView <AddTeamMemberViewModel, AddTeamMemberPage>();
            builder.RegisterSource(new AnyConcreteTypeNotAlreadyRegisteredSource());

            //Register Decorators
            builder.RegisterDecorator <ITeamService>((c, inner) => new TeamServiceLoggingDecorator(inner), "teamservice");
            builder.RegisterDecorator <ITeamService>((c, inner) => new TeamServiceValidationDecorator(inner), "teamservice");

            return(builder.Build());
        }
 public NavigationService(IViewResolverRepository <Page> viewResolverRepository)
 {
     _viewResolverRepository = viewResolverRepository;
 }