public SermonEmail DetailsForEmail(int SermonID) { SermonEmail details = new SermonEmail(); try { SqlCon.Open(); var SqlCmd = new SqlCommand("[config].[uspReadSermons]", SqlCon) { CommandType = CommandType.StoredProcedure }; SqlParameter pNewID = new SqlParameter { ParameterName = "@SermonID", SqlDbType = SqlDbType.Int, Value = SermonID }; SqlCmd.Parameters.Add(pNewID); using (var dr = SqlCmd.ExecuteReader()) { dr.Read(); if (dr.HasRows) { details.SermonID = Convert.ToInt32(dr["SermonID"]); details.Title = dr["Title"].ToString(); details.Description = dr["Description"].ToString(); details.Tags = dr["Tags"].ToString(); details.SermonDate = Convert.ToDateTime(dr["SermonDate"]); details.ImageURL = dr["ImagePath"].ToString(); details.SermonURL = dr["SermonURL"].ToString(); details.MinisterName = dr["MinisterName"].ToString(); } } } catch (Exception ex) { throw ex; } if (SqlCon.State == ConnectionState.Open) { SqlCon.Close(); } return(details); }
public HttpResponseMessage AddNew([FromBody] Sermons model) { var authHeader = this.Request.Headers.GetValues("Authorization").FirstOrDefault(); var token = authHeader.Substring("Bearer ".Length); var handler = new JwtSecurityTokenHandler(); var jsonToken = handler.ReadToken(token); var tokenS = handler.ReadToken(token) as JwtSecurityToken; var UserName = tokenS.Claims.First(claim => claim.Type == "UserName").Value; var r = SBL.AddNew(model, UserName); if (r > 0) { #region Email SermonEmail Res = SBL.DetailsForEmail(r); MailAddressCollection emailtoBCC = new MailAddressCollection(); List <Users> Subscribers = USBL.Subscribers(0, true); if (Subscribers.Count() > 0) { foreach (var item in Subscribers) { emailtoBCC.Add(item.Email); } } string body = string.Empty; using (StreamReader reader = new StreamReader(HttpContext.Current.Server.MapPath("~/Views/EmailTemplates/NewSermons.html"))) { body = reader.ReadToEnd(); } body = body.Replace("{Title}", Res.Title); body = body.Replace("{MinisterName}", Res.MinisterName); body = body.Replace("{Description}", Res.Description); Emails Email = new Emails() { FromEmail = ConfigurationManager.AppSettings["AdminEmail"].ToString(), ToEmail = ConfigurationManager.AppSettings["Subscribers"].ToString(), SubjectEmail = "Oasis Alajuela ha subido una Prédica", BodyEmail = body }; MailMessage mm = new MailMessage(Email.FromEmail, Email.ToEmail) { Subject = Email.SubjectEmail, Body = Email.BodyEmail, IsBodyHtml = true, BodyEncoding = Encoding.GetEncoding("utf-8") }; if (Subscribers.Count() > 0) { mm.Bcc.Add(emailtoBCC.ToString()); } SmtpClient smtp = new SmtpClient(); smtp.Send(mm); #endregion return(this.Request.CreateResponse(HttpStatusCode.OK, true)); } else { return(this.Request.CreateResponse(HttpStatusCode.InternalServerError)); } }