Exemplo n.º 1
0
        public ActionResult Create(string id, int announcement)
        {
            ReviewForAnnouncement model = new ReviewForAnnouncement();

            model.UserId         = id;
            model.AnnouncementId = announcement;
            model.Review         = new Review();
            return(View(model));
        }
Exemplo n.º 2
0
        public ActionResult Create([Bind(Include = "UserId, AnnouncementId, Review")] ReviewForAnnouncement model)
        {
            if (ModelState.IsValid)
            {
                ApplicationUser Customer     = db.Users.Find(model.UserId);
                Announcement    announcement = db.Announcements.Find(model.AnnouncementId);
                Review          review       = new Review();
                review.Announcement = announcement;
                review.Submitter    = Customer;
                review.Score        = model.Review.Score;
                review.Reason       = model.Review.Reason;

                List <Review> reviews = db.Reviews.Where(r => r.Announcement.Id == announcement.Id).ToList();
                if (reviews.Count != 0)
                {
                    int sum = 0;
                    reviews.ForEach(r => {
                        sum += r.Score;
                    });
                    sum += model.Review.Score;

                    announcement.Score = sum / (reviews.Count + 1);
                }
                else
                {
                    announcement.Score = review.Score;
                }

                review = db.Reviews.Add(review);
                db.SaveChanges();

                ReviewToUser ReviewToUser = new ReviewToUser();
                ReviewToUser.UserId   = model.UserId;
                ReviewToUser.ReviewId = review.Id;
                db.ReviewsToUsers.Add(ReviewToUser);
                db.SaveChanges();

                return(RedirectToAction("MyReviews/" + model.UserId));
            }

            return(View(model));
        }