Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        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));
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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));
        }
Exemple #6
0
        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);
		}
Exemple #8
0
        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));
        }
Exemple #9
0
        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);
        }
Exemple #10
0
        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));
        }