public ActionResult DeleteConfirmed(int id) { RaceAggregate raceAggregate = db.RacesAggregates.Find(id); db.RacesAggregates.Remove(raceAggregate); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "RaceAggregateId,RaceId,AthleteCount,DNFCount,MaleCount,FemaleCount,SwimMedian,BikeMedian,RunMedian,FinishMedian,SwimFastest,BikeFastest,RunFastest,FinishFastest,SwimSlowest,BikeSlowest,RunSlowest,FinishSlowest,SwimStdDev,BikeStdDev,RunStdDev,FinishStdDev")] RaceAggregate raceAggregate) { if (ModelState.IsValid) { db.Entry(raceAggregate).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.RaceId = new SelectList(db.Races, "RaceId", "BaseURL", raceAggregate.RaceId); return(View(raceAggregate)); }
// GET: RaceAggregates/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } RaceAggregate raceAggregate = db.RacesAggregates.Find(id); if (raceAggregate == null) { return(HttpNotFound()); } return(View(raceAggregate)); }
// GET: RaceAggregates/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } RaceAggregate raceAggregate = db.RacesAggregates.Find(id); if (raceAggregate == null) { return(HttpNotFound()); } ViewBag.RaceId = new SelectList(db.Races, "RaceId", "BaseURL", raceAggregate.RaceId); return(View(raceAggregate)); }
private void CreateRaceAggregates(Race race, string segment) { var agquery = _DBContext.AgeGroups.AsQueryable(); switch (segment) { case "pro": agquery = agquery.Where(a => a.Value.ToLower().Equals("pro")); break; case "agegroupers": agquery = agquery.Where(a => !a.Value.ToLower().Equals("pro")); break; //default is all } List <Triathlete> athletes = _RaceService.GetAthletesFromStorage( new BasicRaceCriteria { SelectedRaceIds = { race.RaceId }, SelectedAgeGroupIds = agquery.OrderBy(a => a.DisplayOrder).Select(a => a.AgeGroupId).ToList(), SelectedGenderIds = _DBContext.Genders.Select(g => g.GenderId).ToList() } ); if (athletes == null) { throw new Exception("No athletes"); } var stats = GetStats(athletes, _DBContext.Races.Single(r => r.RaceId == race.RaceId)); if (stats == null) { throw new Exception("No stats"); } var aggr = _DBContext.RacesAggregates. Where(r => r.RaceId == race.RaceId && r.Segment == segment). FirstOrDefault(); if (aggr == null) { aggr = new RaceAggregate(); } aggr.RaceId = race.RaceId; aggr.Segment = segment; aggr.AthleteCount = athletes.Count; aggr.DNFCount = stats.DNFCount; aggr.MaleCount = athletes.Where(a => a.RequestContext.Gender.Value.Equals("M")).Count(); aggr.FemaleCount = athletes.Where(a => a.RequestContext.Gender.Value.Equals("F")).Count(); aggr.SwimFastest = stats.Swim.Min; aggr.BikeFastest = stats.Bike.Min; aggr.RunFastest = stats.Run.Min; aggr.FinishFastest = stats.Finish.Min; aggr.SwimSlowest = stats.Swim.Max; aggr.BikeSlowest = stats.Bike.Max; aggr.RunSlowest = stats.Run.Max; aggr.FinishSlowest = stats.Finish.Max; aggr.SwimStdDev = stats.Swim.StandDev; aggr.BikeStdDev = stats.Bike.StandDev; aggr.RunStdDev = stats.Run.StandDev; aggr.FinishStdDev = stats.Finish.StandDev; aggr.SwimMedian = stats.Swim.Median; aggr.BikeMedian = stats.Bike.Median; aggr.RunMedian = stats.Run.Median; aggr.FinishMedian = stats.Finish.Median; _DBContext.RacesAggregates.AddOrUpdate(aggr); _DBContext.SaveChanges(); }