Example #1
0
        //возвращает частичное представление "Отзывы", принимает 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()));
            }
        }
Example #2
0
        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());
        }
Example #3
0
        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"));
        }
Example #4
0
        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"));
        }
Example #5
0
        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"));
        }
Example #6
0
        //добавление маршрута пользователю
        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 }));
        }
Example #7
0
        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 }));
        }
Example #8
0
        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));
        }