Ejemplo n.º 1
0
        /// <summary>
        /// Instantiates the performance data object from the database data.
        /// </summary>
        /// <param name="data">
        /// The database data. Could be either time or distance.
        /// </param>
        /// <param name="event">
        /// The <see cref="TrackAndFieldEvent" /> that the data is set to.
        /// </param>
        /// <returns>
        /// The instantiated performance data.
        /// </returns>
        public static PerformanceData FromData(double data, TrackAndFieldEvent @event)
        {
            if (@event.IsRunningEvent)
            {
                return(new PerformanceData {
                    Distance = default(Distance), Time = TimeSpan.FromSeconds(data)
                });
            }

            return(new PerformanceData
            {
                Distance = new Distance
                {
                    Feet = (int)Math.Floor(data / 12),
                    Inches = data % 12
                },
                Time = default(TimeSpan)
            });
        }
Ejemplo n.º 2
0
        private static void PopulateAthletesAndPerformances(IList <EventResult> eventResults, TrackAndFieldEvent dbEvent, Meet meet)
        {
            foreach (var result in eventResults)
            {
                var school = result.SchoolName.TranslateSchool(SchoolLookup);
                if (school != "SKIP")
                {
                    var dbSchool    = GetSchool(school);
                    var performance = GetOrCreatePerformance(dbEvent.Id, dbSchool.Id, meet.Id, (decimal)result.Performance.Data, meet.Date, dbEvent.IsRunningEvent);

                    if (dbEvent.IsRelayEvent)
                    {
                        if (result is RelayResult relayResult)
                        {
                            // go through the legs
                            foreach (var leg in relayResult.LegInfo.Legs)
                            {
                                var firstName = leg.AthleteName.GetFirstName();
                                var lastName  = leg.AthleteName.GetLastName();
                                var year      = leg.AthleteYear.ParseYear();

                                var athlete            = GetOrCreateAthlete(firstName, lastName, year, dbSchool, dbEvent.Gender);
                                var athletePerformance = GetOrCreateAthletePerformance(athlete.Id, performance.Id);
                            }
                        }
                    }
                    else
                    {
                        if (result is IndividualResult individualResult)
                        {
                            var firstName = individualResult.AthleteName.GetFirstName();
                            var lastName  = individualResult.AthleteName.GetLastName();
                            var year      = individualResult.AthleteYear.ParseYear();

                            var athlete            = GetOrCreateAthlete(firstName, lastName, year, dbSchool, dbEvent.Gender);
                            var athletePerformance = GetOrCreateAthletePerformance(athlete.Id, performance.Id);
                        }
                    }
                }
            }
        }