You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
2.6 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|