public void PayFrachtabrechnung(ref FrachtabrechnungDTO fabDTO) { Check.Argument(fabDTO != null, "fabDTO != null"); Check.OperationCondition(!transactionService.IsTransactionActive, "Keine aktive Transaktion erlaubt."); Frachtabrechnung fab = fabDTO.ToEntity(); int faufNr = fab.Frachtauftrag; unterbeauftragungService.SchliesseFrachtauftragAb(faufNr); Gutschrift gutschrift = new Gutschrift(); fab.Gutschrift = gutschrift; GutschriftDTO gutschriftDTO = gutschrift.ToDTO(); bankService.SendeGutschriftAnBank(gutschriftDTO); transactionService.ExecuteTransactional( () => { this.bh_REPO.Save(fab); }); }
public void TestErstelleSendungsanfrageUndOrdneRechungenZuSuccess() { Adresse kundenadresse = new Adresse() { Strasse = "ABC-Strasse", Hausnummer = "123", Land = "Nimmerland", PLZ = "4567", Wohnort = "hinterm Baum" }; IList<AdresseDTO> adressen = new List<AdresseDTO>(); adressen.Add(kundenadresse.ToDTO()); GeschaeftspartnerDTO gpDTO = new GeschaeftspartnerDTO() { Adressen = adressen, Email = new EMailType("*****@*****.**"), Vorname = "Hans", Nachname = "Peter", }; geschaeftspartnerServices.CreateGeschaeftspartner(ref gpDTO); SendungsanfrageDTO saDTO = new SendungsanfrageDTO(); SendungspositionDTO sp1 = new SendungspositionDTO(); saDTO.Sendungspositionen.Add(sp1); saDTO.AbholzeitfensterStart = DateTime.Parse("01.09.2013"); saDTO.AbholzeitfensterEnde = DateTime.Parse("10.09.2013"); saDTO.AngebotGültigBis = DateTime.Now.AddHours(1); saDTO.StartLokation = hamburgLokation.LokNr; saDTO.ZielLokation = shanghaiLokation.LokNr; saDTO.Auftraggeber = 1; auftragsServices.CreateSendungsanfrage(ref saDTO); auftragsServices.PlaneSendungsanfrage(saDTO.SaNr); List<TransportplanDTO> pläne = transportplanungsServices.FindTransportplaeneZuSendungsanfrage(saDTO.SaNr); Assert.IsTrue(pläne.Count >= 1); TransportplanDTO planÜberBhv = pläne.Find((plan) => { return plan.TransportplanSchritte.ToList().Find((tps) => { TransportAktivitaetDTO ta = tps as TransportAktivitaetDTO; if (ta != null) { return ta.FuerTransportAufTransportbeziehung == hh_bhv.TbNr; } else { return false; } }) != null; }); Assert.IsTrue(planÜberBhv != null); Assert.IsTrue(planÜberBhv.TransportplanSchritte.Count == 2); pläne = transportplanungsServices.FindTransportplaeneZuSendungsanfrage(saDTO.SaNr); Assert.IsTrue(pläne.Count == 1); Assert.IsTrue(pläne[0].TpNr == planÜberBhv.TpNr); foreach (TransportplanDTO tpDTO in pläne) { Sendungsanfrage sa = auftragsServices.FindSendungsanfrage(tpDTO.SaNr).ToEntity(); auftragsServices.NimmAngebotAn(sa.SaNr); sendungServices.ErstelleSendung(tpDTO.TpNr, saDTO.SaNr); } FrachtabrechnungDTO fab1DTO = new FrachtabrechnungDTO { Frachtauftrag = 1, IstBestaetigt = true }; buchhaltungServices.PayFrachtabrechnung(ref fab1DTO); FrachtabrechnungDTO fab2DTO = new FrachtabrechnungDTO { Frachtauftrag = 2, IstBestaetigt = true }; buchhaltungServices.PayFrachtabrechnung(ref fab2DTO); buchhaltungServiceFuerSendung.ErstelleKundenrechnung(1, 1); var tokenSource = new CancellationTokenSource(); var token = tokenSource.Token; var t = Task.Factory.StartNew( () => { bankAdapter.EmpfangeZahlungseingaengenAusQueue(); token.ThrowIfCancellationRequested(); }, token); Thread.Sleep(10000); bankAdapter.EmpfangeZahlungseingaenge(false); Thread.Sleep(5000); tokenSource.Cancel(); }
public void DeleteFrachtabrechnung(ref FrachtabrechnungDTO fabDTO) { Frachtabrechnung fab = fabDTO.ToEntity(); transactionService.ExecuteTransactional( () => { this.bh_REPO.DeleteFrachtabrechnung(fab); }); }