Example #1
0
        public async Task <ActionResult> AddRating(RatingViewModel model)
        {
            if (ModelState.IsValid == false)
            {
                return(View(model));
            }

            var carrier = await(from t in _db.Carriers
                                where t.Active == true
                                where t.Id == model.CarrierId
                                select t).SingleOrDefaultAsync();

            if (carrier == null)
            {
                return(RedirectToAction("Index"));
            }

            var rating = new CarrierRating {
                CarrierId = model.CarrierId,
                UserId    = 1,
                Rating    = model.Rating
            };

            carrier.Ratings.Add(rating);

            _db.Entry(carrier).State = EntityState.Modified;

            int x = await _db.SaveChangesAsync();

            return(RedirectToAction("Details", new { id = model.CarrierId }));
        }
Example #2
0
        public ActionResult DeleteConfirmed(decimal id)
        {
            CarrierRating carrierRating = db.CarrierRating.Find(id);

            db.CarrierRating.Remove(carrierRating);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #3
0
 public ActionResult Edit([Bind(Include = "id,id_Carrier,id_User,Rating")] CarrierRating carrierRating)
 {
     if (ModelState.IsValid)
     {
         db.Entry(carrierRating).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.id_Carrier = new SelectList(db.Carrier, "id", "Name", carrierRating.id_Carrier);
     ViewBag.id_User    = new SelectList(db.User, "id", "UserName", carrierRating.id_User);
     return(View(carrierRating));
 }
Example #4
0
        public async Task <ActionResult> RateCarrier(CarrierRating model)
        {
            if (ModelState.IsValid)
            {
                model.User = new User()
                {
                    UserName = Session["LogedUserFullname"].ToString()
                };
                CarrierRatingRepository rep = new CarrierRatingRepository();
                await rep.RateCarrier(model);
            }

            return(RedirectToAction("Index"));
        }
Example #5
0
        // GET: CarrierRatings/Details/5
        public ActionResult Details(decimal id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CarrierRating carrierRating = db.CarrierRating.Find(id);

            if (carrierRating == null)
            {
                return(HttpNotFound());
            }
            return(View(carrierRating));
        }
Example #6
0
        // GET: CarrierRatings/Edit/5
        public ActionResult Edit(decimal id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CarrierRating carrierRating = db.CarrierRating.Find(id);

            if (carrierRating == null)
            {
                return(HttpNotFound());
            }
            ViewBag.id_Carrier = new SelectList(db.Carrier, "id", "Name", carrierRating.id_Carrier);
            ViewBag.id_User    = new SelectList(db.User, "id", "UserName", carrierRating.id_User);
            return(View(carrierRating));
        }
        public async Task RateCarrier(CarrierRating carrierRating)
        {
            if (GetByCarrierAndUser(carrierRating.Carrier.Name, carrierRating.User.UserName).Result != null)
            {
                throw new Exception("This carrier already has been rated by you, please select another carrier.");
            }

            using (var rating = new HttpClient())
            {
                rating.BaseAddress = new Uri("https://api.mongolab.com/");
                rating.DefaultRequestHeaders.Accept.Clear();
                rating.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                HttpResponseMessage response = response = await rating.PostAsJsonAsync("api/1/databases/appharbor_k82fwxcl/collections/RatedCarrier?apiKey=iQun6DS8l6aQ_QRZTVRxHu39z49ZnZUp", carrierRating);
            }
        }
Example #8
0
        public ActionResult Create(RatingViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var userId = int.Parse(HttpContext.User.Identity.Name);
                var rating = new CarrierRating
                {
                    CarrierId = viewModel.CarrierId,
                    UserId    = userId,
                    Rating    = viewModel.Rating.Value
                };
                var context = new Context();
                rating.Create();
                context.CarrierRating.Add(rating);
                context.SaveChanges();

                return(RedirectToAction("Index", "Carriers"));
            }
            return(View(viewModel));
        }
Example #9
0
        public ActionResult Create([Bind(Include = "id,id_Carrier,id_User,Rating")] CarrierRating _newCarrierRating)
        {
            var extCarrierRating = db.CarrierRating.Where(x => x.id_Carrier == _newCarrierRating.id_Carrier && x.id_User == _newCarrierRating.id_User).FirstOrDefault();

            if (ModelState.IsValid)
            {
                //if (db.CarrierRating.Count(x => x.id_Carrier == carrierRating.id_Carrier && x.id_User == carrierRating.id_User) == 0)
                if (extCarrierRating == null)
                {
                    db.CarrierRating.Add(_newCarrierRating);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(RedirectToAction("Edit", new RouteValueDictionary(new { controller = "CarrierRatings", action = "Edit", Id = extCarrierRating.id })));
                }
            }

            ViewBag.id_Carrier = new SelectList(db.Carrier, "id", "Name", _newCarrierRating.id_Carrier);
            ViewBag.id_User    = new SelectList(db.User, "id", "UserName", _newCarrierRating.id_User);
            return(View(_newCarrierRating));
        }