public ActionResult DeleteConfirmed(string id) { AgeGroupAggregate ageGroupAggregate = db.AgeGroupAggregates.Find(id); db.AgeGroupAggregates.Remove(ageGroupAggregate); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "RaceId,AgeGroupId,GenderId,AthleteCount,DNFCount,MaleCount,FemaleCount,SwimMedian,BikeMedian,RunMedian,FinishMedian,SwimFastest,BikeFastest,RunFastest,FinishFastest,SwimSlowest,BikeSlowest,RunSlowest,FinishSlowest,SwimStdDev,BikeStdDev,RunStdDev,FinishStdDev")] AgeGroupAggregate ageGroupAggregate) { if (ModelState.IsValid) { db.Entry(ageGroupAggregate).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.AgeGroupId = new SelectList(db.AgeGroups, "AgeGroupId", "Value", ageGroupAggregate.AgeGroupId); ViewBag.GenderId = new SelectList(db.Genders, "GenderId", "Value", ageGroupAggregate.GenderId); ViewBag.RaceId = new SelectList(db.Races, "RaceId", "BaseURL", ageGroupAggregate.RaceId); return(View(ageGroupAggregate)); }
// GET: AgeGroupAggregates/Details/5 public ActionResult Details(string id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } AgeGroupAggregate ageGroupAggregate = db.AgeGroupAggregates.Find(id); if (ageGroupAggregate == null) { return(HttpNotFound()); } return(View(ageGroupAggregate)); }
// GET: AgeGroupAggregates/Edit/5 public ActionResult Edit(string id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } AgeGroupAggregate ageGroupAggregate = db.AgeGroupAggregates.Find(id); if (ageGroupAggregate == null) { return(HttpNotFound()); } ViewBag.AgeGroupId = new SelectList(db.AgeGroups, "AgeGroupId", "Value", ageGroupAggregate.AgeGroupId); ViewBag.GenderId = new SelectList(db.Genders, "GenderId", "Value", ageGroupAggregate.GenderId); ViewBag.RaceId = new SelectList(db.Races, "RaceId", "BaseURL", ageGroupAggregate.RaceId); return(View(ageGroupAggregate)); }
private void CreateAgeGroupAggregates(Race race) { var ageGroupIds = _DBContext.AgeGroups.OrderBy(a => a.DisplayOrder).Select(a => a.AgeGroupId).ToList(); foreach (var agId in ageGroupIds) //calc the stats for each age group { foreach (var genderId in _DBContext.Genders.Select(g => g.GenderId)) { var athletes = _RaceService.GetAthletesFromStorage( new BasicRaceCriteria { SelectedRaceIds = { race.RaceId }, SelectedAgeGroupIds = { agId }, SelectedGenderIds = { genderId } } ); var stats = GetStats(athletes); stats.AgeGroupId = agId; var aggr = _DBContext.AgeGroupAggregates.Where(r => r.RaceId == race.RaceId && r.AgeGroupId == agId && r.GenderId == genderId).FirstOrDefault(); if (aggr == null) { aggr = new AgeGroupAggregate(); } aggr.RaceId = race.RaceId; aggr.AgeGroupId = agId; aggr.GenderId = genderId; 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.AgeGroupAggregates.AddOrUpdate(aggr); _DBContext.SaveChanges(); } } }