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; using System.Data.SqlClient; public partial class emailFriend : System.Web.UI.Page { protected string emailFormsFrom = ConfigurationManager.AppSettings["emailFormsFrom"].ToString(); protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { Page.SetFocus(txtToEmail); Master.NavType = "event"; } } protected void btnSubmit_Click(object sender, EventArgs e) { string toEmail = txtToEmail.Text.Trim(); string fromEmail = txtFromEmail.Text.Trim(); string msg = txtMessage.Text.Trim(); SendEmail(toEmail, fromEmail, msg); } private void SendEmail(string toEmail, string fromEmail, string msg) { int eventId = Int32.Parse(Request.QueryString["eventId"].ToString()); EventsDb eventsDb = new EventsDb(); Event thisEvent = eventsDb.GetEvent(eventId); string eventDates = EventDates(eventId); string metroStops = MetroStops(eventId); string fullAddress = FullLocation(thisEvent.Address, thisEvent.City, thisEvent.State); StringBuilder sbMsg = new StringBuilder(); sbMsg.Append("

You received this message from: " + fromEmail + "

"); if (msg.Length > 0 ) sbMsg.Append("

" + msg + "

"); sbMsg.Append("
"); if (thisEvent.EventName.Length > 0) sbMsg.Append("Event: " + thisEvent.EventName + "
"); if (eventDates.Length > 0) sbMsg.Append("Date(s): " + eventDates + "
"); if (thisEvent.WebSite.Length > 0) sbMsg.Append("Url: " + "" + thisEvent.WebSite + "
"); if (thisEvent.FullDescr.Length > 0) sbMsg.Append("Description: " + thisEvent.FullDescr + "
"); if (thisEvent.Frequency.Length > 0) sbMsg.Append("Frequency: " + thisEvent.Frequency + "
"); if (thisEvent.Times.Length > 0) sbMsg.Append("Time(s): " + thisEvent.Times + "
"); if (thisEvent.Fees.Length > 0) sbMsg.Append("Admission: " + thisEvent.Fees + "
"); if (fullAddress.Length > 0) sbMsg.Append("Location: " + fullAddress + "
"); if (thisEvent.Venue.Length > 0) sbMsg.Append("Venue: " + thisEvent.Venue + "
"); if (thisEvent.Phone.Length > 0) sbMsg.Append("Phone: " + thisEvent.Phone + "
"); if (thisEvent.Email.Length > 0) sbMsg.Append("Email: " + thisEvent.Email + "
"); if (metroStops.Length > 0) sbMsg.Append("Metro Stops: " + metroStops + "
"); if (thisEvent.CirculatorStops.Length > 0) sbMsg.Append("Circulator: " + thisEvent.CirculatorStops + "
"); sbMsg.Append("
"); sbMsg.Append("

Washington, DC Convention & Tourism Corporation
www.washington.org

"); string body = sbMsg.ToString(); MailMessage mm = new MailMessage(emailFormsFrom, toEmail); MailAddress msgfromEmail = new MailAddress(fromEmail); mm.ReplyTo = msgfromEmail; mm.Subject = "Summer FREEdom Savings"; mm.Body = body; mm.IsBodyHtml = true; SmtpClient smtp = new SmtpClient(); smtp.Send(mm); Response.Redirect("emailFriendConfirm.aspx"); } public string MetroStops(int eventId) { EventsDb eventsDb = new EventsDb(); SqlDataReader objReader = eventsDb.GetEventMetroStops(eventId); string metroStops = ""; ArrayList al = new ArrayList(); while (objReader.Read()) { if (objReader["MetroStop"] != DBNull.Value) { al.Add(" " + objReader["MetroStop"].ToString()); } } Utils utils = new Utils(); metroStops = utils.ArrayListToString(al); return metroStops; } public string EventDates(int eventId) { EventsDb eventsDb = new EventsDb(); SqlDataReader objReader = eventsDb.GetEventDates(eventId); string eventDates = ""; string startDate = ""; string endDate = ""; while (objReader.Read()) { if (objReader["StartDate"] != DBNull.Value) { startDate = DateTime.Parse(objReader["StartDate"].ToString()).ToString("MMM d"); } if (objReader["EndDate"] != DBNull.Value) { endDate = "-" + DateTime.Parse(objReader["EndDate"].ToString()).ToString("MMM d"); } eventDates = eventDates + startDate + endDate + " "; } return eventDates; } public string FullLocation(string address, string city, string state) { string fullLocation = ""; if (address.Length > 0) { fullLocation += address; } if (city.Length > 0) { fullLocation += ", " + city; } if (state.Length > 0) { fullLocation += ", " + state; } return fullLocation; } }