Ejemplo n.º 1
0
        public void TestDepartmentCreateErrorView()
        {
            var container = new SimpleInjector.Container();

            container.Register <IHotelRepository, HotelRepository>();
            container.RegisterDecorator(typeof(IHotelRepository), typeof(DefaultController));

            var hotelService = container.GetInstance <IHotelRepository>();
            var hotelList    = hotelService.fetchHotels();
        }
Ejemplo n.º 2
0
        public static void Bootstrap(HttpConfiguration config)
        {
            var container = new SimpleInjector.Container();
            container.Register<IReportRepository<SummaryReport>>( ()=> new ReportRepository<SummaryReport>(), SimpleInjector.Lifestyle.Transient);

            
            container.Register<ISummaryReport>(() => new SummaryReport(container.GetInstance<IReportRepository<SummaryReport>>()), SimpleInjector.Lifestyle.Transient);
            container.RegisterDecorator(typeof(ISummaryReport), typeof(SummaryLogDecorator));
            container.Verify();
            config.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(container);
        }
Ejemplo n.º 3
0
        public static ICommandProcessor CreateJobProcessor(TypiconDBContext dbContext, JobRepository jobRepository)
        {
            var container = new SimpleInjector.Container();

            container.Register <ITypiconSerializer, TypiconSerializer>();

            container.Register(typeof(ICommandHandler <>), typeof(MajorDataCalculator).Assembly);
            container.Register <IRuleHandlerSettingsFactory, RuleHandlerSettingsFactory>();
            container.Register <IScheduleDayNameComposer, ScheduleDayNameComposer>();
            container.Register <IRuleSerializerRoot, RuleSerializerRoot>();
            //container.Register<IOutputForms, OutputForms>();
            container.Register <IOutputDayFactory, OutputDayFactory>();

            container.Register <IScheduleDataCalculator, MajorDataCalculator>();
            container.RegisterDecorator(
                typeof(IScheduleDataCalculator),
                typeof(TransparentDataCalculator));

            container.RegisterDecorator(
                typeof(IScheduleDataCalculator),
                typeof(AsAdditionDataCalculator));

            container.RegisterDecorator(
                typeof(IScheduleDataCalculator),
                typeof(ExplicitDataCalculator));


            container.Register(typeof(IQueryHandler <,>), typeof(QueryProcessor).Assembly, typeof(TypiconEntityModel).Assembly);
            container.Register <IQueryProcessor, DataQueryProcessor>();

            container.RegisterSingleton(typeof(IJobRepository), jobRepository);

            container.RegisterTypiconCommandClasses();

            container.RegisterInstance(dbContext);

            var processor = container.GetInstance <ICommandProcessor>();

            return(processor);
        }