コード例 #1
0
        public ReviewViewModel Create(ReviewViewModel item)
        {
            if (item == null)
                return null;

            db.Reviews.Add(item);
            db.SaveChanges();

            return item;
        }
コード例 #2
0
        public ActionResult Create(ReviewViewModel item, int? rating)
        {
            try
            {
                if (User.IsInRole("Customer"))
                {
                    if (item == null)
                        return RedirectToAction("Error404", "Home");

                    var reviewDetails = Session["Review"] as ReviewViewModel;
                    var newRecord = new ReviewViewModel
                    {
                        Description = item.Description,
                        UserId = reviewDetails.UserId,
                        ModelId = reviewDetails.ModelId,
                        DtCreated = DateTime.UtcNow
                    };
                    db.Reviews.Add(newRecord);
                    db.SaveChanges();

                    int ratingNumber = rating ?? 1;

                    int ratingId = (from r in db.Ratings
                                    where r.RatingNumber == ratingNumber
                                    select r.RatingId).FirstOrDefault();
                    var newRating = new RatingModelViewModel()
                    {
                        ModelId = reviewDetails.ModelId,
                        RatingId = ratingId
                    };
                    db.RatingModels.Add(newRating);
                    db.SaveChanges();
                    Session.Remove("Review");
                    return RedirectToAction("CustomerRetrieveOrders", "Customer", new { message = ManageMessageId.ReviewSuccess });
                }
                return RedirectToAction("Login", "Account");
            }
            catch (Exception ex)
            {
                return new HttpStatusCodeResult(HttpStatusCode.InternalServerError, ex.ToString());
            }
        }
コード例 #3
0
        // GET: CustomerReview/Create
        public ActionResult Create(int id)
        {
            try
            {
                if (User.IsInRole("Customer"))
                {
                    int modelId = id;
                    string modelName = (from m in db.Models
                                        where m.ModelId == id
                                        select m.ModelNumber).FirstOrDefault();
                    ViewBag.ModelName = modelName;
                    bool elegible = false;
                    string userId = User.Identity.GetUserId();

                    if (modelId < 1 || String.IsNullOrWhiteSpace(userId))
                        return RedirectToAction("Error404", "Home");

                    elegible = _repo.VerifyReviewAbility(userId, id);
                    if (elegible == false)
                        return RedirectToAction("CustomerRetrieveOrders", "Customer", new { message = ManageMessageId.ReviewFailure });

                    var review = new ReviewViewModel()
                    {
                        UserId = userId,
                        ModelId = modelId
                    };
                    Session["Review"] = review;
                    return View(review);
                }
                return RedirectToAction("Login", "Account");
            }
            catch (Exception ex)
            {
                return new HttpStatusCodeResult(HttpStatusCode.InternalServerError, ex.ToString());
            }
        }