public async static void WriteCSV() { FileSavePicker savePicker = new FileSavePicker() { SuggestedStartLocation = PickerLocationId.DocumentsLibrary }; savePicker.FileTypeChoices.Add("CSV-Datei", new List <string>() { ".csv" }); savePicker.SuggestedFileName = "klassenliste"; StorageFile file = await savePicker.PickSaveFileAsync(); if (file != null) { try { // Prevent updates to the remote version of the file until we finish making changes and call CompleteUpdatesAsync. CachedFileManager.DeferUpdates(file); // write to file await FileIO.WriteTextAsync(file, "Name;Vorname;Klasse;Klassenlehr;Geschlecht" + '\n'); for (int i = 0; i < DataManager.Instance.Count(); ++i) { Klasse klasse = DataManager.Instance.KlasseAt(i); for (int j = 0; j != klasse.StudentsCount(); ++j) { string[] name = klasse.StudentAt(j).Split(','); string entry = name[0] + ';' + name[1].Substring(1) + ';' + klasse.Name + ';' + klasse.Leiter.Substring(5) + ';' + (klasse.Leiter[0] == 'H' ? "männlich" : "weiblich"); await FileIO.AppendTextAsync(file, entry + '\n'); } } } catch (Exception ex) { var dialog = new MessageDialog("Error: Could not write file to disk. Original error: " + ex.Message); await dialog.ShowAsync(); } } }
public void KlassenChanged(Klasse klasse) { if (!DataManager.Instance.IsEmpty()) { BTN_print.Visibility = Visibility.Visible; //BTN_save.Visibility = Visibility.Visible; klassenCombo.Items.Add(klasse.Name); if (klassenCombo.SelectedIndex < 0) { klassenCombo.SelectedIndex = 0; } COB_mode.IsEnabled = true; } else { BTN_print.Visibility = Visibility.Collapsed; //BTN_save.Visibility = Visibility.Collapsed; klassenCombo.Items.Clear(); COB_mode.IsEnabled = false; } }
public void LoadSettings() { if (!DataManager.Instance.IsEmpty()) { return; } Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings; if (!localSettings.Values.ContainsKey(KLASSEN_SETTINGS_KEY)) { return; } String klassenAsString = (String)localSettings.Values[KLASSEN_SETTINGS_KEY]; if (klassenAsString != null && klassenAsString.Length > 0) { string[] klassen = klassenAsString.Split('\n'); foreach (string klasseString in klassen) { if (klasseString.Length == 0) { continue; } string[] data = klasseString.Split('\t'); Klasse klasse = new Klasse(data[0], data[1]); for (int i = 2; i < data.Length; ++i) { string[] names = data[i].Split(','); klasse.AddStudent(names[1], names[0]); } AddKlasse(klasse); } } }
private void generateKlass(Grid place) { Grid klassenGrid = new Grid() { HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Center }; for (int i = 1; i <= KLASSENGRID_COL_COUNT; ++i) { ColumnDefinition columnDefinition = new ColumnDefinition() { Width = new GridLength(KLASSENGRID_COL_WIDTH) }; klassenGrid.ColumnDefinitions.Add(columnDefinition); } for (int i = 1; i <= KLASSENGRID_ROW_COUNT; ++i) { RowDefinition rowDefinition = new RowDefinition() { Height = new GridLength(KLASSENGRID_ROW_HEIGHT) }; klassenGrid.RowDefinitions.Add(rowDefinition); } Klasse klasse = DataManager.Instance.KlasseAt(klassenCombo.SelectedIndex); int studentsCount = klasse.StudentsCount(); int cur = 0, col = 0, row = 0; while (cur < studentsCount) { TextBlock txt = new TextBlock() { FontSize = 14 }; if (col == 0 && row == 0) { txt.Text = "Klasse: " + klasse.Name; txt.FontWeight = FontWeights.Bold; } else if (col == 1 && row == 0) { txt.Text = "Klassenleiter: " + klasse.Leiter; txt.FontWeight = FontWeights.Bold; } else if (!(col == 2 && row == 0)) { txt.Text = klasse.StudentAt(cur++); } klassenGrid.Children.Add(txt); Grid.SetColumn(txt, col); Grid.SetRow(txt, row); if (++row == KLASSENGRID_ROW_COUNT) { row = 0; col++; } } place.Children.Add(klassenGrid); }
private void KlassenCombo_SelectionChanged(object sender, SelectionChangedEventArgs e) { Klasse klasse = DataManager.Instance.KlasseAt(klassenCombo.SelectedIndex); UpdateKlassenGrid(klasse); }
private void UpdateKlassenGrid(Klasse klasse) { klassenGrid.Children.Clear(); if (klasse == null) { return; } if (klassenGrid.ColumnDefinitions.Count == 0) { for (int i = 1; i <= KLASSENGRID_COL_COUNT; ++i) { ColumnDefinition columnDefinition = new ColumnDefinition() { Width = new GridLength(KLASSENGRID_COL_WIDTH) }; klassenGrid.ColumnDefinitions.Add(columnDefinition); } } if (klassenGrid.RowDefinitions.Count == 0) { for (int i = 1; i <= KLASSENGRID_ROW_COUNT; ++i) { RowDefinition rowDefinition = new RowDefinition() { Height = new GridLength(KLASSENGRID_ROW_HEIGHT) }; klassenGrid.RowDefinitions.Add(rowDefinition); } } int studentsCount = klasse.StudentsCount(); int cur = 0, col = 0, row = 0; while (cur < studentsCount) { TextBlock txt = new TextBlock() { FontSize = 12 }; if (col == 0 && row == 0) { txt.Text = "Klasse: " + klasse.Name; txt.FontWeight = FontWeights.Bold; } else if (col == 1 && row == 0) { txt.Text = "Klassenleiter: " + klasse.Leiter; txt.FontWeight = FontWeights.Bold; } else if (!(col == 2 && row == 0)) { txt.Text = klasse.StudentAt(cur++); } klassenGrid.Children.Add(txt); Grid.SetColumn(txt, col); Grid.SetRow(txt, row); if (++row == KLASSENGRID_ROW_COUNT) { row = 0; col++; } } }
private void InitPage() { grid = new Grid(); RelativePanel rp = new RelativePanel(); rp.Margin = new Thickness(30); if (COB_mode.SelectedIndex == 0) { Image schoolImg = new Image() { Source = IMG_school.Source, HorizontalAlignment = HorizontalAlignment.Stretch, VerticalAlignment = VerticalAlignment.Stretch }; StackPanel logoStack = new StackPanel() { Orientation = Orientation.Vertical }; //logoStack.HorizontalAlignment = HorizontalAlignment.Center; //logoStack.VerticalAlignment = VerticalAlignment.Center; TextBlock congratsText = new TextBlock() { Text = TBL_logo_subjekt.Text, HorizontalAlignment = HorizontalAlignment.Center, TextAlignment = TextAlignment.Center, FontSize = 22, FontWeight = FontWeights.Bold }; Image logoImg = new Image() { Source = IMG_logo.Source, Height = 150 }; TextBlock zumText = new TextBlock() { Text = TBL_logo_articel.Text, FontSize = 26, FontWeight = FontWeights.Bold }; TextBlock causeText = new TextBlock() { Text = TBL_logo_title.Text, FontSize = 40, HorizontalAlignment = HorizontalAlignment.Center, FontWeight = FontWeights.Bold }; logoStack.Children.Add(congratsText); logoStack.Children.Add(logoImg); logoStack.Children.Add(zumText); logoStack.Children.Add(causeText); Grid klassenGrid = new Grid() { HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Center }; for (int i = 1; i <= KLASSENGRID_COL_COUNT; ++i) { ColumnDefinition columnDefinition = new ColumnDefinition() { Width = new GridLength(KLASSENGRID_COL_WIDTH) }; klassenGrid.ColumnDefinitions.Add(columnDefinition); } for (int i = 1; i <= KLASSENGRID_ROW_COUNT; ++i) { RowDefinition rowDefinition = new RowDefinition() { Height = new GridLength(KLASSENGRID_ROW_HEIGHT) }; klassenGrid.RowDefinitions.Add(rowDefinition); } Klasse klasse = DataManager.Instance.KlasseAt(klassenCombo.SelectedIndex); int studentsCount = klasse.StudentsCount(); int cur = 0, col = 0, row = 0; while (cur < studentsCount) { TextBlock txt = new TextBlock() { FontSize = 14 }; if (col == 0 && row == 0) { txt.Text = "Klasse: " + klasse.Name; txt.FontWeight = FontWeights.Bold; } else if (col == 1 && row == 0) { txt.Text = "Klassenleiter: " + klasse.Leiter; txt.FontWeight = FontWeights.Bold; } else if (!(col == 2 && row == 0)) { txt.Text = klasse.StudentAt(cur++); } klassenGrid.Children.Add(txt); Grid.SetColumn(txt, col); Grid.SetRow(txt, row); if (++row == KLASSENGRID_ROW_COUNT) { row = 0; col++; } } Image klassenFoto = new Image() { Source = IMG_class.Source, Height = GRID_ROW_HEIGHT }; //klassenFoto.HorizontalAlignment = HorizontalAlignment.Center; //klassenFoto.VerticalAlignment = VerticalAlignment.Center; Rectangle rect = new Rectangle(); rect.SetValue(RelativePanel.AlignTopWithPanelProperty, true); rect.SetValue(RelativePanel.AlignBottomWithPanelProperty, true); rect.SetValue(RelativePanel.LeftOfProperty, logoStack); rect.SetValue(RelativePanel.RightOfProperty, schoolImg); rect.SetValue(RelativePanel.LeftOfProperty, klassenFoto); rect.SetValue(RelativePanel.RightOfProperty, klassenGrid); rect.Width = 30; schoolImg.SetValue(RelativePanel.AlignLeftWithPanelProperty, true); schoolImg.SetValue(RelativePanel.AlignTopWithPanelProperty, true); schoolImg.SetValue(RelativePanel.AlignTopWithProperty, logoStack); schoolImg.SetValue(RelativePanel.AlignBottomWithProperty, klassenFoto); schoolImg.SetValue(RelativePanel.AlignLeftWithProperty, klassenGrid); schoolImg.SetValue(RelativePanel.AlignRightWithProperty, klassenGrid); schoolImg.VerticalAlignment = VerticalAlignment.Top; schoolImg.Margin = new Thickness(0, 0, 30, 0); logoStack.SetValue(RelativePanel.AlignTopWithPanelProperty, true); logoStack.SetValue(RelativePanel.AlignRightWithPanelProperty, true); logoStack.Margin = new Thickness(0); if (IMG_class.Visibility == Visibility.Collapsed) { } else { logoStack.SetValue(RelativePanel.AlignLeftWithProperty, klassenFoto); logoStack.SetValue(RelativePanel.AlignRightWithProperty, klassenFoto); } klassenGrid.SetValue(RelativePanel.AlignBottomWithPanelProperty, true); klassenGrid.SetValue(RelativePanel.AlignLeftWithPanelProperty, true); klassenGrid.Margin = new Thickness(0, 0, 30, 0); klassenFoto.SetValue(RelativePanel.AlignRightWithPanelProperty, true); klassenFoto.SetValue(RelativePanel.AlignBottomWithPanelProperty, true); klassenFoto.Margin = new Thickness(0); rp.Children.Add(rect); rp.Children.Add(schoolImg); rp.Children.Add(logoStack); rp.Children.Add(klassenGrid); rp.Children.Add(klassenFoto); } else if (COB_mode.SelectedIndex == 1) { Grid klassenGrid = new Grid() { HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Center }; for (int i = 1; i <= KLASSENGRID_COL_COUNT; ++i) { ColumnDefinition columnDefinition = new ColumnDefinition() { Width = new GridLength(KLASSENGRID_COL_WIDTH) }; klassenGrid.ColumnDefinitions.Add(columnDefinition); } for (int i = 1; i <= KLASSENGRID_ROW_COUNT; ++i) { RowDefinition rowDefinition = new RowDefinition() { Height = new GridLength(KLASSENGRID_ROW_HEIGHT) }; klassenGrid.RowDefinitions.Add(rowDefinition); } Klasse klasse = DataManager.Instance.KlasseAt(klassenCombo.SelectedIndex); int studentsCount = klasse.StudentsCount(); int cur = 0, col = 0, row = 0; while (cur < studentsCount) { TextBlock txt = new TextBlock() { FontSize = 14 }; if (col == 0 && row == 0) { txt.Text = "Klasse: " + klasse.Name; txt.FontWeight = FontWeights.Bold; } else if (col == 1 && row == 0) { txt.Text = "Klassenleiter: " + klasse.Leiter; txt.FontWeight = FontWeights.Bold; } else if (!(col == 2 && row == 0)) { txt.Text = klasse.StudentAt(cur++); } klassenGrid.Children.Add(txt); Grid.SetColumn(txt, col); Grid.SetRow(txt, row); if (++row == KLASSENGRID_ROW_COUNT) { row = 0; col++; } } rp.Children.Add(klassenGrid); } grid.Children.Add(rp); }
public void AddKlasse(Klasse klasse) { klassen.Add(klasse); OnChanged(klasse); }
protected virtual void OnChanged(Klasse klasse) { Changed?.Invoke(klasse); }