Example #1
0
        /// <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);
            }
        }