//возвращает частичное представление "Отзывы", принимает id маршрута public ActionResult IndexComment(int id) { string userId = User.Identity.GetUserId(); //если пользователь не авторизован, возвращаем список комментариев к этому маршруту if (userId == null) { Trip trip = db.Trips.Where(t => t.TripId == id).First(); return(PartialView("IndexComment", trip.Users_Trips.ToList())); } Users_Trips u_t = db.Users_Trips.Where(ut => ut.TripId == id && ut.UserId == userId).FirstOrDefault(); //если этот пользователь еще не оставлял комментарий и оценку к маршруту, но добавил этот маршрут if (u_t != null && u_t.CommentText == null) { ViewBag.TripId = id; return(PartialView("NoComment")); } //иначе возвращаем список комментариев к этому маршруту else { Trip trip = db.Trips.Where(t => t.TripId == id).First(); return(PartialView("IndexComment", trip.Users_Trips.ToList())); } }
public ActionResult Index(int id) { string userId = User.Identity.GetUserId(); //если авторизован if (userId != null) { Users_Trips ut = db.Users_Trips.Where(u_t => u_t.TripId == id && u_t.UserId == userId).FirstOrDefault(); //если у пользователя уже есть такой маршрут if (ut != null) { ViewData["Disabled"] = true; } else { ViewData["Disabled"] = false; } } else { ViewData["Disabled"] = true; } ViewData["TripId"] = id; return(PartialView()); }
public ActionResult DeleteComment(string userId, int tripId) { Users_Trips ut = db.Users_Trips.Where(u_t => u_t.UserId == userId && u_t.TripId == tripId).First(); if (ut != null) { ut.CommentText = null; db.Entry(ut).State = EntityState.Modified; db.SaveChanges(); } return(RedirectToAction("AdminDesk")); }
public ActionResult DeleteTrip(int id) { string userId = User.Identity.GetUserId(); Users_Trips user_trip = db.Users_Trips.Where(u_t => u_t.TripId == id && u_t.UserId == userId).FirstOrDefault(); if (user_trip != null) { db.Users_Trips.Remove(user_trip); db.SaveChanges(); } return(RedirectToAction("UserTrips")); }
public ActionResult Delete(int id) { Trip trip = db.Trips.Find(id); if (trip != null) { string userId = User.Identity.GetUserId(); Users_Trips user_trip = db.Users_Trips.Where(u_t => u_t.TripId == id && u_t.UserId == userId).FirstOrDefault(); if (user_trip == null) { return(PartialView("DeleteDenied")); } return(PartialView("Delete", trip)); } return(View("UserTrips")); }
//добавление маршрута пользователю public ActionResult Create(int id) { Users_Trips user_trip = new Users_Trips(); user_trip.Trip = db.Trips.Find(id); string userId = User.Identity.GetUserId(); user_trip.AspNetUser = db.AspNetUsers.Where(u => u.Id == userId).FirstOrDefault(); user_trip.Author = false; if (ModelState.IsValid) { db.Users_Trips.Add(user_trip); db.SaveChanges(); } return(RedirectToAction("Details", "Route", new { id = id })); }
public ActionResult CreateComment(string CommentText, int Rating, int TripId) { string userId = User.Identity.GetUserId(); Users_Trips user_trip = db.Users_Trips.Where(ut => ut.UserId == userId && ut.TripId == TripId).FirstOrDefault(); user_trip.CommentText = CommentText; user_trip.Rating = Rating; List <Users_Trips> uts = db.Users_Trips.Where(ut => ut.TripId == TripId && ut.CommentText != null).ToList(); Trip trip = db.Trips.Find(TripId); if (trip == null) { return(HttpNotFound()); } else { double divider = uts.Count + 1; if (trip.Rating == null) { trip.Rating = 0; } trip.Rating = (trip.Rating * uts.Count + Rating) / divider; if (ModelState.IsValid) { db.Entry(trip).State = EntityState.Modified; db.SaveChanges(); } } if (ModelState.IsValid) { db.Entry(user_trip).State = EntityState.Modified; db.SaveChanges(); } return(RedirectToAction("Details", "Route", new { id = TripId })); }
public ActionResult Create(RequestTrip req) { int numOfNodes = 0; Trip trip = new Trip(); trip.Name = req.Name; trip.Duration = Convert.ToInt32(req.Duration); trip.PhotoUrl = req.PhotoUrl; trip.CreationDate = DateTime.Now; foreach (StringPoint[] route in req.Routes) { numOfNodes += route.Length; } trip.NumOfNodes = numOfNodes; if (ModelState.IsValid) { db.Trips.Add(trip); db.SaveChanges(); Users_Trips ut = new Users_Trips(); string userId = User.Identity.GetUserId(); ut.AspNetUser = db.AspNetUsers.Where(u => u.Id == userId).FirstOrDefault(); ut.Trip = trip; ut.Author = true; if (ModelState.IsValid) { db.Users_Trips.Add(ut); db.SaveChanges(); } CreateRoutesAndNodes(req, trip); } return(Json(trip.TripId, JsonRequestBehavior.AllowGet)); }