dbwizard/SchoolEditor.cs

75 lines
2.6 KiB
C#

using DBWizard.Models;
using System;
using System.ComponentModel;
using System.Text.RegularExpressions;
using System.Windows.Forms;
namespace DBWizard
{
public partial class frmSchoolEditor : Form
{
public frmSchoolEditor()
{
InitializeComponent();
}
/* Ensure the new school textbox has something in it.
* INPUT: no args
* OUTPUT: File to disk.
*/
private void nameTextBox_Validating(object sender, CancelEventArgs e)
{
TextBox tb = (TextBox)sender;
if (!Regex.IsMatch(tb.Text, "[A-Za-z]{2,}"))
errorProvider1.SetError(tb, "Enter a value a-z only of length two or longer.");
else
errorProvider1.SetError(tb, "");
}
/* Adds a new school to the SQLite database.
* INPUT: string schoolname
* OUTPUT: New row to sqlite database
*/
private void btnAddSchool_Click(object sender, EventArgs e)
{
School NewSchool;
SqliteDataAccess SqliteDataAccess2 = new SqliteDataAccess();
// validate the form
// Check to see if any control is in error.
foreach (Control c in errorProvider1.ContainerControl.Controls)
{
if (errorProvider1.GetError(c) != "")
{
MessageBox.Show("School not saved due to errors on the form!", "KentYouthDB", MessageBoxButtons.OK, MessageBoxIcon.None);
return;
}
}
//Check to see if the school is already in the database.
//if so, do not add the school to the DB again.
NewSchool = SqliteDataAccess2.GetSchoolByName(schoolNameTextBox.Text);
if(NewSchool != null)
{
MessageBox.Show("School already exists in the database, not saved.", "KentYouthDB", MessageBoxButtons.OK, MessageBoxIcon.None);
return;
}
//Create a new school object and collect up the data.
NewSchool = new School();
NewSchool.name = schoolNameTextBox.Text;
//insert the new school to the backend db
SqliteDataAccess2.InsertNewSchool(NewSchool);
//Display a friendly message and cleanup the textbox for any new entry.
MessageBox.Show("School added to the database.", "KentYouthDB", MessageBoxButtons.OK, MessageBoxIcon.None);
schoolNameTextBox.Text = string.Empty;
//Close the form.
Close();
}
}
}