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;
}
}