203 lines
6.0 KiB
C#
203 lines
6.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Runtime.InteropServices;
|
|
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 ChatController.HauptKlassen;
|
|
using ChatController.Klassen;
|
|
|
|
namespace ChatController
|
|
{
|
|
/// <summary>
|
|
/// Interaktionslogik für Login.xaml
|
|
/// </summary>
|
|
public partial class LoginControl : UserControl
|
|
{
|
|
public delegate void LoginDelegate(ChatDatenUebergabe cdu);
|
|
|
|
public event LoginDelegate OnLogin;
|
|
|
|
private string _dateiPfad = "ChatAnmeldeDaten.txt";
|
|
|
|
public LoginControl()
|
|
{
|
|
InitializeComponent();
|
|
LeseDateiFallsVorhanden();
|
|
}
|
|
|
|
private void AnmeldenButton_OnClick(object sender, RoutedEventArgs e)
|
|
{
|
|
#if DEBUG
|
|
Cursor = Cursors.Wait;
|
|
|
|
|
|
Login _login = new Login("4368658435", "ZMCKb-BckTt", "RuppelW", "ABXT32wgtruppeldiedup");
|
|
|
|
var x = _login.AnmeldevorgangDurchFuehren();
|
|
|
|
if (OnLogin != null)
|
|
{
|
|
if (Merken.IsChecked == true)
|
|
{
|
|
SpeichereDatenInDatei();
|
|
}
|
|
else
|
|
{
|
|
LoescheGespeicherteDatei();
|
|
}
|
|
|
|
OnLogin(x);
|
|
}
|
|
|
|
Cursor = Cursors.Arrow;
|
|
#else
|
|
if (!TextBoxKundennummer.Text.Equals("") && !TextBoxChatCode.Text.Equals("") &&
|
|
!TextBoxBenutzerName.Text.Equals("") && !TextBoxPasswort.Password.Equals(""))
|
|
{
|
|
Cursor = Cursors.Wait;
|
|
|
|
Login _login = new Login(TextBoxKundennummer.Text, TextBoxChatCode.Text, TextBoxBenutzerName.Text, TextBoxPasswort.Password);
|
|
|
|
var x = _login.AnmeldevorgangDurchFuehren();
|
|
|
|
if (OnLogin != null && x != null)
|
|
{
|
|
if (Merken.IsChecked == true)
|
|
{
|
|
SpeichereDatenInDatei();
|
|
}
|
|
else
|
|
{
|
|
LoescheGespeicherteDatei();
|
|
}
|
|
|
|
OnLogin(x);
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("Die AnmeldeDaten sind Falsch!", "Info", MessageBoxButton.OK);
|
|
}
|
|
|
|
Cursor = Cursors.Arrow;
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("Bitte alle Felder ausfüllen!", "Info", MessageBoxButton.OK);
|
|
}
|
|
#endif
|
|
|
|
}
|
|
|
|
|
|
#region Speichern / Laden / Löschen der Datei
|
|
|
|
private void LeseDateiFallsVorhanden()
|
|
{
|
|
try
|
|
{
|
|
if (File.Exists(_dateiPfad)) {
|
|
|
|
List<string> daten = new List<string>();
|
|
using (StreamReader sr = new StreamReader(_dateiPfad,true))
|
|
{
|
|
string line = "";
|
|
|
|
while ((line = sr.ReadLine()) != null)
|
|
{
|
|
var encodedTextBytes = Convert.FromBase64String(line);
|
|
|
|
string plainText = Encoding.UTF8.GetString(encodedTextBytes);
|
|
|
|
daten.Add(plainText);
|
|
}
|
|
}
|
|
|
|
if(daten.Count == 5) {
|
|
TextBoxKundennummer.Text = daten[0];
|
|
TextBoxChatCode.Text = daten[1];
|
|
TextBoxBenutzerName.Text = daten[2];
|
|
TextBoxPasswort.Password = daten[3];
|
|
Merken.IsChecked = Convert.ToBoolean(daten[4]);
|
|
}
|
|
|
|
}
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
MessageBox.Show("Ups, da ist was schief gelaufen: \n" + e.Message, "Fehler", MessageBoxButton.OK);
|
|
}
|
|
}
|
|
|
|
private void SpeichereDatenInDatei()
|
|
{
|
|
try
|
|
{
|
|
using (StreamWriter sw = new StreamWriter(_dateiPfad))
|
|
{
|
|
|
|
Encoding enc = new UTF8Encoding();
|
|
var byt = enc.GetBytes(TextBoxKundennummer.Text);
|
|
var bytes = Convert.ToBase64String(byt);
|
|
|
|
var byt2 = enc.GetBytes(TextBoxChatCode.Text);
|
|
var bytes2 = Convert.ToBase64String(byt2);
|
|
|
|
var byt3 = enc.GetBytes(TextBoxBenutzerName.Text);
|
|
var bytes3 = Convert.ToBase64String(byt3);
|
|
|
|
|
|
var byt4 = enc.GetBytes(TextBoxPasswort.Password);
|
|
var bytes4 = Convert.ToBase64String(byt4);
|
|
|
|
var byt5 = enc.GetBytes(Merken.IsChecked.ToString());
|
|
var bytes5 = Convert.ToBase64String(byt5);
|
|
|
|
|
|
sw.WriteLine(bytes);
|
|
sw.WriteLine(bytes2);
|
|
sw.WriteLine(bytes3);
|
|
sw.WriteLine(bytes4);
|
|
sw.WriteLine(bytes5);
|
|
|
|
File.SetAttributes(_dateiPfad, FileAttributes.ReadOnly);
|
|
}
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
MessageBox.Show("Ups, da ist was schief gelaufen: \n" + e.Message, "Fehler", MessageBoxButton.OK);
|
|
}
|
|
}
|
|
|
|
private void LoescheGespeicherteDatei()
|
|
{
|
|
try
|
|
{
|
|
if (File.Exists(_dateiPfad))
|
|
{
|
|
File.Delete(_dateiPfad);
|
|
}
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
MessageBox.Show("Ups, da ist was schief gelaufen: \n" + e.Message, "Fehler", MessageBoxButton.OK);
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
}
|
|
|
|
|
|
}
|