Exemplo n.º 1
0
        /// <summary>
        /// Speichert ein neues Angebot in der Datenbank
        /// </summary>
        /// <param name="gueltigAb"></param>
        /// <param name="gueltigBis"></param>
        /// <param name="preis"></param>
        /// <param name="kundeNr">ForeignKey Beziehung auf einen Kunden</param>
        /// <returns>NULL if SaveOrUpdate Fails else AngebotNrTyp for der persistent AngebotTyp</returns>
        public AngebotNrTyp erstelleAngebot(DateTime gueltigAb, DateTime gueltigBis, double preis, KundeTyp kunde, IDictionary<ProduktNummerTyp, int> prod)
        {
            AngebotNrTyp angebotNr = null;

            using (var session = AuftragserfassungKomp.getDB().OpenSession())
            using (var transaction = session.BeginTransaction())
            {

                try
                {
                    //Holt sich die letzte ID aus der Tabele und erstellt die nächste TransportNummer
                    //Allerdings nicht so schön weil man nicht sicher stellen kann das es auch wirklich die Max ID ist - auf jeden Fall nicht ThreadSicher!
                    var maxID = session.CreateCriteria(typeof(AngebotTyp)).SetProjection(Projections.Max("ID")).UniqueResult();
                    angebotNr = new AngebotNrTyp(maxID != null ? Convert.ToString(maxID) : "0");

                    AngebotTyp angebot = new AngebotTyp(angebotNr, gueltigAb, gueltigBis, preis, kunde, prod);
                    session.SaveOrUpdate(angebot);
                    transaction.Commit();
                }

                catch (NHibernate.Exceptions.GenericADOException ex)
                {
                    Console.WriteLine("ADOException persisting new Angebot!" + ex);
                }
            }
                return angebotNr;
        }
Exemplo n.º 2
0
 public AngebotTyp(AngebotNrTyp nr, DateTime gueltigAb, DateTime gueltigBis, double addPreis, KundeTyp kunde, IDictionary<ProduktNummerTyp, int> prod)
 {
     this.nr = nr;
      this.gueltigAb = gueltigAb;
      this.gueltigBis = gueltigBis;
      this.gesamtPreis = addPreis;
      this.kunde = kunde;
      this.produkte = prod;
 }
Exemplo n.º 3
0
        public KundenNrTyp erstelleKunden(string nachname, string vorname, DateTime geburtsdatum, KundenLevel level, string strasse, String plz, string ort, string land)
        {
            KundenNrTyp kundenNr;

            using (var session = KundenKomp.getDb().OpenSession())
            using (var transaction = session.BeginTransaction())
            {
                //Holt sich die letzte ID aus der Tabele und erstellt die nächste Nummer
                //Allerdings nicht so schön weil man nicht sicher stellen kann das es auch wirklich die Max ID ist - auf jeden Fall nicht ThreadSicher!
                var maxID = session.CreateCriteria(typeof(KundeTyp)).SetProjection(Projections.Max("ID")).UniqueResult();
                kundenNr = new KundenNrTyp(maxID != null ? Convert.ToString(maxID) : "0");

                KundeTyp kunde = new KundeTyp(kundenNr, level, vorname, nachname, geburtsdatum, strasse, ort, plz, land);
                session.SaveOrUpdate(kunde);
                transaction.Commit();
            }

            return kundenNr;
        }
Exemplo n.º 4
0
 public AngebotNrTyp erstelleAngebot(DateTime gueltigAb, DateTime gueltigBis, double preis, KundeTyp kundeNr, IDictionary<ProduktNummerTyp, int> produktListe)
 {
     return hesCore.getAuftragserfassungComp().erstelleAngebot(gueltigAb, gueltigBis, preis, kundeNr, produktListe);
 }
Exemplo n.º 5
0
 //Der Preis wird hier berechnet und nach unten gereicht, damit die Entity davon nichts mitbekommt
 public AngebotNrTyp erstelleAngebot(DateTime gueltigAb, DateTime gueltigBis, double preis, KundeTyp kunde,IDictionary<ProduktNummerTyp, int> produktListe)
 {
     return repo.erstelleAngebot(gueltigAb, gueltigBis, getGesamtPreis(produktListe, preis), kunde, produktListe);
 }