Exemple #1
0
        internal Lieferung GetLieferungMit(string auftragNummer)
        {
            //angebot aus der datenbank rausholen
            Lieferung         gesuchteLieferung = null;
            IList <Lieferung> alleLieferungen;

            using (var session = sessionFactory.OpenSession())
            {
                using (session.BeginTransaction())
                {   //angebot aus der datenbank rausholen anhand der angebotsnummer
                    alleLieferungen = session.CreateCriteria(typeof(Lieferung)).List <Lieferung>();
                }

                foreach (Lieferung lieferung in alleLieferungen)
                {
                    if (lieferung.AuftragId.Equals(auftragNummer))
                    {
                        gesuchteLieferung = lieferung;
                        break;
                    }
                }
            }

            if (gesuchteLieferung == null)
            {
                throw new Exception("Keine Lieferung mit Auftrag.AuftragId = " + auftragNummer);
            }

#if DEBUG
            Console.WriteLine("Geladen: {0}, mit AuftragNummer: {1} (gesucht {2})", gesuchteLieferung, gesuchteLieferung.AuftragId, auftragNummer);
#endif

            return(gesuchteLieferung);
        }
        /// <summary>
        /// Erstellt eine Lieferung und ein TransportAuftrag und erstellt die OneToOne beziehung zwischen
        /// Lieferung und TransportAuftrag
        /// </summary>
        /// <param name="auftragTyp"> Ist ein AuftragTyp</param>
        /// <returns>Gibt True zurück wenn das Erstellen erfolgreich war </returns>
        internal bool AuslieferungTransportErstellen(AuftragTyp auftragTyp)
        {
            Lieferung        lieferung        = this.auslieferungsVerwalter.LieferungErstellen(this.NeueLieferungNummer(), auftragTyp.AuftragId);
            TransportAuftrag transportAuftrag = this.transportAuftragsVerwalter.TransportErstellen(this.NeueTransportAuftragsNummer(), auftragTyp.LetzterPostenLieferbar, transportDienstleister, lieferung);

            lieferung.setzeTransportAuftrag(transportAuftrag);
            return(true);
        }
        internal void HoleErfolgreicheLieferungenVonTransportdiensleisterUndSetzeBeiIhnenAusgeliefertAufTrue()
        {
            IList <string> auftragsNummern = this.transportdienstleisterManager.GetAusgelieferteAufträgeVonGestern();

            foreach (string auftragsNummer in auftragsNummern)
            {
                Lieferung lieferung = this.auslieferungsVerwalter.GetLieferungMit(auftragsNummer);
                lieferung.LieferungErfolgt = true;
            }
        }
Exemple #4
0
        /// <summary>
        /// Erstellt eine Lieferung
        /// </summary>
        /// <param name="lieferungNummer"> Ist eine Nummer die auf genau eine Lieferung verweist</param>
        /// <returns> Gibt eine Lieferung zurück</returns>
        internal Lieferung LieferungErstellen(int lieferungNummer, string auftragId)
        {
            Lieferung lieferung = new Lieferung(lieferungNummer, auftragId);

            //persist the new angebot
            using (ISession session = sessionFactory.OpenSession())
            {
                using (var transaction = session.BeginTransaction())
                {
#if DEBUG
                    Console.WriteLine("Speichern von: {0}", lieferung);
#endif
                    session.Save(lieferung);
                    transaction.Commit();
                }
            }

            return(lieferung);
        }
        /// <summary>
        /// Erstellt ein TransportAuftrag
        /// </summary>
        /// <param name="transportAuftragNummer"></param>
        /// <param name="lieferDatum"></param>
        /// <param name="transportDienstleister">Ist ein String der den transportDienstleister darstellt </param>
        /// <param name="lieferung">Es wird eine Entität von Liefertung erwartet</param>
        /// <returns></returns>
        internal TransportAuftrag TransportErstellen(int transportAuftragNummer, DateTime lieferDatum, string transportDienstleister, Lieferung lieferung)
        {
            TransportAuftrag transportAuftrag = new TransportAuftrag(transportAuftragNummer, lieferDatum, transportDienstleister, lieferung);

            //persist the new angebot
            using (ISession session = sessionFactory.OpenSession())
            {
                using (var transaction = session.BeginTransaction())
                {
#if DEBUG
                    Console.WriteLine("Speichern von: {0}", transportAuftrag);
#endif
                    session.Save(transportAuftrag);
                    transaction.Commit();
                }
            }


            return(transportAuftrag);
        }
        internal bool istLieferungErfolgtFür(string auftragNummer)
        {
            Lieferung lieferung = this.auslieferungsVerwalter.GetLieferungMit(auftragNummer);

            return(lieferung.LieferungErfolgt);
        }