<repo_name>Jonas228/WPFGehirnJogging<file_sep>/WPFGehirnJogging/Vokabeltrainer.xaml.cs
﻿using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Forms;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using WPFGehirnJogging.Klassen;
using MessageBox = System.Windows.MessageBox;

namespace WPFGehirnJogging
{
    /// <summary>
    /// Interaktionslogik für Vokabeltrainer.xaml
    /// </summary>
    public partial class Vokabeltrainer : Page
    {
        public Vokabeltrainer()
        {
            InitializeComponent();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            NavigationService?.Navigate(new Uri("Vokabeltrainer2.xaml", UriKind.Relative));
        }
    }
}



<file_sep>/WPFGehirnJogging/Vokabeltrainer2.xaml.cs
﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using WPFGehirnJogging.Klassen;
using MessageBox = System.Windows.MessageBox;

namespace WPFGehirnJogging
{
    /// <summary>
    /// Interaktionslogik für Vokabeltrainer2.xaml
    /// </summary>
    public partial class Vokabeltrainer2 : Page
    {
        private Dictionary<string, string[]> _dicVokabel;
        private int pZuffi;

        public Vokabeltrainer2()
        {
            InitializeComponent();
            //Eventhandler der das Event von dem Button abfängt

            CVokabeltest test = new CVokabeltest();
            //Einlesen des Vokabulars
            _dicVokabel = new Dictionary<string, string[]>();
            _dicVokabel = test.CsvEinlesen();
            CVokabel first = new CVokabel();
            first.DeutschesWort = "auto";
            first.UserEingabe = "car";
            string[] foo = new string[3];
            //sucht alle Lösungen aus dem Dictionary für die Vokabel und speichert es in die Vokabel
            _dicVokabel.TryGetValue(first.DeutschesWort, out foo);
            //speichert alle Englischen Wörter in das EnglischeWort Array
            first.EnglischesWort = foo;
            for (int i = 1; i < foo.Length - 1; i++)
            {
                first.EnglischesWort[i - 1] = foo[i];
            }
            ZufäligVokabelnAusgeben();
            //Return ob richtig oder falsch
            if (first.CheckResult(first.UserEingabe))
            {
                MessageBox.Show("Richtig");
                first.AnzahlRichtig++;
            }
            else
            {
                MessageBox.Show("Falsch");
                first.AnzahlFalsch++;
            }
        }

        void ZufäligVokabelnAusgeben()
        {
            Random rnd = new Random();
            pZuffi = rnd.Next(_dicVokabel.Count);
            //return _dicVokabel.ElementAt(rnd.Next(0, _dicVokabel.Count)).Value;
            string xs = _dicVokabel.ElementAt(pZuffi).Key;
            //schreibe string in das Label


        }
    }
}
<file_sep>/WPFGehirnJogging/MainWindow.xaml.cs
﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using WPFGehirnJogging.Klassen;

namespace WPFGehirnJogging
{
    /// <summary>
    /// Interaktionslogik für MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            double Width = SystemParameters.PrimaryScreenWidth;
            double Height = SystemParameters.PrimaryScreenHeight;
            this.Width = Width;
            this.Height = Height;
            this.ResizeMode = ResizeMode.NoResize;
            //Iniatilisierung von NavigationService
            NavigationService navigationService = NavigationService.GetNavigationService(this);
            Loaded += MainWindow_Loaded;

        }

        private void MainWindow_Loaded(object sender, RoutedEventArgs e)
        {
            //Beim Starten wird das Menü in das MainFrame geladen
            MainFrame.NavigationService.Navigate(new Uri("Menü.xaml", UriKind.Relative));
        }
    }
}
<file_sep>/WPFGehirnJogging/Klassen/Aufgaben/CMatheAufgabe.cs
﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WPFGehirnJogging.Klassen.Aufgaben
{
    class CMatheAufgabe:CAufgaben
    {
    }
}
<file_sep>/WPFGehirnJogging/Klassen/CVokabelübung.cs
﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WPFGehirnJogging.Klassen
{
    class CVokabelübung
    {

    }
}
<file_sep>/WPFGehirnJogging/Klassen/Test/CTest.cs
﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WPFGehirnJogging
{
    class CTest
    {
        //ToDo Struct Siehe Foto iPhone

        private string _beschreibung;
        private int _minuten;
        private int _anzahlAufgaben;
        private int _anzahlFalsch, _anzahlRichtig;

        public CTest()
        {
            
        }
    }
}
<file_sep>/WPFGehirnJogging/Klassen/Aufgaben/CAufgaben.cs
﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Security.RightsManagement;
using System.Text;
using System.Threading.Tasks;

namespace WPFGehirnJogging.Klassen
{
    class CAufgaben
    {
        public void DisplayAufgabe()
        {
            
        }

        public virtual void DisplayResult()
        {
            
        }


        public virtual bool CheckResult(string Result)
        {
            return true;
        }
    }
}
<file_sep>/WPFGehirnJogging/Klassen/Aufgaben/CVokabel.cs
﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WPFGehirnJogging.Klassen
{
    internal class CVokabel : CAufgaben
    {
        private string _deutscheWort, _userEingabe;
        private string[] _englischesWort;
        private int _anzahlRichtig, _anzahlFalsch;

        public CVokabel()
        {
            _deutscheWort="";
            _userEingabe = "";
            _anzahlFalsch = 0;
            _anzahlRichtig = 0;
        }

        public string DeutschesWort { get => _deutscheWort; set => _deutscheWort = value; }
        public string UserEingabe { get => _userEingabe; set => _userEingabe = value; }
        public string[] EnglischesWort { get => _englischesWort; set => _englischesWort = value; }
        public int AnzahlFalsch { get => _anzahlFalsch; set => _anzahlFalsch = value; }
        public int AnzahlRichtig { get => _anzahlRichtig; set => _anzahlRichtig = value; }

        public override void DisplayResult()
        {
            
        }

        public override bool CheckResult(string Result)
        {
            return EnglischesWort.Contains(Result);
        }
        
    }
}
<file_sep>/WPFGehirnJogging/Klassen/Test/CVokabeltest.cs
﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace WPFGehirnJogging.Klassen
{
    class CVokabeltest:CTest
    {
        public CVokabeltest()
        {
            
        }

        public Dictionary<string, string[]> CsvEinlesen()
        {
            //Einlesen der CSV Datei und speichern der Vokabeln in ein Dictionary
            string filesource = "C:\\Users\\jonaspenner\\source\\repos\\WPFGehirnJogging\\vl.csv";
            if (File.Exists(filesource))
            {
                Dictionary<string, string[]> dic = new Dictionary<string, string[]>();
                string[] lines = File.ReadAllLines(filesource);
                StreamReader streamReader = new StreamReader(filesource);
                var rowValue = streamReader.ReadLine();
                var values = rowValue.Split(';');
                for (var i = 0; i < lines.Length; i++)
                {
                    values = lines[i].Split(separator: ';');
                    //Deklaration von der Vokabel
                    var vocab = new CVokabel
                    {
                        DeutschesWort = values[0],
                        EnglischesWort = values
                    };
                    dic.Add(vocab.DeutschesWort, vocab.EnglischesWort);
                }
                return dic;
            }
            else
            {
                throw new FileNotFoundException();
            }
        }
    }
}
<file_sep>/WPFGehirnJogging/Menü.xaml.cs
﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace WPFGehirnJogging
{
    /// <summary>
    /// Interaktionslogik für Menü.xaml
    /// </summary>
    public partial class Menü : Page
    {
        public Menü()
        {
            InitializeComponent();
        }

        private void BtnVokabeltrainer_Click(object sender, RoutedEventArgs e)
        {
            NavigationService?.Navigate(new Uri("Vokabeltrainer.xaml", UriKind.Relative));
        }
    }
}
<file_sep>/WPFGehirnJogging/Klassen/CBenutzer.cs
﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WPFGehirnJogging.Klassen
{
    class CBenutzer
    {
        private string _vorname, _nachname;
        private int _sucessindicator;

        public CBenutzer(string Vorname, string Nachname)
        {
            _vorname = Vorname;
            _nachname = Nachname;
            _sucessindicator = 0;
        }
    }
}
