public async Task <ActionResult> Index() { CarrierRatingRepository rep = new CarrierRatingRepository(); var allcarriers = await rep.GetAll(); CarrierRepository cRep = new CarrierRepository(); var rated = allcarriers.GroupBy(x => new { x.Carrier.Name }) .Select(u => new { Carrier = u.Key.Name, Stars = u.Sum(z => z.Stars) / u.Count() }); var ratedList = new List <CarrierRating>(); foreach (var item in rated) { ratedList.Add(new CarrierRating { Stars = item.Stars, Carrier = new Carrier() { Name = item.Carrier } }); } return(View(ratedList)); }
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")); }