Пример #1
0
 public static void Main(string[] args)
 {
     Console.WriteLine("Initializiere...");
     Init();
     Console.WriteLine("Initializierung abgeschlossen.");
     Console.WriteLine("Befuelle Datenbank...");
     BefuelleDatenbank();
     Console.WriteLine("Datenbank wurde mit Testdaten befuellt.");
     FrachtfuehrerAdapterFacade frachtfuehrerAdapterFacade = new FrachtfuehrerAdapterFacade(ref buchhaltungsServices);
     Console.WriteLine("Empfange Frachtabrechnungen aus MQ und sende Gutschriften an Bank (zum Beenden 'Strg + C')");
     Console.WriteLine("");
     frachtfuehrerAdapterFacade.StarteEmpfangvonFrachabrechnungen();
 }
        public MainWindow()
        {
            InitializeComponent();

            PersistenceServicesFactory.CreateSimpleMySQLPersistenceService(out persistenceService, out transactionService);

            var timeServicesMock = new Mock<ITimeServices>();
            //// Wir müssen einen fixen Zeitpunkt simulieren, ansonsten sind bei der Ausführung/Planung evtl. die Verträge oder Angebote abgelaufen
            timeServicesMock.Setup(ts => ts.Now).Returns(DateTime.Parse("31.08.2013 12:00"));

            auftragService = new AuftragKomponenteFacade(persistenceService, transactionService, timeServicesMock.Object);
            geschaeftspartnerService = new GeschaeftspartnerKomponenteFacade(persistenceService, transactionService);
            transportnetzService = new TransportnetzKomponenteFacade();
            IAuftragServicesFürTransportplanung auftragsServicesFürTransportplanung = auftragService as IAuftragServicesFürTransportplanung;

            IBuchhaltungServices buchhaltungServices = new BuchhaltungKomponenteFacade(
                persistenceService,
                transactionService,
                new Mock<IUnterbeauftragungServicesFuerBuchhaltung>().Object,
                new Mock<IBankServicesFuerBuchhaltung>().Object,
                new Mock<ITransportplanServicesFuerBuchhaltung>().Object,
                new Mock<IAuftragServicesFuerBuchhaltung>().Object,
                geschaeftspartnerService,
                new Mock<IPDFErzeugungsServicesFuerBuchhaltung>().Object);
            IFrachtfuehrerServicesFürUnterbeauftragung frachtfuehrerServices = new FrachtfuehrerAdapterFacade(ref buchhaltungServices);

            IUnterbeauftragungServicesFürTransportplanung unterbeauftragungServicesFürTransportplanung = new UnterbeauftragungKomponenteFacade(
                persistenceService,
                transactionService,
                frachtfuehrerServices);

            ITransportnetzServicesFürTransportplanung transportnetzServicesFürTransportplanung = new TransportnetzKomponenteFacade();

            transportplanungServicesFürAuftrag = new TransportplanungKomponenteFacade(
                persistenceService,
                transactionService,
                auftragsServicesFürTransportplanung,
                unterbeauftragungServicesFürTransportplanung,
                transportnetzServicesFürTransportplanung,
                timeServicesMock.Object);
            auftragsServicesFürTransportplanung.RegisterTransportplanungServiceFürAuftrag(transportplanungServicesFürAuftrag);

            transportplanungServices = new TransportplanungKomponenteFacade(
                persistenceService,
                transactionService,
                auftragsServicesFürTransportplanung,
                unterbeauftragungServicesFürTransportplanung,
                transportnetzServicesFürTransportplanung,
                timeServicesMock.Object);

            transportplanungServicesFuerSendung = new TransportplanungKomponenteFacade(
                persistenceService,
                transactionService,
                auftragsServicesFürTransportplanung,
                unterbeauftragungServicesFürTransportplanung,
                transportnetzServicesFürTransportplanung,
                timeServicesMock.Object); 

            unterbeauftragungsServices = new UnterbeauftragungKomponenteFacade(persistenceService, transactionService, frachtfuehrerServices);

            ConfigStart();
        }