Ejemplo n.º 1
0
        public ActionResult DeleteConfirmed(string id)
        {
            AgeGroupAggregate ageGroupAggregate = db.AgeGroupAggregates.Find(id);

            db.AgeGroupAggregates.Remove(ageGroupAggregate);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 2
0
 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));
 }
Ejemplo n.º 3
0
        // 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));
        }
Ejemplo n.º 4
0
        // 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));
        }
Ejemplo n.º 5
0
        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();
                }
            }
        }