Example #1
0
        private IList <ScoreDto> MakeScores(
            SwObjects.Race swRace,
            List <SwObjects.Competitor> competitors,
            BoatClassDto boatClass,
            FleetDto fleet)
        {
            var retList = new List <ScoreDto>();

            foreach (var swScore in swRace.Results)
            {
                if (String.IsNullOrWhiteSpace(swScore.Code) &&
                    swScore.Place == 0)
                {
                    continue;
                }
                // Not going to import DNCs.
                // Sailwave can leave DNC in some codes when type is changed to scored.
                if (swScore.Code == "DNC" && swScore.ResultType == 3)
                {
                    continue;
                }

                var score = new ScoreDto
                {
                    Place = swScore.Place,
                    Code  = swScore.ResultType == 3 ? swScore.Code : null
                };
                var swComp = competitors.Single(c => c.Id == swScore.CompetitorId);
                score.CompetitorId = _competitors[swComp.Id].Id;

                retList.Add(score);
            }

            return(retList);
        }
Example #2
0
        private static IList <SsObjects.Score> MakeScores(
            SwObjects.Race swRace,
            IEnumerable <SwObjects.Competitor> swCompetitors,
            SsObjects.BoatClass boatClass,
            SsObjects.Fleet fleet)
        {
            var retList = new List <SsObjects.Score>();

            foreach (var swScore in swRace.Results)
            {
                if (String.IsNullOrWhiteSpace(swScore.Code) &&
                    swScore.Place == 0)
                {
                    continue;
                }
                // Not going to import DNCs.
                // Sailwave can leave DNC in some codes when type is changed to scored.
                if (swScore.Code == "DNC" && swScore.ResultType == 3)
                {
                    continue;
                }

                var ssScore = new SsObjects.Score
                {
                    Place = swScore.Place,
                    Code  = swScore.ResultType == 3 ? swScore.Code : null
                };
                var swCompetitor = swCompetitors.Single(c => c.Id == swScore.CompetitorId);
                ssScore.Competitor = new SsObjects.Competitor
                {
                    Name        = swCompetitor.HelmName,
                    SailNumber  = swCompetitor.SailNumber,
                    BoatName    = swCompetitor.Boat,
                    BoatClassId = boatClass.Id,
                    BoatClass   = boatClass
                };
                if (fleet.FleetType == Api.Enumerations.FleetType.SelectedBoats)
                {
                    if (ssScore.Competitor.Fleets == null)
                    {
                        ssScore.Competitor.Fleets = new List <SsObjects.Fleet>();
                    }
                    ssScore.Competitor.Fleets.Add(fleet);
                    fleet.Competitors.Add(ssScore.Competitor);
                }
                retList.Add(ssScore);
            }

            return(retList);
        }
Example #3
0
        private static int GetRaceRank(SwObjects.Race swRace)
        {
            // assume race name format of "6-22 R1" or "6-23"
            var parts = swRace.Name.Split(' ');

            if (parts.Length < 2)
            {
                return(1);
            }
            var numberString = new String(parts[1].Where(Char.IsDigit).ToArray());
            int rank         = swRace.Rank;

            Int32.TryParse(numberString, out rank);
            return(rank);
        }
Example #4
0
        private static DateTime GetDate(SwObjects.Race swRace, int year)
        {
            // assume race name format of "6-22 R1" or "6-23"
            var datepart = swRace.Name.Split(' ')[0];

            if (String.IsNullOrWhiteSpace(datepart))
            {
                return(DateTime.Today);
            }
            var parts = datepart.Split('-');
            int month = DateTime.Today.Month;
            int day   = DateTime.Today.Day;

            Int32.TryParse(parts[0], out month);
            Int32.TryParse(parts[1], out day);
            return(new DateTime(year, month, day));
        }
Example #5
0
        private static DateTime GetDate(SwObjects.Race swRace, SeasonDto season)
        {
            // assume race name format of "6-22 R1" or "6-23"
            var datepart = swRace.Name.Split(' ')[0];

            if (String.IsNullOrWhiteSpace(datepart))
            {
                return(DateTime.Today);
            }
            var parts = datepart.Split(new[] { '-', '/' });
            int month = season.Start.Month;
            int day   = season.Start.Day;

            Int32.TryParse(parts[0], out month);
            Int32.TryParse(parts[1], out day);
            return(new DateTime(season.Start.Year, month, day));
        }