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 markedUsers = new List(); 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 markedUsers = new List(); 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)); 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) { } } }