Beispiel #1
0
 protected virtual void OnRaceEvent(RaceEvent @event)
 {
     if (this.RaceEvent != null)
     {
         this.RaceEvent(this, new RaceEventArgs(@event));
     }
 }
Beispiel #2
0
 public void CreateEvent(Player player, EventType type, int id)
 {
     switch (type)
     {
     case EventType.Race:
     {
         Event newEvent = new RaceEvent(id);
         player.SendClientMessage(Color.Green, "Loading Race #" + id);
         newEvent.Loaded += (sender, eventArgs) =>
         {
             if (eventArgs.ErrorMessage == null)
             {
                 if (player.IsConnected)
                 {
                     player.SendClientMessage(Color.Green, "Race loaded !");
                 }
                 eventList.Add(eventArgs.EventLoaded);
                 if (openedEvent == null)
                 {
                     openedEvent = eventArgs.EventLoaded;
                     eventArgs.EventLoaded.Open();
                     eventArgs.EventLoaded.Started += (sender, eventArgs) => { openedEvent = null; };
                     eventArgs.EventLoaded.Ended   += (sender, eventArgs) => { eventList.Remove((Event)sender); };
                 }
             }
             else
             if (player.IsConnected)
             {
                 player.SendClientMessage(Color.Red, "Cannot load the race: " + eventArgs.ErrorMessage);
             }
         };
         break;
     }
     }
 }
Beispiel #3
0
        private static Race CreateYateleySeries(int year)
        {
            var race = new Race()
            {
                Label    = "Yateley Series",
                Distance = RaceDistance.TenKm
            };

            var raceEvent1 = new RaceEvent();

            raceEvent1.SetDate(new DateTime(year, 6, 1));
            raceEvent1.Distance = (int)RaceDistance.FiveKm;

            var raceEvent2 = new RaceEvent();

            raceEvent2.SetDate(new DateTime(year, 7, 6));
            raceEvent2.Distance = (int)RaceDistance.FiveKm;

            var raceEvent3 = new RaceEvent();

            raceEvent3.SetDate(new DateTime(year, 8, 3));
            raceEvent3.Distance = (int)RaceDistance.FiveKm;

            race.Events.AddRange(new[] { raceEvent1, raceEvent2, raceEvent3 });
            return(race);
        }
 void ProcessRaceEvent(RaceEvent evt)
 {
     GetGpx(evt.Location).AddWayPoint(CreateWpt(evt.Type.ToString(), evt.Location));
     if (evt.Type == RaceEventTypes.Finish)
     {
         SaveGpx();
     }
 }
        public async Task <RaceEvent> AddRaceEvent(RaceEvent raceEvent)
        {
            raceEvent.Id = Guid.NewGuid();
            Db.RaceEvents.Add(raceEvent);
            await Db.SaveChangesAsync();

            return(raceEvent);
        }
 public DashboardsController(ApplicationUserManager userManager,
                             ApplicationRoleManager roleManager,
                             RaceEvent raceEvent)
 {
     UserManager = userManager;
     RoleManager = roleManager;
     RaceEvent   = raceEvent;
 }
        public RaceEvent CreateEvent(DateTime date, RaceDistance raceDistance)
        {
            var raceEvent = new RaceEvent()
            {
                Distance = (int)raceDistance, Results = new List <Dto.RacePersonTime>()
            };

            raceEvent.SetDate(date);
            return(raceEvent);
        }
Beispiel #8
0
        public void Create_Race_As_Admin()
        {
            var adminUser = new User()
            {
                AddressContactId = 1,
                Email            = "*****@*****.**",
                FirstName        = "Robin",
                LastName         = "Edbom",
                Password         = "******",
                DateOfBirth      = DateTime.Parse("1996-11-07"),
                Id = 1
            };

            var data = new List <RaceEvent>().AsQueryable();

            var eventToAdd = new RaceEvent()
            {
                Class       = "Class?",
                EventId     = 1,
                Id          = 1,
                MaxHandicap = 2,
                MinHandicap = 1,
                Type        = "Speed race"
            };

            // Arrange
            var fakeDbSet = A.Fake <DbSet <RaceEvent> >(o => o.Implements(typeof(IQueryable <RaceEvent>)).Implements(typeof(IDbAsyncEnumerable <RaceEvent>)));

            A.CallTo(() => ((IQueryable <RaceEvent>)fakeDbSet).Provider).Returns(data.Provider);
            A.CallTo(() => ((IQueryable <RaceEvent>)fakeDbSet).Expression).Returns(data.Expression);
            A.CallTo(() => ((IQueryable <RaceEvent>)fakeDbSet).ElementType).Returns(data.ElementType);
            A.CallTo(() => ((IQueryable <RaceEvent>)fakeDbSet).GetEnumerator()).Returns(data.GetEnumerator());

            var fakeContext = A.Fake <RaceEventContext>();


            A.CallTo(() => fakeContext.RaceEvents).Returns(fakeDbSet);
            A.CallTo(() => fakeContext.RaceEvents.Add(eventToAdd)).Returns(eventToAdd);


            var fakeAdminSercice = A.Fake <IAdminService>();

            A.CallTo(() => fakeAdminSercice.IsUserSysAdmin(adminUser)).Returns(true);


            var raceEventService = new RaceEventService(fakeContext, fakeAdminSercice);
            // Act

            var raceEvent = raceEventService.Add(eventToAdd, adminUser);

            // Assert
            Assert.AreEqual(1, raceEvent.Id);
            Assert.AreEqual(1, raceEvent.MinHandicap);
            Assert.AreEqual(1, raceEvent.EventId);
        }
Beispiel #9
0
        public RaceEvent Add(RaceEvent eventToAdd, User adminUser)
        {
            if (!_adminService.IsUserSysAdmin(adminUser))
            {
                throw new InvalidCredentialException(
                          $"That user with id '{adminUser.Id}' does not have premission to run method {nameof(Add)} in service {nameof(RaceEventService)}");
            }

            var e = _context.RaceEvents.Add(eventToAdd);

            _context.Context.SaveChanges();

            return(e);
        }
Beispiel #10
0
        public void TiesFirstInFirstOut()
        {
            Schedule      schedule = new Schedule();
            List <IEvent> outcome  = new List <IEvent>();
            RaceEvent     event0   = new RaceEvent(outcome);
            RaceEvent     event1   = new RaceEvent(outcome);
            RaceEvent     event2   = new RaceEvent(outcome);

            schedule.Add(event2, 100);
            schedule.Add(event0, 0);
            schedule.Add(event1, 0);
            Assert.IsTrue(schedule.RunFor(100));
            Assert.AreEqual(outcome[0], event0);
            Assert.AreEqual(outcome[1], event1);
            Assert.AreEqual(outcome[2], event2);
        }
        private void CreateHeats()
        {
            RaceEvent re = ViewModels.MainViewModel.Instance.CurrentEvent;

            if (re.Racers.Count == 0)
            {
                return;
            }

            if (re.Heats.Count == 0)
            {
                re.CreateHeats(ViewModels.MainViewModel.Instance.conn);
                re.Save(ViewModels.MainViewModel.Instance.conn);
            }

            ViewModels.MainViewModel.Instance.SetState(MainViewModel.ApplicationState.HeatList);
        }
Beispiel #12
0
        public static Race CreateSingleEventRace(string label, DateTime date, RaceDistance raceDistance)
        {
            var race = new Race()
            {
                Label    = label,
                Distance = raceDistance
            };

            var raceEvent = new RaceEvent()
            {
                Distance = (int)raceDistance
            };

            raceEvent.SetDate(date);
            race.Events.Add(raceEvent);
            return(race);
        }
        public ActionResult Create(RaceEvent race)
        {
            try
            {
                race.CreatedOn   = DateTime.Now;
                race.CreatedById = User.Identity.GetUserId();

                raceEventService.Add(race);

                TempData["MessageAlert"] = new Alert {
                    CssClass = "alert-success", Title = "Success!", Message = "Race event is successfully created."
                };
                return(RedirectToAction("Create"));
            }
            catch
            {
                return(View());
            }
        }
        private void AddNewRacer()
        {
            //Racer r = new Racer();
            //RaceEvent re = ViewModels.MainViewModel.Instance.CurrentEvent;
            //r.RegNumber = re.Racers.Count + 1;
            //r.RacerID = Guid.NewGuid();
            //r.EventID = re.EventID;
            //re.Racers.Add(r);
            Racer     r1 = new Racer();
            RaceEvent re = ViewModels.MainViewModel.Instance.CurrentEvent;

            r1.RegNumber = re.Racers.Count + 1;
            r1.RacerID   = Guid.NewGuid();
            r1.EventID   = re.EventID;
            r1.FirstName = "Lynn";
            r1.LastName  = "Crumbling";
            re.Racers.Add(r1);
            Racer r2 = new Racer();

            r2.RegNumber = re.Racers.Count + 1;
            r2.RacerID   = Guid.NewGuid();
            r2.EventID   = re.EventID;
            r2.FirstName = "Imogen";
            r2.LastName  = "Crumbling";
            re.Racers.Add(r2);
            Racer r3 = new Racer();

            r3.RegNumber = re.Racers.Count + 1;
            r3.RacerID   = Guid.NewGuid();
            r3.EventID   = re.EventID;
            r3.FirstName = "Griffin";
            r3.LastName  = "Crumbling";
            re.Racers.Add(r3);
            Racer r4 = new Racer();

            r4.RegNumber = re.Racers.Count + 1;
            r4.RacerID   = Guid.NewGuid();
            r4.EventID   = re.EventID;
            r4.FirstName = "Griffin";
            r4.LastName  = "Crumbling";
            re.Racers.Add(r4);
        }
Beispiel #15
0
        public static Race CreateFrimleyLodgeNovemberParkrun(int year)
        {
            var race = new Race();

            race.Label    = "FLP November";
            race.Distance = RaceDistance.FiveKm;

            var currentDate = new DateTime(year, 11, 5);

            while (currentDate.Month == 11)
            {
                var raceEvent = new RaceEvent();
                raceEvent.SetDate(currentDate);
                raceEvent.Distance = (int)RaceDistance.FiveKm;
                race.Events.Add(raceEvent);

                currentDate = currentDate.AddDays(7);
            }

            return(race);
        }
        public void TheRaceDataTest()
        {
            var raceEvent = new RaceEvent()
            {
                Id            = 1,
                StartDateTime = new DateTime(2017, 8, 10, 7, 10, 15),
                Title         = "Title"
            };

            Assert.AreEqual(1, raceEvent.Id);
            Assert.AreEqual(new DateTime(2017, 8, 10, 7, 10, 15), raceEvent.StartDateTime);
            Assert.AreEqual("Title", raceEvent.Title);

            raceEvent.Id = 2;
            Assert.AreEqual(2, raceEvent.Id);

            raceEvent.StartDateTime = new DateTime(2017, 9, 12, 8, 15, 25);
            Assert.AreEqual(new DateTime(2017, 9, 12, 8, 15, 25), raceEvent.StartDateTime);

            raceEvent.Title = "New Title";
            Assert.AreEqual("New Title", raceEvent.Title);
        }
Beispiel #17
0
        private RaceEvent ParseRaceEvent(XElement xmlRace)
        {
            var raceEvent = new RaceEvent();

            raceEvent.Entries     = new List <Entry>();
            raceEvent.Id          = this.GetIntAttributeByName(xmlRace, "ID");
            raceEvent.EventNumber = this.GetIntAttributeByName(xmlRace, "EventNumber");
            raceEvent.Distance    = this.GetIntAttributeByName(xmlRace, "Distance");
            raceEvent.EventTime   = this.GetDateTimeAttributeByName(xmlRace, "EventTime");
            raceEvent.FinishTime  = this.GetDateTimeAttributeByName(xmlRace, "FinishTime");
            raceEvent.Name        = this.GetStringAttributeByName(xmlRace, "Name");

            var entries = xmlRace.Descendants("Entry");

            foreach (var xmlEntry in entries)
            {
                var entry = this.ParseEntry(xmlEntry);
                raceEvent.Entries.Add(entry);
            }

            return(raceEvent);
        }
Beispiel #18
0
        private static Race CreateTouristParkrun(int year)
        {
            var race = new Race
            {
                Label    = "FLP Tourist",
                Distance = RaceDistance.FiveKm
            };

            var currentDate = new DateTime(year, 2, 5);

            while (currentDate.Month < 11)
            {
                var raceEvent = new RaceEvent();
                raceEvent.SetDate(currentDate);
                raceEvent.Distance = (int)RaceDistance.FiveKm;
                race.Events.Add(raceEvent);

                currentDate = currentDate.AddDays(7);
            }

            return(race);
        }
Beispiel #19
0
        public void RaceEventTester_Everything()
        {
            var raceEvent = new RaceEvent()
            {
                Id            = 1,
                StartDateTime = new DateTime(2017, 8, 10, 7, 10, 15),
                Title         = "Test Event"
            };

            Assert.AreEqual(1, raceEvent.Id);
            Assert.AreEqual(new DateTime(2017, 8, 10, 7, 10, 15), raceEvent.StartDateTime);
            Assert.AreEqual("Test Event", raceEvent.Title);

            raceEvent.Id = 2;
            Assert.AreEqual(2, raceEvent.Id);

            raceEvent.StartDateTime = new DateTime(2017, 9, 12, 8, 15, 25);
            Assert.AreEqual(new DateTime(2017, 9, 12, 8, 15, 25), raceEvent.StartDateTime);

            raceEvent.Title = "New Event Title";
            Assert.AreEqual("New Event Title", raceEvent.Title);
        }
Beispiel #20
0
        public ActionResult Edit(RaceEvent race)
        {
            try
            {
                if (race.EventDate < DateTime.Now)
                {
                    return(RaceAlreadyStarted());
                }

                race.UpdatedById = User.Identity.GetUserId();
                race.UpdatedOn   = DateTime.Now;

                raceEventService.Update(race);

                TempData["MessageAlert"] = new Alert {
                    CssClass = "alert-success", Title = "Success!", Message = "Race event is successfully updated."
                };
                return(View(race));
            }
            catch
            {
                return(View());
            }
        }
 private void DeleteEvent()
 {
     RaceEvent.Delete(this.SelectedEvent.EventID, ViewModels.MainViewModel.Instance.conn);
 }
Beispiel #22
0
        public void SeedDatabase(RaceTrackerContext context)
        {
            service = new RaceTrackerDataService(context);

            EmptyDatabase(context);

            #region Races

            Random rnd = new Random();

            var e1 = new RaceEvent()
            {
                Id       = Guid.NewGuid(),
                Name     = "LOVIT",
                Location = "Lake Ouachita",
                Start    = new DateTime(2019, 2, 22)
            };
            context.RaceEvents.Add(e1);
            context.SaveChanges();

            var r1 = new Race()
            {
                Id             = Guid.Parse(RACE_ID_1),
                Name           = "100 Mile",
                Code           = RACE_CODE_1,
                Distance       = 100.0M,
                Unit           = Unit.Miles,
                Start          = DateTime.Now,
                End            = DateTime.Now.AddHours(34),
                UltraSignupUrl = "https://ultrasignup.com/entrants_event.aspx?did=48514",
                RaceEvent      = e1,
                Segments       = new List <Segment>(),
                Participants   = new List <Participant>()
            };

            var r2 = new Race()
            {
                Id             = Guid.Parse(RACE_ID_2),
                Name           = "100 Kilometer",
                Code           = RACE_CODE_2,
                Distance       = 100.0M,
                Unit           = Unit.Kilometers,
                Start          = DateTime.Now,
                End            = DateTime.Now.AddHours(21),
                UltraSignupUrl = "https://ultrasignup.com/entrants_event.aspx?did=48515",
                RaceEvent      = e1,
                Segments       = new List <Segment>(),
                Participants   = new List <Participant>()
            };

            context.Races.AddRange(new Race[] { r1, r2 });

            #endregion

            #region Checkpoints
            var c1 = new Checkpoint()
            {
                Id      = Guid.NewGuid(),
                Name    = "East Cove Pavilion",
                GeoJson = @"",
                Number  = 0
            };

            var c2 = new Checkpoint()
            {
                Id      = Guid.NewGuid(),
                Name    = "Hickory Nut Mountain",
                GeoJson = @"",
                Number  = 1
            };

            var c3 = new Checkpoint()
            {
                Id      = Guid.NewGuid(),
                Name    = "Joplin Road Crossing",
                GeoJson = @"",
                Number  = 2
            };

            var c4 = new Checkpoint()
            {
                Id      = Guid.NewGuid(),
                Name    = "Tompkins Bend",
                GeoJson = @"",
                Number  = 3
            };

            var c5 = new Checkpoint()
            {
                Id      = Guid.NewGuid(),
                Name    = "ADA",
                GeoJson = @"",
                Number  = 4
            };

            var c6 = new Checkpoint()
            {
                Id      = Guid.NewGuid(),
                Name    = "Forest Road 47A",
                GeoJson = @"",
                Number  = 5
            };

            var c7 = new Checkpoint()
            {
                Id      = Guid.NewGuid(),
                Name    = "Charlton",
                GeoJson = @"",
                Number  = 6
            };

            var c8 = new Checkpoint()
            {
                Id      = Guid.NewGuid(),
                Name    = "Crystal Springs",
                GeoJson = @"",
                Number  = 7
            };

            var c9 = new Checkpoint()
            {
                Id      = Guid.NewGuid(),
                Name    = "Bear Creek",
                GeoJson = @"",
                Number  = 8
            };

            var c10 = new Checkpoint()
            {
                Id      = Guid.NewGuid(),
                Name    = "Brady Mountain Road",
                GeoJson = @"",
                Number  = 9
            };

            var c11 = new Checkpoint()
            {
                Id      = Guid.NewGuid(),
                Name    = "Spillway ",
                GeoJson = @"",
                Number  = 10
            };

            var c12 = new Checkpoint()
            {
                Id      = Guid.NewGuid(),
                Name    = "Avery Rec Area",
                GeoJson = @"",
                Number  = 11
            };

            context.Checkpoints.AddRange(new Checkpoint[] {
                c1, c2, c3, c4, c5, c6, c7, c8, c9, c10,
                c11, c12
            });

            #endregion

            #region Segments

            var s1 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Start to Hickory Nut Mountain",
                GeoJson        = @"segment-1.json",
                FromCheckpoint = c1,
                ToCheckpoint   = c2,
                Order          = 1,
                Distance       = 4,
                TotalDistance  = 4
            };

            var s2 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Hickory Nut Mountain to Joplin Road Crossing",
                GeoJson        = @"segment-2.json",
                FromCheckpoint = c2,
                ToCheckpoint   = c3,
                Order          = 2,
                Distance       = 5,
                TotalDistance  = 9
            };

            var s3 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Joplin Road Crossing to Tompkins Bend",
                GeoJson        = @"segment-3.json",
                FromCheckpoint = c3,
                ToCheckpoint   = c4,
                Order          = 3,
                Distance       = 4,
                TotalDistance  = 13
            };

            var s4 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Tompkins Bend to ADA",
                GeoJson        = @"segment-4.json",
                FromCheckpoint = c4,
                ToCheckpoint   = c5,
                Order          = 4,
                Distance       = 6,
                TotalDistance  = 19
            };

            var s5 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "ADA to Tompkins Bend",
                GeoJson        = @"segment-5.json",
                FromCheckpoint = c5,
                ToCheckpoint   = c4,
                Order          = 5,
                Distance       = 6,
                TotalDistance  = 25
            };

            var s6 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Tompkins Bend to Joplin Road Crossing",
                GeoJson        = @"segment-6.json",
                FromCheckpoint = c4,
                ToCheckpoint   = c3,
                Order          = 6,
                Distance       = 5,
                TotalDistance  = 30
            };

            var s7 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Joplin Road Crossing to Hickory Nut Mountain",
                GeoJson        = @"segment-7.json",
                FromCheckpoint = c3,
                ToCheckpoint   = c2,
                Order          = 7,
                Distance       = 4,
                TotalDistance  = 34
            };

            var s8 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Hickory Nut Mountain to Forest Road 47A",
                GeoJson        = @"segment-8.json",
                FromCheckpoint = c2,
                ToCheckpoint   = c6,
                Order          = 8,
                Distance       = 4,
                TotalDistance  = 38
            };

            var s9 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Forest Road 47A to Charlton",
                GeoJson        = @"segment-9.json",
                FromCheckpoint = c6,
                ToCheckpoint   = c7,
                Order          = 9,
                Distance       = 4,
                TotalDistance  = 42
            };

            var s10 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Charlton to Crystal Springs",
                GeoJson        = @"segment-10.json",
                FromCheckpoint = c7,
                ToCheckpoint   = c8,
                Order          = 10,
                Distance       = 5,
                TotalDistance  = 47
            };

            var s11 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Crystal Springs to Bear Creek",
                GeoJson        = @"segment-11.json",
                FromCheckpoint = c8,
                ToCheckpoint   = c9,
                Order          = 11,
                Distance       = 3,
                TotalDistance  = 50
            };

            var s12 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Bear Creek to Brady Mountain Road",
                GeoJson        = @"segment-12.json",
                FromCheckpoint = c9,
                ToCheckpoint   = c10,
                Order          = 12,
                Distance       = 8,
                TotalDistance  = 58
            };

            var s13 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Brady Mountain Road to Spillway",
                GeoJson        = @"segment-13.json",
                FromCheckpoint = c10,
                ToCheckpoint   = c11,
                Order          = 13,
                Distance       = 4,
                TotalDistance  = 62
            };

            var s14 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Spillway to Avery Rec Area",
                GeoJson        = @"segment-14.json",
                FromCheckpoint = c11,
                ToCheckpoint   = c12,
                Order          = 14,
                Distance       = 3,
                TotalDistance  = 65
            };

            var s15 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Avery Rec Area to Spillway",
                GeoJson        = @"segment-15.json",
                FromCheckpoint = c12,
                ToCheckpoint   = c11,
                Order          = 15,
                Distance       = 3,
                TotalDistance  = 68
            };

            var s16 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Spillway to Brady Mountain Road",
                GeoJson        = @"segment-16.json",
                FromCheckpoint = c11,
                ToCheckpoint   = c10,
                Order          = 16,
                Distance       = 4,
                TotalDistance  = 72
            };

            var s17 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Brady Mountain Road to Bear Creek",
                GeoJson        = @"segment-17.json",
                FromCheckpoint = c10,
                ToCheckpoint   = c9,
                Order          = 17,
                Distance       = 8,
                TotalDistance  = 80
            };

            var s18 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Bear Creek to Crystal Springs",
                GeoJson        = @"segment-18.json",
                FromCheckpoint = c9,
                ToCheckpoint   = c8,
                Order          = 18,
                Distance       = 3,
                TotalDistance  = 83
            };

            var s19 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Crystal Springs to Charlton",
                GeoJson        = @"segment-19.json",
                FromCheckpoint = c8,
                ToCheckpoint   = c7,
                Order          = 19,
                Distance       = 4,
                TotalDistance  = 87
            };

            var s20 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Charlton to Forest Road 47A",
                GeoJson        = @"segment-20.json",
                FromCheckpoint = c7,
                ToCheckpoint   = c6,
                Order          = 20,
                Distance       = 5,
                TotalDistance  = 92
            };

            var s21 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Forest Road 47A to Hickory Nut Mountain",
                GeoJson        = @"segment-21.json",
                FromCheckpoint = c6,
                ToCheckpoint   = c2,
                Order          = 21,
                Distance       = 4,
                TotalDistance  = 96
            };

            var s22 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Hickory Nut Mountain to Finish",
                GeoJson        = @"segment-22.json",
                FromCheckpoint = c2,
                ToCheckpoint   = c1,
                Order          = 22,
                Distance       = 4,
                TotalDistance  = 100
            };



            var s23 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Start to Hickory Nut Mountain",
                GeoJson        = @"segment-1.json",
                FromCheckpoint = c1,
                ToCheckpoint   = c2,
                Order          = 1,
                Distance       = 4,
                TotalDistance  = 4
            };
            var s24 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Hickory Nut Mountain to Forest Road 47A",
                GeoJson        = @"",
                FromCheckpoint = c2,
                ToCheckpoint   = c6,
                Order          = 2,
                Distance       = 3.5,
                TotalDistance  = 7.5
            };

            var s25 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Forest Road 47A to Crystal Springs",
                GeoJson        = @"",
                FromCheckpoint = c6,
                ToCheckpoint   = c8,
                Order          = 3,
                Distance       = 4.5,
                TotalDistance  = 12
            };

            var s26 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Crystal Springs to Bear Creek",
                GeoJson        = @"",
                FromCheckpoint = c8,
                ToCheckpoint   = c9,
                Order          = 4,
                Distance       = 3.5,
                TotalDistance  = 15.5
            };

            var s27 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Bear Creek to Brady Mountain Road",
                GeoJson        = @"",
                FromCheckpoint = c9,
                ToCheckpoint   = c10,
                Order          = 5,
                Distance       = 7.5,
                TotalDistance  = 23
            };

            var s28 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Brady Mountain Road to Spillway",
                GeoJson        = @"",
                FromCheckpoint = c10,
                ToCheckpoint   = c11,
                Order          = 6,
                Distance       = 4,
                TotalDistance  = 27
            };

            var s29 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Spillway to Avery Rec Area",
                GeoJson        = @"",
                FromCheckpoint = c11,
                ToCheckpoint   = c12,
                Order          = 7,
                Distance       = 3,
                TotalDistance  = 30
            };

            var s30 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Avery Rec Area to Spillway",
                GeoJson        = @"",
                FromCheckpoint = c12,
                ToCheckpoint   = c11,
                Order          = 8,
                Distance       = 3,
                TotalDistance  = 33
            };

            var s31 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Spillway to Brady Mountain Road",
                GeoJson        = @"",
                FromCheckpoint = c11,
                ToCheckpoint   = c10,
                Order          = 9,
                Distance       = 3,
                TotalDistance  = 37
            };

            var s32 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Brady Mountain Road to Bear Creek",
                GeoJson        = @"",
                FromCheckpoint = c10,
                ToCheckpoint   = c9,
                Order          = 10,
                Distance       = 7.5,
                TotalDistance  = 44.5
            };

            var s33 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Bear Creek to Crystal Springs",
                GeoJson        = @"",
                FromCheckpoint = c9,
                ToCheckpoint   = c8,
                Order          = 11,
                Distance       = 3.5,
                TotalDistance  = 48
            };

            var s34 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Crystal Springs to Forest Road 47A",
                GeoJson        = @"",
                FromCheckpoint = c8,
                ToCheckpoint   = c6,
                Order          = 12,
                Distance       = 4.5,
                TotalDistance  = 52.5
            };

            var s35 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Forest Road 47A to Hickory Nut Mountain",
                GeoJson        = @"",
                FromCheckpoint = c6,
                ToCheckpoint   = c2,
                Order          = 13,
                Distance       = 3.5,
                TotalDistance  = 56
            };

            var s36 = new Segment()
            {
                Id             = Guid.NewGuid(),
                Name           = "Hickory Nut Mountain to Finish",
                GeoJson        = @"",
                FromCheckpoint = c2,
                ToCheckpoint   = c1,
                Order          = 14,
                Distance       = 4,
                TotalDistance  = 60
            };

            var r1Segments = new List <Segment>()
            {
                s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, s21, s22
            };
            r1.Segments = r1Segments;

            var r2Segments = new List <Segment>()
            {
                s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, s33, s34, s35, s36
            };
            r2.Segments = r2Segments;

            context.SaveChanges();

            #endregion

            #region Monitors

            foreach (var checkpoint in context.Checkpoints)
            {
                var m = new Monitor()
                {
                    Id          = Guid.NewGuid(),
                    Name        = "Test Monitor",
                    PhoneNumber = "+15015551212",
                    Checkpoint  = checkpoint
                };

                context.Monitors.Add(m);
            }

            context.SaveChanges();

            #endregion

            GenerateParticipants(10, 1, r1, true, context);
            GenerateParticipants(10, 101, r2, true, context);

            context.SaveChanges();
        }
Beispiel #23
0
 public async Task <RaceEvent> PostRaceEvent([FromBody] RaceEvent raceEvent)
 {
     return(await dataService.AddRaceEvent(raceEvent));
 }
Beispiel #24
0
 private void ObserverCallback(RaceEvent raceEvent)
 {
     Debug.Log(raceEvent);
 }
        public void AddEvent(string label, RaceEvent newEvent)
        {
            var race = RaceFinder.FindRace(label);

            race.Events.Add(newEvent);
        }
Beispiel #26
0
 public RaceEventArgs(RaceEvent @event)
 {
     _event = @event;
 }
Beispiel #27
0
 public RaceController(RaceEvent raceEvent,
                       RaceEventType raceEventType)
 {
     RaceEvent     = raceEvent;
     RaceEventType = raceEventType;
 }