public void ZeichneGrid(List <Plätze> sgtPlätze) { ErstelleGrid(sgtPlätze); int counter = 0; int[] plId = PlatzRepository.GetInstance().GetPlatzsperren();; foreach (Plätze item in sgtPlätze) { Label lbl = new Label(); Grid.SetColumn(lbl, 0); Grid.SetRow(lbl, counter); grdMain.Children.Add(lbl); CheckBox chk = new CheckBox(); chk.Content = "Platz " + item.Platznummer; chk.IsChecked = plId.Contains(item.Platznummer); Grid.SetColumn(chk, 1); Grid.SetRow(chk, counter); grdMain.Children.Add(chk); counter++; } Button btn = new Button(); btn.Content = "Speichern"; btn.Click += BtnSpeichern_Click; Grid.SetColumn(btn, 1); Grid.SetRow(btn, counter); grdMain.Children.Add(btn); }
public MainWindowPlatzAnzeigeViewModel(DateTime?AnzeigeStart) { DateTime Vergleichszeit = AnzeigeStart == null ? Jetzt : (DateTime)AnzeigeStart; List <Buchungen> AlleAktuellenBuchungen = BuchungenRepository.GetInstance().GetAlleAktuellenBuchungen(Vergleichszeit); foreach (Buchungen buchung in AlleAktuellenBuchungen) { AnzeigePlatzViewModel apvm = new AnzeigePlatzViewModel(); apvm.PlatzId = PlatzRepository.GetInstance().GetPlatznummer(buchung.PlatzId); apvm.Titelzeile = buchung.Titel; apvm.AnzeigeUhrzeit = BuchungenRepository.GetInstance().GetUhrzeitPlatzFrei(buchung); apvm.Status = "belegt"; if (String.IsNullOrEmpty(buchung.FesteBuchungGuid) && String.IsNullOrEmpty(buchung.TurnierspielGuid)) { //Platzbuchung eines Spielers apvm.Zeile1 = buchung.Startzeit.ToShortTimeString(); apvm.Zeile2 = Helpers.GetSpielerNameById(buchung.Spieler1Id); apvm.Zeile3 = Helpers.GetSpielerNameById(buchung.Spieler2Id); apvm.Zeile4 = Helpers.GetSpielerNameById(buchung.Spieler3Id); apvm.Zeile5 = Helpers.GetSpielerNameById(buchung.Spieler4Id); } if (String.IsNullOrEmpty(buchung.FesteBuchungGuid) && !String.IsNullOrEmpty(buchung.TurnierspielGuid)) { //Turnierspiel apvm.Zeile1 = buchung.Zeile1; apvm.Zeile2 = buchung.Zeile2; apvm.Zeile3 = buchung.Zeile3; apvm.Zeile4 = buchung.Zeile4; apvm.Zeile5 = buchung.Zeile5; } if (!String.IsNullOrEmpty(buchung.FesteBuchungGuid) && String.IsNullOrEmpty(buchung.TurnierspielGuid)) { //Feste Buchung apvm.Zeile1 = buchung.Zeile1; apvm.Zeile2 = buchung.Zeile2; apvm.Zeile3 = buchung.Zeile3; apvm.Zeile4 = buchung.Zeile4; apvm.Zeile5 = buchung.Zeile5; } Buchungen.Add(apvm); } ListePlatzAnzeige = GetPlatzListe(Buchungen); }
private void ZeichneMainGrid() { SpielerRepository.GetInstance().ClearSpielerIstGebucht(); MainWindowPlatzAnzeigeViewModel model = new MainWindowPlatzAnzeigeViewModel(null); //Plätze einlesen, Singleton, ändert sich zur Laufzeit nicht sgtPlätze = SgtPlätze.Instance.Plätze; //Mit der Anzahl der Plätze das Template mit seinen Rows und Columns ermitteln GridInfo info = PlatzRepository.GetInstance().GetGridInfo(sgtPlätze.Count); grdMain.Children.Clear(); grdMain = Helpers.GetMainGrid(info); string[] arrayCol = info.PositionsColumn.Split(';'); string[] arrayRow = info.PositionsRow.Split(';'); int trigger = 0; this.Content = grdMain; //Bedienleiste oben einblenden //Bedienleiste leiste = new Bedienleiste(); Bedienleiste.SetValue(Grid.ColumnSpanProperty, sgtPlätze.Count > 4 ? 10 : sgtPlätze.Count + 2); Grid.SetRow(Bedienleiste, 0); Grid.SetColumn(Bedienleiste, 0); if (Rechte != null) { Bedienleiste.SetRechte(Rechte); } grdMain.Children.Add(Bedienleiste); //Einzelne Grids produzieren und Auf dem Maingrid darstellen for (int i = 0; i < sgtPlätze.Count; i++) { //Umbruch der Anzeige nach 6 Plätzen if (i == 6) { trigger++; } AnzeigePlatz ap = Helpers.GetAnzeigePlatz(model.ListePlatzAnzeige[i]); if (!ap.Status.Equals("gesperrt") && Rechte != null) { ap.BtnBuchen.Click += BtnBuchen_Click; } Grid.SetRow(ap, Int32.Parse(arrayRow[trigger])); Grid.SetColumn(ap, Int32.Parse(arrayCol[i])); grdMain.Children.Add(ap); } }
private void BtnSpeichern_Click(object sender, RoutedEventArgs e) { List <int> sperren = new List <int>(); foreach (DependencyObject obj in grdMain.Children) { if (obj.GetType() == typeof(CheckBox)) { CheckBox chk = (CheckBox)obj; if ((bool)chk.IsChecked) { string wert = chk.Content.ToString().Split(' ')[1]; int intwert = Int32.Parse(wert); sperren.Add(intwert); } } } PlatzRepository.GetInstance().SavePlatzsperre(sperren); }
private List <AnzeigePlatzViewModel> GetPlatzListe(List <AnzeigePlatzViewModel> buchungen) { int[] Platzsperren; Platzsperren = PlatzRepository.GetInstance().GetPlatzsperren();; List <AnzeigePlatzViewModel> ReturnList = new List <AnzeigePlatzViewModel>(); List <Plätze> AllePlätze = PlatzRepository.GetInstance().GetPlätze(); foreach (Plätze platz in AllePlätze) { if (Platzsperren.Contains(platz.Id)) { //Platz ist gesperrt AnzeigePlatzViewModel vm = new AnzeigePlatzViewModel(); vm.Titelzeile = "gesperrt"; vm.AnzeigeUhrzeit = "gesperrt"; vm.PlatzId = platz.Platznummer; vm.Status = "gesperrt"; vm.Zeile1 = ""; vm.Zeile2 = ""; vm.Zeile3 = ""; vm.Zeile4 = ""; vm.Zeile5 = ""; ReturnList.Add(vm); } else { AnzeigePlatzViewModel apvm = buchungen.Where(x => x.PlatzId == platz.Id).FirstOrDefault(); if (apvm != null) { //Buchung liegt vor ReturnList.Add(apvm); } else { //es liegt keine Buchung vor AnzeigePlatzViewModel vm = new AnzeigePlatzViewModel(); vm.Titelzeile = "frei"; vm.AnzeigeUhrzeit = "frei"; vm.PlatzId = platz.Platznummer; vm.Status = "frei"; vm.Zeile1 = ""; vm.Zeile2 = ""; vm.Zeile3 = ""; vm.Zeile4 = ""; vm.Zeile5 = ""; //Achtung, es kann sein, dass der Platz innerhalb der nächsten Stunde belegt wird Buchungen buchung = BuchungenRepository.GetInstance().GetBuchungByPlatzUndStartzeit(platz.Id); if (buchung != null) { TimeSpan test = buchung.Startzeit - DateTime.Now; if (test.Hours == 0) { vm.Titelzeile = "In Kürze belegt"; vm.AnzeigeUhrzeit = "-00:" + test.Minutes; vm.Zeile1 = "(" + buchung.Titel + ")"; } } ReturnList.Add(vm); } } } return(ReturnList); }
private SgtPlätze() { Plätze = PlatzRepository.GetInstance().GetPlätze(); }