using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net.Mail;
using System.Text.RegularExpressions;
using ButterfieldGardens.Web;
public partial class contact_index : System.Web.UI.Page
{
String _EmailCode = "";
protected void Page_Load(object sender, EventArgs e)
{
Navigation objNav = new Navigation();
header.InnerHtml = objNav.GetHeader();
nav.InnerHtml = objNav.GetMainNavSideMenu();
slideshow2.InnerHtml = objNav.GetRandomSlideShowImage();
subnav.InnerHtml = objNav.GetSubNavUnderMainImage();
secondary.InnerHtml = objNav.GetContactInfoForSideNav();
footer.InnerHtml = objNav.GetFooter(true, false);
if (Request.QueryString.Get("n") != null)
{
contactForm.Attributes.Remove("action");
contactForm.Attributes.Add("action","/contact/?n=" + Request.QueryString.Get("n"));
_EmailCode = Request.QueryString.Get("n");
}
}
protected void SendMessage(object sender, EventArgs e)
{
if (ValidateForm())
{
if (!ProcessEmail())
{
Literal lit = new Literal();
lit.Text = "There was a problem processing your request. Please try again later.";
lblError.Controls.Add(lit);
lblError.CssClass = "error";
lblError.Visible = true;
}
else
{
Response.Redirect("/contact/thank-you/");
}
}
else
{
Literal lit = new Literal();
lit.Text = "You have provided invalid information. Please try again.";
lblError.Controls.Add(lit);
lblError.CssClass = "error";
lblError.Visible = true;
}
}
private Boolean ValidateForm()
{
Boolean returnVal = true;
if (txtName.Text.Equals(""))
{
returnVal = false;
}
if (!txtEmail.Text.Equals(""))
{
String strRegex = @"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}" +
@"\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\" +
@".)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$";
Regex re = new Regex(strRegex);
if (!re.IsMatch(txtEmail.Text))
{
returnVal = false;
}
}
if (txtPhone.Text.Equals(""))
{
returnVal = false;
}
return returnVal;
}
private Boolean ProcessEmail()
{
MailMessage objMail = new MailMessage();
SmtpClient objSmtp = new SmtpClient();
try
{
String strHTMLMessage = "";
System.IO.StreamReader sr = new System.IO.StreamReader(Server.MapPath("template.html"));
strHTMLMessage = sr.ReadToEnd();
sr.Close();
strHTMLMessage = strHTMLMessage.Replace("_TIMESTAMP_", DateTime.Now.ToShortDateString());
strHTMLMessage = strHTMLMessage.Replace("_FULLNAME_", txtName.Text);
strHTMLMessage = strHTMLMessage.Replace("_MAILADDRESS_", txtAddress.Text);
strHTMLMessage = strHTMLMessage.Replace("_CITY_", txtCity.Text);
strHTMLMessage = strHTMLMessage.Replace("_STATE_", txtState.Text);
strHTMLMessage = strHTMLMessage.Replace("_ZIP_", txtZip.Text);
strHTMLMessage = strHTMLMessage.Replace("_EMAILADDRESS_", txtEmail.Text);
strHTMLMessage = strHTMLMessage.Replace("_PHONE_", txtPhone.Text);
strHTMLMessage = strHTMLMessage.Replace("_MOVE_", ddHowSoon.SelectedValue);
strHTMLMessage = strHTMLMessage.Replace("_HEAR_", txtHowDidYouHear.Text.Replace("\n","
"));
strHTMLMessage = strHTMLMessage.Replace("_COMMENT_", txtComment.Text.Replace("\n", "
"));
objMail.From = new MailAddress("website@butterfieldgardens.com", "ButterfieldGardensMO.com");
objMail.Priority = MailPriority.Normal;
objMail.ReplyTo = new MailAddress(txtEmail.Text, txtName.Text);
objMail.Subject = "Contact Us Email :: ButterfieldGardensMo.com";
objMail.To.Add(new MailAddress(GetStaffEmail(_EmailCode)));
objMail.IsBodyHtml = true;
objMail.Body = strHTMLMessage;
objSmtp.Send(objMail);
objMail.Dispose();
return true;
}
catch (Exception mailException)
{
return false;
}
}
private String GetStaffEmail(String Code)
{
String sEmailAddress = "";
switch (Code)
{
case "bret":
sEmailAddress = "bret@butterfieldgardensmo.com";
break;
case "matt":
sEmailAddress = "matt@butterfieldgardensmo.com";
break;
case "chris":
sEmailAddress = "chris@butterfieldgardensmo.com";
break;
case "nancy":
sEmailAddress = "nancy@butterfieldgardensmo.com";
break;
case "rich":
sEmailAddress = "rich@butterfieldgardensmo.com";
break;
case "pixeliq":
sEmailAddress = "pixeliq@butterfieldgardensmo.com";
break;
default:
sEmailAddress = "info@butterfieldgardensmo.com";
break;
}
return sEmailAddress;
}
}