summaryrefslogtreecommitdiff
path: root/Project-Unite/Controllers
diff options
context:
space:
mode:
authorMichael <[email protected]>2017-05-18 21:25:20 -0400
committerMichael <[email protected]>2017-05-18 21:25:20 -0400
commit9b06522c668ff8d2c27367529553eab6bded2021 (patch)
tree7ee18e49870a63951bc8cc35ccb92c016f1bf85c /Project-Unite/Controllers
parentcb9e12c980fa6abd64b0a3c57afc6496d60ca89f (diff)
downloadproject-unite-9b06522c668ff8d2c27367529553eab6bded2021.tar.gz
project-unite-9b06522c668ff8d2c27367529553eab6bded2021.tar.bz2
project-unite-9b06522c668ff8d2c27367529553eab6bded2021.zip
feedback
Diffstat (limited to 'Project-Unite/Controllers')
-rw-r--r--Project-Unite/Controllers/HomeController.cs46
1 files changed, 46 insertions, 0 deletions
diff --git a/Project-Unite/Controllers/HomeController.cs b/Project-Unite/Controllers/HomeController.cs
index 53fe20d..20141ce 100644
--- a/Project-Unite/Controllers/HomeController.cs
+++ b/Project-Unite/Controllers/HomeController.cs
@@ -4,12 +4,58 @@ using System.Linq;
using System.Net;
using System.Web;
using System.Web.Mvc;
+using Microsoft.AspNet.Identity;
using Project_Unite.Models;
namespace Project_Unite.Controllers
{
public class HomeController : Controller
{
+ public ActionResult SendFeedback()
+ {
+ var sfm = new SendFeedbackViewModel();
+ if(Request.IsAuthenticated)
+ {
+ var db = new ApplicationDbContext();
+ var user = db.Users.FirstOrDefault(x => x.UserName == User.Identity.Name);
+ sfm.Name = (string.IsNullOrWhiteSpace(user.FullName)) ? user.DisplayName : user.FullName;
+ sfm.Email = user.Email;
+ }
+ return View(sfm);
+ }
+
+ [HttpPost]
+ [ValidateAntiForgeryToken]
+ public ActionResult SendFeedback(SendFeedbackViewModel model)
+ {
+ if (!ModelState.IsValid)
+ return View(model);
+
+ var db = new ApplicationDbContext();
+ var siteconfig = db.Configs.FirstOrDefault();
+
+ var mailsender = new EmailService();
+ var message = new IdentityMessage
+ {
+ Destination = siteconfig.FeedbackEmail,
+ Subject = "[Feedback] " + model.Name,
+ Body = $@"<h1>Project: Unite Feedback</h1>
+
+<dl>
+ <dt>From:</dt>
+ <dd>{model.Name} [{model.Email}]</dd>
+ <dt>Type:</dt>
+ <dd>{model.FeedbackType}</dd>
+</dl>
+
+<hr/>
+
+{ACL.MarkdownRaw(model.Body)}"
+ };
+ mailsender.SendAsync(message);
+ return RedirectToAction("Index");
+ }
+
public ActionResult AccessDenied()
{
return View();