144 lines
4.6 KiB
C#
144 lines
4.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Text;
|
|
using System.Text.Json;
|
|
using System.Windows.Forms;
|
|
|
|
|
|
namespace it_projekt
|
|
{
|
|
public partial class Form1 : Form
|
|
{
|
|
|
|
private Database db = null;
|
|
public Form1()
|
|
{
|
|
InitializeComponent();
|
|
this.exportBtn.Enabled = false;
|
|
}
|
|
|
|
|
|
private void exportBtn_Click(object sender, EventArgs e)
|
|
{
|
|
if (jsonRBtn.Checked)
|
|
exportJSON();
|
|
else
|
|
exportXML();
|
|
}
|
|
|
|
private void loginBtn_Click(object sender, EventArgs e)
|
|
{
|
|
LoadUsersFromTable(this.userTxt.Text, this.passTxt.Text);
|
|
|
|
}
|
|
|
|
|
|
|
|
public void LoadUsersFromTable(string user, string password)
|
|
{
|
|
db = Database.getDatabase(user, password);
|
|
if (db.Persons == null)
|
|
{
|
|
MessageBox.Show("Connection to Database failed! \nPlease Try again.", "Database Error!");
|
|
}
|
|
else {
|
|
foreach (Person person in db.Persons)
|
|
{
|
|
this.dataGrid.Rows.Add(person.Id, person.Firstname, person.Lastname, person.department_short, person.department_long, person.CreationDate, false);
|
|
}
|
|
}
|
|
}
|
|
|
|
private void dataGrid_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void exportJSON()
|
|
{
|
|
Stream myStream;
|
|
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
|
|
|
|
saveFileDialog1.Filter = "All files (*.*)|*.*|json files (*.json)|*.json";
|
|
saveFileDialog1.FilterIndex = 2;
|
|
saveFileDialog1.RestoreDirectory = true;
|
|
saveFileDialog1.FileName = "benutzer.json";
|
|
|
|
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
|
|
{
|
|
if ((myStream = saveFileDialog1.OpenFile()) != null)
|
|
{
|
|
List<Person> markedUsers = new List<Person>();
|
|
foreach (DataGridViewRow row in dataGrid.Rows)
|
|
{
|
|
if (row.Cells[4].Value != null)
|
|
{
|
|
if (row.Cells[4].Value.ToString() == "True")
|
|
{
|
|
markedUsers.Add(db.Persons.Find(person => person.Id == row.Cells[0].Value.ToString()));
|
|
}
|
|
}
|
|
}
|
|
string json = JsonSerializer.Serialize(markedUsers);
|
|
StreamWriter sw = new StreamWriter(myStream);
|
|
sw.Write(json);
|
|
sw.Flush();
|
|
sw.Close();
|
|
myStream.Close();
|
|
}
|
|
}
|
|
}
|
|
|
|
private void exportXML()
|
|
{
|
|
Stream myStream;
|
|
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
|
|
|
|
saveFileDialog1.Filter = "All files (*.*)|*.*|xml files (*.xml)|*.xml";
|
|
saveFileDialog1.FilterIndex = 2;
|
|
saveFileDialog1.RestoreDirectory = true;
|
|
saveFileDialog1.FileName = "benutzer.xml";
|
|
|
|
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
|
|
{
|
|
if ((myStream = saveFileDialog1.OpenFile()) != null)
|
|
{
|
|
List<Person> markedUsers = new List<Person>();
|
|
foreach (DataGridViewRow row in dataGrid.Rows)
|
|
{
|
|
if (row.Cells[4].Value != null)
|
|
{
|
|
if (row.Cells[4].Value.ToString() == "True")
|
|
{
|
|
markedUsers.Add(db.Persons.Find(person => person.Id == row.Cells[0].Value.ToString()));
|
|
}
|
|
}
|
|
}
|
|
StreamWriter sw = new StreamWriter(myStream);
|
|
var writer = new System.Xml.Serialization.XmlSerializer(typeof(List<Person>));
|
|
writer.Serialize(sw, markedUsers);
|
|
sw.Flush();
|
|
sw.Close();
|
|
myStream.Close();
|
|
}
|
|
}
|
|
}
|
|
|
|
private void Form1_Load(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void jsonRBtn_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void xmlRBtn_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
}
|
|
}
|