public ActionResult Index(FeedbackViewModel model, bool?captchaValid = null) { ////if (!captchaValid) ////{ //// this.ModelState.AddModelError("Captcha", Resource.FeedbackIndex.Invalid_captcha); ////} if (this.ModelState.IsValid) { var report = new FeedbackReport { Content = model.Content, Email = model.Email, Name = model.Name, UserId = this.UserProfile.Id }; this.Data.FeedbackReports.Add(report); this.Data.SaveChanges(); this.TempData[GlobalConstants.InfoMessage] = Resource.FeedbackIndex.Feedback_submitted; return(this.RedirectToAction("Submitted")); } return(this.View(model)); }
public ActionResult Index(FeedbackViewModel model, bool captchaValid) { if (!captchaValid) { this.ModelState.AddModelError("Captcha", Resource.FeedbackIndex.Invalid_captcha); } if (this.ModelState.IsValid) { var report = new FeedbackReport { Content = model.Content, Email = model.Email, Name = model.Name }; if (this.User.Identity.IsAuthenticated) { var userProfile = this.Data.Users.GetByUsername(this.User.Identity.Name); report.User = userProfile; } this.Data.FeedbackReports.Add(report); this.Data.SaveChanges(); this.TempData[GlobalConstants.InfoMessage] = Resource.FeedbackIndex.Feedback_submitted; return(this.RedirectToAction("Submitted")); } return(this.View(model)); }
public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "get", Route = null)] HttpRequest req, ILogger log) { List <FeedbackReport> data = new List <FeedbackReport>(); string requestBody = await new StreamReader(req.Body).ReadToEndAsync(); using (SqlConnection connection = new SqlConnection(Environment.GetEnvironmentVariable("connectionString"))) { string oString = "select SubjectName,FeedbackSentiment FROM Feedback"; SqlCommand oCmd = new SqlCommand(oString, connection); connection.Open(); using (SqlDataReader oReader = oCmd.ExecuteReader()) { while (oReader.Read()) { FeedbackReport feedbackReport = new FeedbackReport(); feedbackReport.SubjectName = oReader["SubjectName"].ToString(); feedbackReport.FeedbackSentiment = oReader["FeedbackSentiment"].ToString(); data.Add(feedbackReport); } connection.Close(); } } return(new OkObjectResult(data)); }
public void IndexActionShouldReturnTheModelIfPostIsNotValid() { var feedback = new FeedbackReport { Name = "Ivaylo", Content = "Test", }; var user = new UserProfile { UserName = LoggedUserName, Email = "*****@*****.**", }; this.EmptyOjsData.Users.Add(user); this.EmptyOjsData.SaveChanges(); var controller = new FeedbackController(EmptyOjsData); // assign the fake context var context = new ControllerContext(this.MockHttpContextBasePost(), new RouteData(), controller); controller.ControllerContext = context; var result = controller.Index(feedback) as ViewResult; var model = result.Model as FeedbackReport; Assert.AreEqual(model.Name, feedback.Name); Assert.AreEqual(model.Content, feedback.Content); }
public async Task <IHttpActionResult> GetFeedbackReport(int id, Guid userId) { FeedbackReport feedbackReport = await db.FeedbackReports.FirstOrDefaultAsync(r => r.Session.Id == id && r.Attendee.ClientId == userId); if (feedbackReport == null) { return(NotFound()); } return(Ok(feedbackReport)); }
public async Task <IHttpActionResult> GetFeedbackReport(int id) { FeedbackReport feedbackReport = await db.FeedbackReports.FindAsync(id); if (feedbackReport == null) { return(NotFound()); } return(Ok(feedbackReport)); }
public async Task<ActionResult> Post(FeedbackReport feedback) { if (ModelState.IsValid) { _db.Entry(feedback).State = EntityState.Modified; await _db.SaveChangesAsync(); return RedirectToAction("Index"); } return View("Index", feedback); }
public ActionResult Index(FeedbackReport feedback) { if (ModelState.IsValid) { if (User.Identity.IsAuthenticated) { var userProfile = this.Data.Users.GetByUsername(User.Identity.Name); feedback.User = userProfile; } this.Data.FeedbackReports.Add(feedback); this.Data.SaveChanges(); return(this.RedirectToAction("Submitted")); } return(this.View(feedback)); }
private FeedbackReport ConvertReportSubmissionToFeedbackReport(FeedbackReportSubmission reportSubmission) { var feedback = new FeedbackReport { Session = Session.Session, RatePresentation = reportSubmission.RatePresentation, RateContent = reportSubmission.RateContent, RateDelivery = reportSubmission.RateDelivery, RateSlides = reportSubmission.RateSlides, RateDemos = reportSubmission.RateDemos, LikeComments = reportSubmission.LikeComments, DislikeComments = reportSubmission.DislikeComments, GeneralComments = reportSubmission.GeneralComments }; return(feedback); }
public async Task <IHttpActionResult> PostFeedbackReport(FeedbackReportSubmission feedbackReport) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var report = await db.FeedbackReports.FirstOrDefaultAsync(fbr => fbr.Session.Id == feedbackReport.SessionId && fbr.Attendee.ClientId == feedbackReport.ClientId); var attendee = await db.Attendees.FirstOrDefaultAsync(a => a.ClientId == feedbackReport.ClientId) ?? new Attendee { ClientId = feedbackReport.ClientId }; attendee.Name = string.IsNullOrWhiteSpace(feedbackReport.UserName) ? attendee.Name : feedbackReport.UserName; var session = await db.Sessions.FirstOrDefaultAsync(s => s.Id == feedbackReport.SessionId); if (report == null) { report = new FeedbackReport(); db.FeedbackReports.Add(report); } report.Attendee = attendee; report.RatePresentation = feedbackReport.RatePresentation; report.RateContent = feedbackReport.RateContent; report.RateDelivery = feedbackReport.RateDelivery; report.RateSlides = feedbackReport.RateSlides; report.RateDemos = feedbackReport.RateDemos; report.LikeComments = feedbackReport.LikeComments; report.DislikeComments = feedbackReport.DislikeComments; report.GeneralComments = feedbackReport.GeneralComments; report.Session = session; await db.SaveChangesAsync(); return(CreatedAtRoute("DefaultApi", new { id = report.Id }, feedbackReport)); }