コード例 #1
0
        public BookDialog(DateTime dVon, Zimmer z, Buchung buchung1)
        {


            //Wird bei einem Reservierten zimmer benötigt;
            buchung1.Zimmer = z;

            buchung = buchung1;

            zimmer = z;
            sper = hm.repSperrung.Get().Where(a => a.bisSperrung > DateTime.Now).ToList();

            InitializeComponent();
            this.cbZimmer.Text = "--Bitte zuerst Daten angeben--";

            this.cbZimmer.ItemsSource = hm.repZimmer.Get();
            this.cbZimmer.SelectedValue = z.idZimmer;
            dpVon.Text = dVon.ToString();
            ExbestKunde.IsExpanded = true;

        }
コード例 #2
0
        private void ButtonRes_Click(object sender, RoutedEventArgs e)
        {
            Buchung buchung = new Buchung();
            Zimmer zimmer = new Zimmer();
            List<Buchung> bookings = null;
            ZimmerTyp zimmerT;

            if (dpVon.Text != "" && dpBis.Text != "")
            {
                buchung.vonBuchung = Convert.ToDateTime(dpVon.Text);
                buchung.bisBuchung = Convert.ToDateTime(dpBis.Text);
                bookings = hm.repBuchung.Get(includes: "Kunde, Zimmer").Where(c => c.vonBuchung < dpBis.SelectedDate).Where(d => d.bisBuchung > dpVon.SelectedDate).ToList();

            }

            //Kunde muss ausgewählt werden
            if ((tbvorn.Text != "" || tbVorNameNew.Text != "") && dpVon.Text != "" && dpBis.Text != "" && tbErw.Text != "")
            {
                errLabel.Content = "";
                int idzimmer = (int)cbZimmer.SelectedValue;

                ////testbuchungen   //prüfen ob zimmer schon reserviert wurde
                //List<Buchung> tbuchungen = hm.repBuchung.Get(includes: "Zimmer,Kunde").Where(b => b.idZimmer == idzimmer)
                //                                                                         .Where(b => b.vonBuchung.CompareTo(buchung.vonBuchung) <= 0 && b.bisBuchung.CompareTo(buchung.vonBuchung) >= 0 || // vonbuchung is früher als value // bisbuchung ist später als value ODER
                //                                                                         b.vonBuchung.CompareTo(buchung.bisBuchung) <= 0 && b.bisBuchung.CompareTo(buchung.bisBuchung) >= 0) // vonbuchung is früher als value  // bisbuchung is später als value
                //                                                                         .ToList();
                if (tbKind.Text == "")
                    tbKind.Text = "0";

                zimmerT = hm.repZimmerTyp.Get().Where(a => a.anzahlBetten == (Convert.ToInt16(tbErw.Text) + Convert.ToInt16(tbKind.Text))).FirstOrDefault();


                //if (tbuchungen.Count <= 0)
                //{
                if (zimmerT != null) { 
                    if (bookings.Where(a => a.idZimmerTyp == zimmerT.idZimmerTyp).Count() < zimmerT.bettenVorhanden) { 
                        //Buchung
                        if (ExbestKunde.IsExpanded)
                            newKunde = (Kunde)tbvorn.DataContext;
                        if (ExkundeNeu.IsExpanded)
                        {
                            newKunde.vornameKunde = tbVorNameNew.Text;
                            newKunde.nachnameKunde = tbNachnNew.Text;
                            newKunde.adresseKunde = tbAdresseNew.Text;
                            newKunde.PLZ = tbPLZNew.Text;
                            newKunde.Ort = tbOrtNew.Text;
                            newKunde.emailKunde = tbEMailNew.Text;
                            newKunde.telefonKunde = tbTelefonNew.Text;

                            hm.repKunde.Create(newKunde);


                        }
                        buchung.idKunde = newKunde.idKunde;
                        buchung.infoBuchung = tbInfo.Text;
                        buchung.erwachseneBuchung = Convert.ToInt32(tbErw.Text);
                        buchung.kinderBuchung = (tbKind.Text != "") ? Convert.ToInt32(tbKind.Text) : 0;
                        buchung.idZimmer = idzimmer;
                        buchung.eingegangenBuchung = DateTime.Now;


                        //Verpflegung
                        int verpflegung = cbVerpf.SelectedIndex;
                        string stringVerpf = "";

                        switch (verpflegung)
                        {
                            case 0:
                                stringVerpf = "bb";
                                break;
                            case 1:
                                stringVerpf = "hb";
                                break;
                            case 2:
                                stringVerpf = "fb";
                                break;
                            case 3:
                                stringVerpf = "nb";
                                break;

                        }
                        buchung.board = stringVerpf;


                        //zurück zu MainWindow mit zurückbutton
                        hm.repBuchung.Create(buchung);
                        //Seite wechseln
                        NavigationService ns = NavigationService.GetNavigationService(this);
                        ns.Navigate(new Uri("StartPage.xaml", UriKind.Relative));
                    }


                    else
                    {
                        errLabel.Content = "Verfügbarkeit des Zimmertyp " + zimmerT.typBezeichnung + " ist 0 für diesen Zeitraum";
                        tbKind.Background = Brushes.Red;
                        tbErw.Background = Brushes.Red;
                    }
                }
                else
                {
                   
                    tbKind.Background = Brushes.Red;
                    tbErw.Background = Brushes.Red;
                    errLabel.Content = "Kein ZimmerTyp für diese Eingabe bekannt";
                    
                }



            }
           
            else
            {
                errLabel.Content = "Name, Von-Bis, Anzahl Erwachsene muss ausgefüllt sein!";
               // MessageBoxResult result = MessageBox.Show("Bitte alle Felder ausfüllen!");
            }
        }