Example #1
0
        private void parkplatz_zuweisen()
        {
            ParkplatzListe parkplaetze = new ParkplatzListe();
            //Holt eine freien Parkplatz
            Parkplatz pp = parkplaetze.hole_Parkplatz();

            //Speichert die ParkplatzID auf dem Dauermieter
            this.ParkplatzID = pp.ParkplatzID;
        }
Example #2
0
        public void eintreten(DateTime eingangsdatum, string typ, int code)
        {
            //Erstellt ein neues Parkplatzobjekt
            Parkplatz pp;

            //Prüft auf die Benutzerkategorie
            if (typ == "dauermieter")
            {
                //Sucht den Dauermieter mit dem eingegebenen Eintrittscode
                Dauermieter dauermieter = _context.Dauermieter.Where(d => d.Code == code).FirstOrDefault();
                //Wird keiner gefunden, ist der Code inkorrekt
                if (dauermieter == null)
                {
                    throw new Exception("Code inkorrekt");
                }
                //Prüft, ob der Dauermieter die rechnung bezahlt hat
                if (!dauermieter.hat_rechung_bezahlt(eingangsdatum))
                {
                    //Wurde die rechnung nicht bezahlt, wird eine Exception geworfen
                    throw new Exception("Sie haben Ihre Rechnung noch nicht bezahlt!");
                }
                //Prüft ob ein Ticket ohne Austrittsdatum auf dem Parkplatz des Dauermieters vorhanden ist
                int cnt = _context.Ticket.Where(ticket => ticket.ParkplatzID == dauermieter.ParkplatzID && ticket.Ausgangsdatum == null).Count();
                //Bedeutet, dass der Dauermieter noch im Parkhaus ist, wirft eine Exception
                if (cnt != 0)
                {
                    throw new Exception("Dieser Dauermieter ist bereits im Parkhaus");
                }
                //Weist den Parkplatzobjekt den Parkplatz des dauermieters zu
                pp = dauermieter.Parkplatz;
            }
            else //Gelegenheitsnutzer
            {   //Erstellt ein neues Parkplatzlisteobjekt
                ParkplatzListe parkplätze = new ParkplatzListe();
                //Weist dem
                pp = parkplätze.hole_Parkplatz();
            }
            //Setzt das Eintrittsdatum
            this.Eingangsdatum = eingangsdatum;
            //Setzt die ParkplatzID
            this.ParkplatzID = pp.ParkplatzID;

            //Fügt das Ticket der Tickettabelle hinzu
            _context.Ticket.Add(this);
            //Speichert die änderungen
            _context.SaveChanges();
        }