/// <summary> /// Saves a new WebQuery or updates an already existing WebQuery. /// </summary> /// <param name="WebQuery">WebQuery to be saved.</param> /// <param name="WebQueryId">WebQueryId of the WebQuery creating</param> /// <returns>WebQueryId</returns> public long SaveWebQuery(WebQueryDTO webQueryDTO) { long webQueryId = 0; if (webQueryDTO.WebQueryId == 0) { var webQuery = new WebQuery() { WebQueryId = webQueryDTO.WebQueryId, Body = webQueryDTO.Body, PhoneNumber = webQueryDTO.PhoneNumber, CreatedOn = DateTime.Now, Name = webQueryDTO.Name, EmailAddress = webQueryDTO.EmailAddress, RespondedTo = webQueryDTO.RespondedTo, }; this.UnitOfWork.Get <WebQuery>().AddNew(webQuery); this.UnitOfWork.SaveChanges(); webQueryId = webQuery.WebQueryId; return(webQueryId); } return(webQueryId); }
//Send off query as email public void SendEmail(WebQueryDTO query) { StringBuilder sb = new StringBuilder(); string strNewPath = HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["QueryAsEmail"]); using (StreamReader sr = new StreamReader(strNewPath)) { while (!sr.EndOfStream) { sb.Append(sr.ReadLine()); } } string body = sb.ToString().Replace("#NAME#", query.Name); body = body.Replace("#PHONE#", query.PhoneNumber); body = body.Replace("#QUERY#", query.Body); body = body.Replace("#EMAIL#", query.EmailAddress); Helpers.Email email = new Helpers.Email(); email.MailBodyHtml = body; email.MailToAddress = ConfigurationManager.AppSettings["EmailAddressTo"]; email.MailFromAddress = ConfigurationManager.AppSettings["no-reply-email"]; email.Subject = ConfigurationManager.AppSettings["query_email_subject"]; try { email.SendMail(); logger.Debug("Email sent"); } catch (Exception ex) { logger.Debug("email Not Sent: " + ex.Message); } }