public BuchhaltungKomponenteFacade(
            IPersistenceServices persistenceService,
            ITransactionServices transactionService,
            IUnterbeauftragungServicesFuerBuchhaltung unterbeauftragungService,
            IBankServicesFuerBuchhaltung bankService,
            ITransportplanServicesFuerBuchhaltung transportplanServicesFuerBuchhaltung,
            IAuftragServicesFuerBuchhaltung auftragServicesFuerBuchhaltung,
            IGeschaeftspartnerServices geschaeftspartnerServices,
            IPDFErzeugungsServicesFuerBuchhaltung pDFErzeugungsServicesFuerBuchhaltung)
        {
            Check.Argument(persistenceService != null, "persistenceService != null");
            Check.Argument(transactionService != null, "transactionService != null");
            Check.Argument(unterbeauftragungService != null, "unterbeauftragungService != null");
            Check.Argument(transportplanServicesFuerBuchhaltung != null, "transportplanServicesFuerBuchhaltung != null");
            Check.Argument(bankService != null, "bankService != null");
            Check.Argument(auftragServicesFuerBuchhaltung != null, "auftragServicesFuerBuchhaltung != null");
            Check.Argument(geschaeftspartnerServices != null, "geschaeftspartnerServices != null");
            Check.Argument(pDFErzeugungsServicesFuerBuchhaltung != null, "PDFErzeugungsServicesFuerBuchhaltung != null");

            this.bh_REPO = new BuchhaltungRepository(persistenceService);
            this.transactionService = transactionService;
            this.unterbeauftragungService = unterbeauftragungService;
            this.bankService = bankService;
            this.transportplanServiceFuerBuchhaltung = transportplanServicesFuerBuchhaltung;
            this.auftragServiceFuerBuchhaltung = auftragServicesFuerBuchhaltung;
            this.geschaeftspartnerService = geschaeftspartnerServices;
            this.pDFErzeugungsServiceFuerBuchhaltung = pDFErzeugungsServicesFuerBuchhaltung;
        }
        public GUI_Geschaeftspartner(IGeschaeftspartnerServices geschaeftspartnerServices)
        {
            InitializeComponent();
            log4net.Config.XmlConfigurator.Configure();

            this.geschaeftspartnerServices = geschaeftspartnerServices;
        }
        public GUI_Adresse(IGeschaeftspartnerServices geschaeftspartnerServices, int gpNr)
        {
            InitializeComponent();
            this.gpNr = gpNr;

            log4net.Config.XmlConfigurator.Configure();

            this.geschaeftspartnerServices = geschaeftspartnerServices;
        }
        public static void InitializeTests(TestContext testContext)
        {
            log4net.Config.XmlConfigurator.Configure();

            PersistenceServicesFactory.CreateSimpleMySQLPersistenceService(out persistenceService, out transactionService);

            var timeServicesMock = new Mock<ITimeServices>();

            geschaeftspartnerServices = new GeschaeftspartnerKomponenteFacade(persistenceService, transactionService);
            geschaeftspartnerServicesFuerPDFErzeugung = geschaeftspartnerServices as IGeschaeftspartnerServicesFuerPDFErzeugung;
            pDFErzeungServicesFuerBuchhaltung = new PDFErzeugungKomponenteFacade(geschaeftspartnerServicesFuerPDFErzeugung);
            }
        public GUI_Sendungsanfrage(ref IAuftragServices auftragServices,ref IGeschaeftspartnerServices geschaeftspartnerServices,ref ITransportnetzServices transportnetzServices, IList<LokationDTO> lokationen)
        {
            InitializeComponent();
            log4net.Config.XmlConfigurator.Configure();

            this.auftragServices = auftragServices;
            this.geschaeftspartnerServices = geschaeftspartnerServices;
            this.transportnetzServices = transportnetzServices;
            this.lokationen = lokationen;

            FillComboBoxMitGeschaeftspartnerAusDB();
            FillComboBoxMitLokationenAusDB();

            Dp_AbholfensterStart.SelectedDate = DateTime.Parse("01.09.2013");
            Dp_AbholfensterEnde.SelectedDate = DateTime.Parse("10.09.2013");
            Dp_AngebotGueltigBis.SelectedDate = DateTime.Now.AddHours(1);
        }
        public static void InitializeTests(TestContext testContext)
        {
            log4net.Config.XmlConfigurator.Configure();

            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"));

            transportnetzServices = new TransportnetzKomponenteFacade();
            auftragsServices = new AuftragKomponenteFacade(persistenceService, transactionService, timeServicesMock.Object);
            IAuftragServicesFürTransportplanung auftragsServicesFürTransportplanung = auftragsServices as IAuftragServicesFürTransportplanung;
            frachtfuehrerServices = new FrachtfuehrerAdapterFacade(ref buchhaltungServices);
            bankServicesFuerBuchhaltung = new BankAdapterFacade();
            geschaeftspartnerServices = new GeschaeftspartnerKomponenteFacade(persistenceService, transactionService);
            IGeschaeftspartnerServicesFuerPDFErzeugung geschaeftspartnerServicesFuerPDFErzeugung = new GeschaeftspartnerKomponenteFacade(persistenceService, transactionService);
            IPDFErzeugungsServicesFuerBuchhaltung pDFErzeugungsServicesFuerBuchhaltung = new PDFErzeugungKomponenteFacade(geschaeftspartnerServicesFuerPDFErzeugung);
            unterbeauftragungsServices = new UnterbeauftragungKomponenteFacade(persistenceService, transactionService, frachtfuehrerServices);
            IUnterbeauftragungServicesFuerBuchhaltung unterbeauftragungsServicesFuerBuchhaltung = new UnterbeauftragungKomponenteFacade(persistenceService, transactionService, frachtfuehrerServices);
            IUnterbeauftragungServicesFürTransportplanung unterbeauftragungServicesFürTransportplanung = new UnterbeauftragungKomponenteFacade(persistenceService, transactionService, frachtfuehrerServices);
            ITransportnetzServicesFürTransportplanung transportnetzServicesFürTransportplanung = new TransportnetzKomponenteFacade();
            transportplanungsServices = new TransportplanungKomponenteFacade(persistenceService, transactionService, auftragsServicesFürTransportplanung, unterbeauftragungServicesFürTransportplanung, transportnetzServicesFürTransportplanung, timeServicesMock.Object);
            ITransportplanServicesFuerBuchhaltung transportplanServicesFuerBuchhaltung = new TransportplanungKomponenteFacade(persistenceService, transactionService, auftragsServicesFürTransportplanung, unterbeauftragungServicesFürTransportplanung, transportnetzServicesFürTransportplanung, timeServicesMock.Object);
            IAuftragServicesFuerBuchhaltung auftragServicesFuerBuchhaltung = auftragsServices as IAuftragServicesFuerBuchhaltung;
            buchhaltungServices = new BuchhaltungKomponenteFacade(
                persistenceService, 
                transactionService, 
                unterbeauftragungsServicesFuerBuchhaltung, 
                bankServicesFuerBuchhaltung,
                transportplanServicesFuerBuchhaltung,
                auftragServicesFuerBuchhaltung,
                geschaeftspartnerServices,
                pDFErzeugungsServicesFuerBuchhaltung);
            ITransportplanungServicesFürAuftrag transportplanungServicesFürAuftrag = new TransportplanungKomponenteFacade(persistenceService, transactionService, auftragsServicesFürTransportplanung, unterbeauftragungServicesFürTransportplanung, transportnetzServicesFürTransportplanung, timeServicesMock.Object);
            auftragsServicesFürTransportplanung.RegisterTransportplanungServiceFürAuftrag(transportplanungServicesFürAuftrag);
            transportplanungsServicesFuerSendung = new TransportplanungKomponenteFacade(persistenceService, transactionService, auftragsServicesFürTransportplanung, unterbeauftragungServicesFürTransportplanung, transportnetzServicesFürTransportplanung, timeServicesMock.Object);

            hamburgLokation = new LokationDTO("Hamburg", TimeSpan.Parse("10"), 10);
            bremerhavenLokation = new LokationDTO("Bremerhaven", TimeSpan.Parse("15"), 15);
            shanghaiLokation = new LokationDTO("Shanghai", TimeSpan.Parse("10"), 10);

            transportnetzServices.CreateLokation(ref hamburgLokation);
            transportnetzServices.CreateLokation(ref bremerhavenLokation);
            transportnetzServices.CreateLokation(ref shanghaiLokation);

            hh_bhv = new TransportbeziehungDTO(hamburgLokation, bremerhavenLokation);
            bhv_sh = new TransportbeziehungDTO(bremerhavenLokation, shanghaiLokation);

            transportnetzServices.CreateTransportbeziehung(ref hh_bhv);
            transportnetzServices.CreateTransportbeziehung(ref bhv_sh);

            FrachtfuehrerDTO frfHH_BHV = new FrachtfuehrerDTO();
            unterbeauftragungsServices.CreateFrachtfuehrer(ref frfHH_BHV);
            FrachtfuehrerRahmenvertragDTO frv_hh_bhv = new FrachtfuehrerRahmenvertragDTO();
            frv_hh_bhv.GueltigkeitAb = DateTime.Parse("01.01.2013");
            frv_hh_bhv.GueltigkeitBis = DateTime.Parse("31.12.2013");
            frv_hh_bhv.Abfahrtszeiten = new System.Collections.Generic.List<StartzeitDTO>() 
            { 
                new StartzeitDTO() { Wochentag = DayOfWeek.Tuesday, Uhrzeit = 8 },
                new StartzeitDTO() { Wochentag = DayOfWeek.Wednesday, Uhrzeit = 8 },
                new StartzeitDTO() { Wochentag = DayOfWeek.Friday, Uhrzeit = 8 }
            };
            frv_hh_bhv.KapazitaetTEU = 2;
            frv_hh_bhv.KostenFix = 1000;
            frv_hh_bhv.KostenProTEU = 100;
            frv_hh_bhv.KostenProFEU = 200;
            frv_hh_bhv.FuerTransportAufTransportbeziehung = hh_bhv.TbNr;
            frv_hh_bhv.Frachtfuehrer = frfHH_BHV;
            frv_hh_bhv.Zeitvorgabe = TimeSpan.Parse("2"); // 2 Tage
            unterbeauftragungsServices.CreateFrachtfuehrerRahmenvertrag(ref frv_hh_bhv);

            FrachtfuehrerDTO frfBHV = new FrachtfuehrerDTO();
            unterbeauftragungsServices.CreateFrachtfuehrer(ref frfBHV);
            FrachtfuehrerRahmenvertragDTO frv_bhv_sh = new FrachtfuehrerRahmenvertragDTO();
            frv_bhv_sh.GueltigkeitAb = DateTime.Parse("01.01.2013");
            frv_bhv_sh.GueltigkeitBis = DateTime.Parse("31.12.2013");
            frv_bhv_sh.Abfahrtszeiten = new System.Collections.Generic.List<StartzeitDTO>() 
            { 
                new StartzeitDTO() { Wochentag = DayOfWeek.Monday, Uhrzeit = 8 },
                new StartzeitDTO() { Wochentag = DayOfWeek.Thursday, Uhrzeit = 10 },
                new StartzeitDTO() { Wochentag = DayOfWeek.Saturday, Uhrzeit = 8 }
            };
            frv_bhv_sh.KapazitaetTEU = 4;
            frv_bhv_sh.KostenFix = 2000;
            frv_bhv_sh.KostenProTEU = 200;
            frv_bhv_sh.KostenProFEU = 400;
            frv_bhv_sh.FuerTransportAufTransportbeziehung = bhv_sh.TbNr;
            frv_bhv_sh.Frachtfuehrer = frfBHV;
            frv_bhv_sh.Zeitvorgabe = TimeSpan.Parse("5"); // 5 Tage
            unterbeauftragungsServices.CreateFrachtfuehrerRahmenvertrag(ref frv_bhv_sh);

            IList<LokationDTO> lokationen = new List<LokationDTO>();
            lokationen.Add(hh_bhv.Start);
            lokationen.Add(hh_bhv.Ziel);
            lokationen.Add(bhv_sh.Start);
            lokationen.Add(bhv_sh.Ziel);

            ITransportplanungServicesFuerSendung transportplanungServicesFuerSendung = new TransportplanungKomponenteFacade(persistenceService, transactionService, auftragsServicesFürTransportplanung, unterbeauftragungServicesFürTransportplanung, transportnetzServicesFürTransportplanung, timeServicesMock.Object);
            buchhaltungServiceFuerSendung = new BuchhaltungKomponenteFacade(
                persistenceService, 
                transactionService, 
                unterbeauftragungsServicesFuerBuchhaltung, 
                bankServicesFuerBuchhaltung,
                transportplanServicesFuerBuchhaltung,
                auftragServicesFuerBuchhaltung,
                geschaeftspartnerServices,
                pDFErzeugungsServicesFuerBuchhaltung);
            SendungKomponenteFacade sendungKomponenteFacade = new SendungKomponenteFacade(
                persistenceService,
                transactionService,
                transportplanungServicesFuerSendung,
                auftragsServices,
                buchhaltungServiceFuerSendung);
            sendungServices = sendungKomponenteFacade;
            ISendungServicesfürLokationsAdapter sendungServicesfürLokationsAdapter = sendungKomponenteFacade;
            lokationAdapter = new LokationsApaterFacade(sendungServicesfürLokationsAdapter, lokationen);

            bankAdapter = new BankAdapterFacade();
            IBuchhaltungsServicesFuerBank buchhaltungServiceFuerBank = new BuchhaltungKomponenteFacade(
                persistenceService, 
                transactionService, 
                unterbeauftragungsServicesFuerBuchhaltung, 
                bankServicesFuerBuchhaltung,
                transportplanServicesFuerBuchhaltung,
                auftragServicesFuerBuchhaltung,
                geschaeftspartnerServices,
                pDFErzeugungsServicesFuerBuchhaltung);
            bankAdapter.SetzeBuchhaltungServiceFuerBank(buchhaltungServiceFuerBank);

            auftragServicesFürTransportplanung = auftragsServices as IAuftragServicesFürTransportplanung; 
        }
예제 #7
0
        /// <summary>
        /// Initializiere Schnittstellen der Komponenten
        /// </summary>
        private static void Init()
        {
            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"));

            auftragServices = new AuftragKomponenteFacade(persistenceService, transactionService, timeServicesMock.Object);

            unterbeauftragungServicesFuerBuchhaltung = new UnterbeauftragungKomponenteFacade(persistenceService, transactionService, frachtfuehrerServicesFuerUnterbeauftragung);
            bankServicesFuerBuchhaltung = new BankAdapterFacade();
            geschaeftspartnerServices = new GeschaeftspartnerKomponenteFacade(persistenceService, transactionService);
            IPDFErzeugungsServicesFuerBuchhaltung pDFErzeugungsServicesFuerBuchhaltung = new PDFErzeugungKomponenteFacade(geschaeftspartnerServices as IGeschaeftspartnerServicesFuerPDFErzeugung); 
            frachtfuehrerServicesFuerUnterbeauftragung = new FrachtfuehrerAdapterFacade(ref buchhaltungsServices);
            unterbeauftragungServices = new UnterbeauftragungKomponenteFacade(persistenceService, transactionService, frachtfuehrerServicesFuerUnterbeauftragung);
            buchhaltungsServices = new BuchhaltungKomponenteFacade(
                persistenceService,
                transactionService,
                unterbeauftragungServicesFuerBuchhaltung,
                bankServicesFuerBuchhaltung,
                transportplanungServicesFuerAuftrag as ITransportplanServicesFuerBuchhaltung,
                auftragServices as IAuftragServicesFuerBuchhaltung,
                geschaeftspartnerServices,
                pDFErzeugungsServicesFuerBuchhaltung);

            auftragServicesFürTransportplanung = new AuftragKomponenteFacade(persistenceService, transactionService, timeServicesMock.Object);
            transportnetzServicesFuerTransportplanung = new TransportnetzKomponenteFacade();
            unterbeauftragungServicesFürTransportplanung = new UnterbeauftragungKomponenteFacade(persistenceService, transactionService, frachtfuehrerServicesFuerUnterbeauftragung);
            transportplanungServicesFuerAuftrag = new TransportplanungKomponenteFacade(
                persistenceService,
                transactionService,
                auftragServicesFürTransportplanung,
                unterbeauftragungServicesFürTransportplanung,
                transportnetzServicesFuerTransportplanung,
                timeServicesMock.Object);
            auftragServicesFürTransportplanung = new AuftragKomponenteFacade(persistenceService, transactionService, timeServicesMock.Object);
            transportnetzServices = new TransportnetzKomponenteFacade();
            transportnetzServicesFürTransportplanung = new TransportnetzKomponenteFacade();
            transportplanungServices = new TransportplanungKomponenteFacade(persistenceService, transactionService, auftragServicesFürTransportplanung, unterbeauftragungServicesFürTransportplanung, transportnetzServicesFuerTransportplanung, timeServicesMock.Object);
        }
        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();
        }