Esempio n. 1
0
        public static IWindsorContainer Setup()
        {
            //Container.GetContainer().AddFacility("logging", new LoggingFacility(LoggerImplementation.Log4net, "EdiDocsIn.log4net.xml"));
            CommonSetup.Setup();
            Container.Register <IBusinessPartnerSpecificServiceResolver, BusinessPartnerSpecificServiceResolver>();
            Container.Register <IFileUtilities, FileUtilities>("fileUtilities");
            //     Container.Register<IFileCreationService, FedexFileCreationService>("FEDEXFileService");
            Container.Register <IDocumentParser <OrderRequestReceivedMessage>, Fedex850Parser>();
            Container.Register <ISplitter, Splitter>();
            Container.Register <IAddressParser, AddressParser>();
            Container.Register <IPOLineParser, Fedex850LineParser>();
            Container.Register <ICreateOrderMessagePublisher, CreateOrderMessagePublisher>();
            Container.Register <IAFPSTConfiguration, AFPSTConfiguration>();
            Container.Register <ICreateEdiContentFrom <OrderRequestReceivedMessage>, Fedex855Creator>();

            Container.Register <IBuildValueFactory, FedExBuildValueFactory>();
            Container.Register <ISegmentFactory, SegmentFactory>("segFactory");


            var configuration = Container.Resolve <IAFPSTConfiguration>();


            var connectionKey   = configuration.TestMode == false ? "SQLConnection" : "SQLConnectionTest";
            var createnewTables = configuration.TestMode;

            Container.Register <ISessionSource, EdiSessionSource>(typeof(EdiSessionSource).Name)
            .WithDependencies(new { connectionKey, createnewTables });

            Container.Register <IControlNumberRepository, ControlNumberRepository>("controlNumRepo", LifestyleType.Transient);
            Container.Register <IIncomingDocumentsRepository, IncomingDocumentsRepository>("incomingDocsRepository", LifestyleType.Transient);
            Container.Register <IFileProcessingService, FedexFileProcessingService>();
            Container.Register <IEDIResponseReferenceRecorder, EDIResponseReferenceRecorder>();
            Container.Register <IFedexFileParser,
                                FedexFileParser>("srv").WithDependencies(new
            {
                elDelim  = "~",
                segDelim = @"\"
            });

            return(Container.GetContainer());
        }