public async Task <IHttpActionResult> PutPendingQuestion(int id, PendingQuestion question) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != question.Id) { return(BadRequest()); } db.Entry(question).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!PendingQuestionExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public async Task <IHttpActionResult> PostFAQ(PendingQuestion faq) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.PendingQuestions.Add(faq); await db.SaveChangesAsync(); SmtpClient client = new SmtpClient(); client.Port = 587; client.Host = "mail.privateemail.com"; client.EnableSsl = true; client.Timeout = 60000; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.UseDefaultCredentials = false; client.Credentials = new System.Net.NetworkCredential("*****@*****.**", "WedM3!"); MailMessage mm = new MailMessage( "*****@*****.**", "*****@*****.**", "Someone asked a question", string.Format("From: {0} Question: {1}", faq.ReplyEmail, faq.Question)); mm.BodyEncoding = UTF8Encoding.UTF8; mm.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure; client.Send(mm); //TODO: save new faqs to the db. return(CreatedAtRoute("DefaultApi", new { id = faq.Id }, faq)); //db.FAQs.Add(faq); //await db.SaveChangesAsync(); //return CreatedAtRoute("DefaultApi", new { id = faq.FAQId }, faq); }