I am only posting the code behind for Default2.aspx.cs because that is where we made all our changes. We added some validation for the fields and a try catch for the code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
int isErrors=Validator();
if (isErrors == 0)
{
try
{
CommunityAssistEntities cae = new CommunityAssistEntities();
Person p = new Person();
p.LastName = txtLastName.Text;
p.FirstName = txtFirstName.Text;
cae.People.Add(p);
PersonAddress pa = new PersonAddress();
pa.Person = p;
pa.Street = txtStreet.Text;
pa.City = txtCity.Text;
pa.State = txtState.Text;
pa.Zip = txtZip.Text;
cae.PersonAddresses.Add(pa);
PersonContact pc = new PersonContact();
pc.Person = p;
pc.ContactInfo = txtPhone.Text;
pc.ContactTypeKey = 1;
cae.PersonContacts.Add(pc);
PersonContact pc2 = new PersonContact();
pc2.Person = p;
pc2.ContactInfo = txtEmail.Text;
pc2.ContactTypeKey = 6;
cae.PersonContacts.Add(pc2);
Donation d = new Donation();
d.Person = p;
d.DonationDate = DateTime.Now;
d.DonationAmount = decimal.Parse(txtDonation.Text);
cae.Donations.Add(d);
cae.SaveChanges();
Response.Redirect("Default3.aspx");
}
catch (ArgumentNullException en)
{
string msg = en.Message;
CreateAlert(msg);
}
catch (Exception ex)
{
string msg = ex.Message;
CreateAlert(msg);
}
}//end if
}//end method
private int Validator()
{
int errors = 0;
string msg;
if (txtLastName.Text.Equals(""))
{
msg = "last name is required";
CreateAlert(msg);
errors = 1;
}
decimal amount=0;
//try parse tests the text to see if it can be turned into a number
//if no returns false, if true returns true and assigns the value to the
//out parameter
bool isDonation = decimal.TryParse(txtDonation.Text, out amount);
if (!isDonation)
{
msg = "You must enter a numerical donation";
CreateAlert(msg);
errors = 1;
}
if (txtState.Text.Length != 2)
{
msg="Please enter a 2 character state abrv.";
CreateAlert(msg);
errors = 1;
}
return errors;
}
private void CreateAlert(string msg)
{
Response.Write("<script type='text/JavaScript'>alert('" + msg + "')</script>");
}
}
No comments:
Post a Comment