using System; using System.Collections.Generic; using System.Data; using System.Drawing; using System.Linq; using System.Text.RegularExpressions; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace Phonebook { public partial class Modal : System.Web.UI.UserControl { public event EventHandler<EventRefresh> Navigate; DataQuery dataquery = new DataQuery(); protected void Page_Load(object sender, EventArgs e) { } public void show(int ID) { cacheClear(); insertContactsLbl.Visible = false; updateContactsLbl.Visible = false; insId.Text = ID.ToString(); HF.Value = ID.ToString(); if (ID > 0) { updateContactsLbl.Visible = true; DataQuery dataquery = new DataQuery(); DataTable dt = dataquery.getDataById(ID.ToString()); insId.Text = dt.Rows[0]["ID"].ToString(); insName.Text = dt.Rows[0]["Name"].ToString(); insLname.Text = dt.Rows[0]["Lname"].ToString(); insPhone.Text = dt.Rows[0]["Phone"].ToString(); insEmail.Text = dt.Rows[0]["email"].ToString(); RadioButtonList1.SelectedValue = dt.Rows[0]["gentype"].ToString(); DropDownList1.SelectedValue = dt.Rows[0]["country"].ToString(); DateTime date = (DateTime)dt.Rows[0]["birthdate"]; datatextbox.Text = date.ToString("dd/MM/yyyy"); } else { insertContactsLbl.Visible = true; } ScriptManager.RegisterStartupScript(Page, Page.GetType(), Guid.NewGuid().ToString(), "<script> document.getElementById('myModal').style.display='block'</script>", false); UpdatePanel2.Update(); } protected void close_Click(object sender, EventArgs e) { ScriptManager.RegisterStartupScript(Page, Page.GetType(), Guid.NewGuid().ToString(), "<script> document.getElementById('myModal').style.display='none'</script>", false); cacheClear(); EventHandler<EventRefresh> handler = Navigate; if (handler != null) { EventRefresh args = new EventRefresh(); args.Refresh = "Works"; handler(this, args); } } protected void headClose_Click(object sender, EventArgs e) { cacheClear(); ScriptManager.RegisterStartupScript(Page, Page.GetType(), Guid.NewGuid().ToString(), "<script> document.getElementById('myModal').style.display='none'</script>", false); EventHandler<EventRefresh> handler = Navigate; if (handler != null) { EventRefresh args = new EventRefresh(); args.Refresh = "Works"; handler(this, args); } } public void cacheClear() { string clearDropDown = ""; insId.Text = string.Empty; insName.Text = string.Empty; insLname.Text = string.Empty; insPhone.Text = string.Empty; insEmail.Text = string.Empty; DropDownList1.SelectedValue = clearDropDown; datatextbox.Text = string.Empty; RadioButtonList1.SelectedValue = null; errFname.Visible = false; errLname.Visible = false; errPhone.Visible = false; errEmail.Visible = false; errCountry.Visible = false; errGenderTwo.Visible = false; errDateLbl.Visible = false; } protected void insandupd_Click(object sender, EventArgs e) { string patternName = @"^([\u0400-\u04FF']{3,100})$|^([a-zA-z ']{3,100})$"; string patternLname = @"^([\u0400-\u04FF']{3,100})$|^([a-zA-z ']{3,100})$"; string patternPhone = @"^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}$"; string patternEmail = @"\A(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)\Z"; string patternDate = @"^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[13-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$"; errFname.Visible = false; errLname.Visible = false; errPhone.Visible = false; errEmail.Visible = false; errCountry.Visible = false; errDateLbl.Visible = false; errGenderTwo.Visible = false; //Check first string if (Regex.IsMatch(insName.Text, patternName) && Regex.IsMatch(insLname.Text, patternLname) && Regex.IsMatch(insPhone.Text, patternPhone) && Regex.IsMatch(insEmail.Text, patternEmail) && RadioButtonList1.SelectedValue != "" && DropDownList1.SelectedValue != "" && Regex.IsMatch(datatextbox.Text, patternDate)) { string err; err = dataquery.insert(Convert.ToInt32(insId.Text), insName.Text, insLname.Text, insPhone.Text, insEmail.Text, Convert.ToInt32(RadioButtonList1.SelectedValue), DropDownList1.SelectedValue, datatextbox.Text); cacheClear(); ScriptManager.RegisterStartupScript(Page, Page.GetType(), Guid.NewGuid().ToString(), "<script> document.getElementById('myModal').style.display='none'</script>", false); } else { if (!Regex.IsMatch(insName.Text, patternName)) { errFname.Visible = true; errFname.ForeColor = Color.OrangeRed; } if (!Regex.IsMatch(insLname.Text, patternLname)) { errLname.Visible = true; errLname.ForeColor = Color.OrangeRed; } if (!Regex.IsMatch(insPhone.Text, patternPhone)) { errPhone.Visible = true; errPhone.ForeColor = Color.OrangeRed; } if (!Regex.IsMatch(insEmail.Text, patternEmail)) { errEmail.Visible = true; errEmail.ForeColor = Color.OrangeRed; } if (DropDownList1.SelectedValue == "") { errCountry.Visible = true; errCountry.ForeColor = Color.OrangeRed; } if (!Regex.IsMatch(datatextbox.Text, patternDate)) { errDateLbl.Visible = true; errDateLbl.ForeColor = Color.OrangeRed; } if (RadioButtonList1.SelectedValue == "") { errGenderTwo.Visible = true; errGenderTwo.ForeColor = Color.OrangeRed; } } UpdatePanel2.Update(); EventHandler<EventRefresh> handler = Navigate; if (handler != null) { EventRefresh args = new EventRefresh(); args.Refresh = "Works"; handler(this, args); } } } // Events (auto refresh) public class EventRefresh : EventArgs { public string Refresh { get; set; } } }