Skip to content

Commit

Permalink
read/write functionality of ruleset
Browse files Browse the repository at this point in the history
  • Loading branch information
vigi86 committed May 14, 2023
1 parent 29cda8f commit 328ba43
Show file tree
Hide file tree
Showing 3 changed files with 102 additions and 31 deletions.
4 changes: 0 additions & 4 deletions src/DLP_Win/DLP_Win/frmMain.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

114 changes: 87 additions & 27 deletions src/DLP_Win/DLP_Win/frmMain.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,54 @@ public partial class frmMain : Form
private bool datagridChanged = false;
private string AHV_NR = Properties.Settings.Default.AHV_NR; // @".*756\.\d{4}\.\d{4}\.\d{2}.*";
private string CUSTOMER_NR = Properties.Settings.Default.CUSTOMER_NR; // @"\d{2}\.\d{5}-\d";

/// <summary>
/// Konstruktor.
/// </summary>
public frmMain()
{

InitializeComponent();


dataGridView1.DataSource = rulesets;
string rulesetPath = Path.Combine(Application.StartupPath, "lof");
if (File.Exists(rulesetPath))
{
string path;
//Liest Datei mit letzten Pfad für Ruleset
using (StreamReader reader = new StreamReader(rulesetPath))
{
string path = reader.ReadToEnd();
openRulesetDialog.InitialDirectory = path;
path = reader.ReadToEnd();
if (path != "")
{
//Setze Pfad für Öffnen/Speichern Dialoge
openRulesetDialog.InitialDirectory = path;
saveRulesetDialog.InitialDirectory = path;
}
}

//Ruleset einlesen
if (File.Exists(path))
{
openRulesetDialog.FileName = path;
openRulesetDialog_FileOk(this, new System.ComponentModel.CancelEventArgs());
}
}
else
{
//Ansonsten setzte Applikationspfad als Startpfad
openRulesetDialog.InitialDirectory = Application.StartupPath;
saveRulesetDialog.InitialDirectory = Application.StartupPath;
}
this.dataGridView1.CellValueChanged += dataGridView1_CellValueChanged;
}

/// <summary>
/// Event wenn Zellenwert geändert wurde.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
try
Expand All @@ -46,25 +78,43 @@ private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEvent
}
}

/// <summary>
/// Sortierfunktion für Spalte Index.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void dataGridView1_SortCompare(object sender, DataGridViewSortCompareEventArgs e)
{
if (e.Column.Name == "colIndex") // nur für die Spalte "Index"
{
int value1, value2;
if (int.TryParse(e.CellValue1.ToString(), out value1) &&
int.TryParse(e.CellValue2.ToString(), out value2))
if (e.CellValue1 != null && e.CellValue2 != null)
{
e.SortResult = value1.CompareTo(value2);
e.Handled = true;
if (int.TryParse(e.CellValue1.ToString(), out value1) &&
int.TryParse(e.CellValue2.ToString(), out value2))
{
e.SortResult = value1.CompareTo(value2);
e.Handled = true;
}
}
}
}

/// <summary>
/// Applikation beenden.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void toolStripMenuItemExit_Click(object sender, EventArgs e)
{
this.Close();
}

/// <summary>
/// Event wenn Applikation schliesst.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
{
if (datagridChanged)
Expand All @@ -73,7 +123,7 @@ private void frmMain_FormClosing(object sender, FormClosingEventArgs e)

if (result == DialogResult.Yes)
{
// Änderungen speichern
saveRulesetDialog_FileOk(sender, new System.ComponentModel.CancelEventArgs());
}
else if (result == DialogResult.Cancel)
{
Expand All @@ -82,18 +132,21 @@ private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
}
}

/// <summary>
/// Überprüft die Eingabe einer Zelle im Grid.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
//Überprüft spezifisch die Spalte "Index" auf eine Zahl grösser 0.
if (dataGridView1.Columns[e.ColumnIndex].Name == "colIndex")
{
try
{

if (e.FormattedValue is not null or not "")
if (e.FormattedValue is not null)
{
string s = e.FormattedValue.ToString();

if (e.FormattedValue == "")
if (e.FormattedValue.ToString() == "")
{
return;
}
Expand Down Expand Up @@ -138,6 +191,11 @@ private void dataGridView1_CellBeginEdit(object sender, DataGridViewCellCancelEv
this.originalCellValue = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value?.ToString();
}

/// <summary>
/// Datei wird geöffnet.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void openRulesetDialog_FileOk(object sender, System.ComponentModel.CancelEventArgs e)
{
string fileName = openRulesetDialog.FileName;
Expand Down Expand Up @@ -175,6 +233,11 @@ private void openRulesetDialog_FileOk(object sender, System.ComponentModel.Cance
}
}

/// <summary>
/// Datei wird gespeichert.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void saveRulesetDialog_FileOk(object sender, System.ComponentModel.CancelEventArgs e)
{
string fileName = saveRulesetDialog.FileName;
Expand All @@ -187,13 +250,13 @@ private void saveRulesetDialog_FileOk(object sender, System.ComponentModel.Cance
rulesets = new List<Ruleset>();
}

for (int i = 0; i < dataGridView1.Rows.Count; i++)
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
{

Ruleset ruleset = new Ruleset();


ruleset.Index = dataGridView1.Rows[i].Cells[0].Value != null ? Convert.ToUInt32(dataGridView1.Rows[i].Cells[0].Value) : 1000;
ruleset.Index = dataGridView1.Rows[i].Cells[0].Value != null ? Convert.ToUInt32(dataGridView1.Rows[i].Cells[0].Value) : 0;
ruleset.If = dataGridView1.Rows[i].Cells[1].Value?.ToString();
ruleset.Contains = dataGridView1.Rows[i].Cells[2].Value?.ToString();
ruleset.Condition = dataGridView1.Rows[i].Cells[3].Value?.ToString();
Expand All @@ -214,24 +277,21 @@ private void saveRulesetDialog_FileOk(object sender, System.ComponentModel.Cance
datagridChanged = false;
}

private void frmMain_Load(object sender, EventArgs e)
{
//// Lade den Pfad zur zuletzt geöffneten Datei aus den Einstellungen
//string lastOpenedFile = Properties.Settings.Default.LastOpenedFile;


//// Öffne die zuletzt geöffnete Datei, falls vorhanden
//if (!string.IsNullOrEmpty(lastOpenedFile) && File.Exists(lastOpenedFile))
//{
// openRulesetDialog_FileOk(sender, new CancelEventArgs());
//}
}

/// <summary>
/// Dialog zum Datei öffnen.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void rulesetOpenToolStripMenuItem_Click(object sender, EventArgs e)
{
openRulesetDialog.ShowDialog();
}

/// <summary>
/// Dialog zum Datei speichern.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void rulesetSaveToolStripMenuItem_Click(object sender, EventArgs e)
{
saveRulesetDialog.ShowDialog();
Expand Down
15 changes: 15 additions & 0 deletions src/DLP_Win/DLP_Win/frmMain.resx
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,21 @@
<metadata name="colThen.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colIndex.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colIf.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colContains.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colCondition.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colThen.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="mnuMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
Expand Down

0 comments on commit 328ba43

Please sign in to comment.