Esempio n. 1
0
 public ActionResult ReviewInfo(RunnerViewModel runnerViewModel)
 {
     ViewBag.SelectRace   = new SelectList(_context.Races, "Id", "Name");
     ViewBag.SelectGender = new SelectList(_context.Gender, "Id", "Name");
     ViewBag.SelectSize   = new SelectList(_context.Sizes, "Id", "Name");
     return(View("SignupEdit", runnerViewModel));
 }
Esempio n. 2
0
        public Runner(RunnerViewModel vm)
        {
            this.vm     = vm;
            DataContext = vm;

            InitializeComponent();

            vm.MessageArrived      += LogRunnerData;
            vm.WorkerStatusChanged += LogWorkerStatus;
            vm.WorkerStatusChanged += ProcessStatusChange;
            vm.FoundHit            += PlayHitSound;
            vm.FoundHit            += RegisterHit;
            vm.ReloadProxies       += PlayReloadSound;
            vm.ReloadProxies       += LoadProxiesFromManager;
            vm.DispatchAction      += ExecuteAction;
            vm.SaveProgress        += SaveProgressToDB;
            vm.AskCustomInputs     += InitCustomInputs;

            if (OB.OBSettings.General.ChangeRunnerInterface)
            {
                OB.Logger.LogInfo(Components.About, "Changed the Runner interface");
                Grid.SetColumn(rightGrid, 0);
                Grid.SetRow(rightGrid, 2);
                Grid.SetColumn(bottomLeftGrid, 2);
                Grid.SetRow(bottomLeftGrid, 0);
            }

            logBox.AppendText("", Colors.White);
            logBox.AppendText("Runner initialized succesfully!" + Environment.NewLine, Utils.GetColor("ForegroundMain"));
        }
Esempio n. 3
0
 public RunnersView(RunnerViewModel runnerViewModel)
 {
     InitializeComponent();
     RunnerViewModel        = runnerViewModel;
     gridRunners.DataSource = RunnerViewModel.Runners;
     FillGrid();
 }
Esempio n. 4
0
        static void Main(string[] args)
        {
            // Read Environment file
            Env = IOManager.ParseEnvironmentSettings(envFile);

            // Read Settings file
            if (!File.Exists(settFile))
            {
                IOManager.SaveSettings(settFile, new RLSettingsViewModel());
            }
            RLSettings = IOManager.LoadSettings(settFile);

            // Initialize the Runner (and hook event handlers)
            Runner = new RunnerViewModel(Env, RLSettings, random);
            Runner.AskCustomInputs     += AskCustomInputs;
            Runner.DispatchAction      += DispatchAction;
            Runner.FoundHit            += FoundHit;
            Runner.MessageArrived      += MessageArrived;
            Runner.ReloadProxies       += ReloadProxies;
            Runner.SaveProgress        += SaveProgress;
            Runner.WorkerStatusChanged += WorkerStatusChanged;

            // Parse the Options
            CommandLine.Parser.Default.ParseArguments <Options>(args)
            .WithParsed <Options>(opts => Run(opts))
            .WithNotParsed <Options>((errs) => HandleParseError(errs));
        }
Esempio n. 5
0
        public void Reset(string connectionId)
        {
            RunnerViewModel runner = GetRunner(connectionId);

            runner.Status = "Reset";
            _Dispatcher.Invoke(() => ClearStatuses(runner.ConnectionId));
        }
        public async Task <IActionResult> List(int year)
        {
            var race = await this.context.Races
                       .Include(x => x.RaceRunners)
                       .ThenInclude(x => x.Runner)
                       .Include(x => x.RaceRunners)
                       .ThenInclude(x => x.AgeGroup)
                       .FirstAsync(x => x.Date.Year == year);

            var runners = new List <RunnerViewModel>();

            foreach (var raceRunner in race.RaceRunners.OrderBy(x => x.Runner.Gender).ThenBy(x => x.Runner.LastName))
            {
                var runner = new RunnerViewModel
                {
                    Name         = $"{raceRunner.Runner.FirstName} {raceRunner.Runner.LastName}",
                    Gender       = raceRunner.Runner.Gender,
                    AgeGroupName = raceRunner.AgeGroup.Name
                };

                runners.Add(runner);
            }

            var viewModel = new ListViewModel
            {
                Race    = race,
                Runners = runners
            };

            return(View(viewModel));
        }
Esempio n. 7
0
        private async void TestRemoteProxySourcesButton_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            List <string> prompt = new List <string>()
            {
                "Results:"
            };
            var tasks = vm.RemoteProxySources
                        .Where(s => s.Active)
                        .Select(s => RunnerViewModel.GetProxiesFromRemoteSourceAsync(s.Url, s.Type, s.Pattern, s.Output))
                        .ToList();

            foreach (var result in await Task.WhenAll(tasks))
            {
                if (result.Successful)
                {
                    var first = "NONE";
                    if (result.Proxies.Count > 0)
                    {
                        first = result.Proxies.First().Proxy;
                    }
                    prompt.Add($"[SUCCESS] {result.Url} - Got {result.Proxies.Count} proxies (first: {first})");
                }
                else
                {
                    prompt.Add($"[FAILURE] {result.Url} - {result.Error}");
                }
            }

            MessageBox.Show(string.Join(Environment.NewLine, prompt));
        }
Esempio n. 8
0
        public void Reconnected(string connectionId, string userAgent)
        {
            RunnerViewModel runner = GetRunner(connectionId);

            runner.UserAgent = userAgent;
            runner.Status    = "Reconnected";
        }
Esempio n. 9
0
        public ActionResult SheckOut(RunnerViewModel runnerViewModel)
        {
            using (var context = new Context())
            {
                var runner = new Runner
                {
                    FName           = runnerViewModel.FName,
                    LName           = runnerViewModel.LName,
                    SizeId          = runnerViewModel.SizeId,
                    GenderId        = runnerViewModel.GenderId,
                    DOB             = runnerViewModel.DOB,
                    Email           = runnerViewModel.Email,
                    Phone           = runnerViewModel.Phone,
                    WaiverAgreement = runnerViewModel.WaiverAgreement,
                };

                context.Runners.Add(runner);
                context.SaveChanges();

                var raceRunner = new RaceRunner
                {
                    RaceId   = runnerViewModel.RaceId,
                    RunnerId = runner.Id
                };

                context.RaceRunners.Add(raceRunner);
                context.SaveChanges();

                TempData["Message"] = runner.FName + " " + runner.LName + " was successfully registered!";
            };

            return(RedirectToAction("Index", "Home"));
        }
Esempio n. 10
0
        public IActionResult New()
        {
            RunnerViewModel viewModel = new RunnerViewModel();

            viewModel.Genders   = new SelectList(context.Genders.ToList(), "GenderName", "GenderName");
            viewModel.Countries = new SelectList(context.Countries.ToList(), "CountryCode", "CountryName");
            return(View(viewModel));
        }
Esempio n. 11
0
 public NewRunnerView(RunnerViewModel runnerViewModel)
 {
     InitializeComponent();
     _isEditing      = false;
     RunnerViewModel = runnerViewModel;
     countryBindingSource.DataSource = Core.Repository.Load.LoadOrderedCountries("countries.csv");
     cmbCounty.DataSource            = countryBindingSource;
 }
Esempio n. 12
0
        public void Disconnected(string connectionId)
        {
            RunnerViewModel runner = Runners.Where(r => r.ConnectionId == connectionId).FirstOrDefault();

            if (runner != null)
            {
                runner.Status = "Disconnected";
                RemoveRunner(runner);
            }
        }
Esempio n. 13
0
        public void Register(string connectionId, string userAgent)
        {
            RunnerViewModel runner = GetRunner(connectionId);

            if (String.IsNullOrEmpty(runner.UserAgent))
            {
                runner.UserAgent = userAgent;
            }
            runner.Status = "Registered";
        }
Esempio n. 14
0
        public long AddRunner(RunnerViewModel model)
        {
            var result = new AddRunnerCommandHandler(new DataBaseContext()).Handle(new  AddRunnerCommand
            {
                DeviceName = model.DeviceName,
                IsAllowed  = true
            });

            return(result);
        }
Esempio n. 15
0
        public NewRunnerView(RunnerViewModel runnerViewModel, int gridIndex)
        {
            InitializeComponent();
            _isEditing      = true;
            _gridIndex      = gridIndex;
            RunnerViewModel = runnerViewModel;

            countryBindingSource.DataSource = Core.Repository.Load.LoadOrderedCountries("countries.csv");
            cmbCounty.DataSource            = countryBindingSource;
            FillValues(gridIndex);
        }
Esempio n. 16
0
        public ActionResult RunnerDetails(int id)
        {
            RunnerViewModel runner = new RunnerViewModel
            {
                Runner        = _runnerService.GetRunner(id),
                RecentResults = _runnerService.GetRunnersRecentResults(id),
                PersonalBests = _runnerService.GetRunnersPersonalBests(id)
            };

            return(View(runner));
        }
Esempio n. 17
0
        public async Task <IActionResult> CreateAsync(RunnerViewModel viewModel)
        {
            viewModel.Genders   = new SelectList(context.Genders.ToList(), "GenderName", "GenderName");
            viewModel.Countries = new SelectList(context.Countries.ToList(), "CountryCode", "CountryName");

            if (ModelState.IsValid)
            {
                if (viewModel.Password != viewModel.PasswordConfirmation)
                {
                    ModelState.AddModelError(string.Empty, "Введенные пароли не совпадают");
                    return(View("New", viewModel));
                }

                User user = new User {
                    Email = viewModel.Email, UserName = viewModel.Email, FirstName = viewModel.FirstName, LastName = viewModel.LastName
                };
                IdentityResult userResult = await userManager.CreateAsync(user, viewModel.Password);

                if (userResult.Succeeded)
                {
                    IdentityResult roleResult = await userManager.AddToRoleAsync(user, "Runner");

                    if (roleResult.Succeeded)
                    {
                        Runner runner = new Runner()
                        {
                            UserId      = user.Id,
                            Gender      = viewModel.Gender,
                            DateOfBirth = viewModel.DateOfBirth,
                            CountryCode = viewModel.CountryCode
                        };
                        context.Runners.Add(runner);
                        context.SaveChanges();
                        return(View("RegistrationSuccess"));
                    }
                    else
                    {
                        foreach (var error in roleResult.Errors)
                        {
                            ModelState.AddModelError(string.Empty, error.Description);
                        }
                    }
                }
                else
                {
                    foreach (var error in userResult.Errors)
                    {
                        ModelState.AddModelError(string.Empty, error.Description);
                    }
                }
            }
            return(View("New", viewModel));
        }
Esempio n. 18
0
 public ActionResult Signup(RunnerViewModel runnerViewModel)
 {
     if (ModelState.IsValid)
     {
         var race = _context.Races.SingleOrDefault(r => r.Id == runnerViewModel.RaceId);
         runnerViewModel.Gender = _context.Gender.SingleOrDefault(g => g.Id == runnerViewModel.GenderId);
         runnerViewModel.Size   = _context.Sizes.SingleOrDefault(s => s.Id == runnerViewModel.SizeId);
         ViewBag.RaceName       = race.Name;
         return(View("CheckOut", runnerViewModel));
     }
     return(View("SignupEdit", runnerViewModel));
 }
Esempio n. 19
0
        public void RunnersToStatusesConverterTest()
        {
            RunnersToStatusesConverter runnersToStatusesConverter = new RunnersToStatusesConverter();

            runnersToStatusesConverter.ProvideValue(null).Should().Be(runnersToStatusesConverter);

            runnersToStatusesConverter.Convert(new object[] { null, null }, typeof(IEnumerable), null, null).Should().BeNull();

            BindableCollection <RunnerViewModel> runners = new BindableCollection <RunnerViewModel>();
            RunnerViewModel runner1 = new RunnerViewModel {
                ConnectionId = "conn1", Name = "Runner 1"
            };
            RunnerViewModel runner2 = new RunnerViewModel {
                ConnectionId = "conn2", Name = "Runner 2"
            };

            runners.Add(runner1);
            runners.Add(runner2);
            BindableDictionary <string, SpecStatusViewModel> statuses = new BindableDictionary <string, SpecStatusViewModel>();

            statuses.Add("conn1", new SpecStatusViewModel {
                Status = SpecStatus.Passed, Time = 1, Duration = 1, Runner = runner1
            });
            statuses.Add("conn2", new SpecStatusViewModel {
                Status = SpecStatus.Failed, Time = 2, Duration = 2, Runner = runner2
            });

            object result = runnersToStatusesConverter.Convert(new object[] { runners, statuses }, typeof(IEnumerable), null, null);

            result.Should().BeAssignableTo <IEnumerable <SpecStatusViewModel> >();
            (result as IEnumerable <SpecStatusViewModel>).ShouldAllBeEquivalentTo(new object[] {
                new { Status = SpecStatus.Passed, Time = 1, Duration = 1, Runner = runner1 },
                new { Status = SpecStatus.Failed, Time = 2, Duration = 2, Runner = runner2 }
            },
                                                                                  o => o.Excluding(si => si.PropertyPath.EndsWith("IsNotifying") || si.PropertyPath.EndsWith("Steps") || si.PropertyPath.EndsWith("Description") || si.PropertyPath.EndsWith("DurationText")));

            runners.Add(new RunnerViewModel {
                ConnectionId = "conn3", Name = "Runner 3"
            });

            result = runnersToStatusesConverter.Convert(new object[] { runners, statuses }, typeof(IEnumerable), null, null);
            result.Should().BeAssignableTo <IEnumerable <SpecStatusViewModel> >();
            (result as IEnumerable <SpecStatusViewModel>).ShouldAllBeEquivalentTo(new object[] {
                new { Status = SpecStatus.Passed, Time = 1, Duration = 1, Runner = runner1 },
                new { Status = SpecStatus.Failed, Time = 2, Duration = 2, Runner = runner2 },
                null
            },
                                                                                  o => o.Excluding(si => si.PropertyPath.EndsWith("IsNotifying") || si.PropertyPath.EndsWith("Steps") || si.PropertyPath.EndsWith("Description") || si.PropertyPath.EndsWith("DurationText")));

            runnersToStatusesConverter.ConvertBack(null, null, null, null).Should().BeNull();
        }
Esempio n. 20
0
        private RunnerViewModel GetRunner(string connectionId)
        {
            RunnerViewModel runner = Runners.Where(r => r.ConnectionId == connectionId).FirstOrDefault();

            if (runner == null)
            {
                runner = new RunnerViewModel()
                {
                    ConnectionId = connectionId
                };
                AddRunner(runner);
            }
            return(runner);
        }
Esempio n. 21
0
 public IActionResult SaveNewRunner(RunnerViewModel model)
 {
     if (ModelState.IsValid)
     {
         int?   id        = HttpContext.Session.GetInt32("WorkingRaceId");
         Runner NewRunner = new Runner
         {
             NickName             = model.newRunnerName,
             RunnerPace           = (int)TimeSpan.Parse("00:" + model.newRunnerPace).TotalSeconds,
             RunnerPaceMultiplyer = model.newRunnerMultiplyer,
             RunnerSequence       = model.newRunnerSequence
         };
         Race EditRace = _context.Races.Where(Race => Race.RaceId == id).Single();
         EditRace.Runners.Add(NewRunner);
         _context.SaveChanges();
     }
     return(RedirectToRoute(new{
         controller = "Home",
         action = "CreateRoster"
     }));
 }
Esempio n. 22
0
        public IActionResult CreateRunner([FromForm] RunnerViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var newRunner = _mapper.Map <RunnerViewModel, Runner>(model);
                    _repository.AddEntity(newRunner);
                    if (_repository.SaveAll())
                    {
                        return(Created($"/api/runners/{newRunner.Id}", _mapper.Map <Runner, RunnerViewModel>(newRunner)));
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to save a new order: {ex}");
            }

            return(BadRequest(ModelState));
        }
Esempio n. 23
0
        public async Task SaveTimeAsync(RunnerViewModel item, int time)
        {
            string whichTime = string.Empty;
            string theTime   = string.Empty;

            switch (time)
            {
            case 0: whichTime = "mile1";
                theTime       = item.Split1;
                break;

            case 1: whichTime = "mile2";
                theTime       = item.Split2;
                break;

            case 2: whichTime = "finish";
                theTime       = item.Finish;
                break;

            default: whichTime = "mile1";
                theTime        = item.Split1;
                break;
            }

            string queryString = $"?meet=Pittsville&race=VarsityBoys&runner={item.Name}&split={whichTime}&time={theTime}";
            var    uri         = new Uri($"{Constants.BASE_URL}/{queryString}");

            var json    = JsonConvert.SerializeObject(item);
            var content = new StringContent(string.Empty, Encoding.UTF8, "application/json");

            HttpResponseMessage response = null;

            response = await _client.PostAsync(uri, content);


            if (response.IsSuccessStatusCode)
            {
                Debug.WriteLine(@"\tTodoItem successfully saved.");
            }
        }
Esempio n. 24
0
        //Start the Sign-Up proccess
        public ActionResult Signup(int?raceId)
        {
            ViewBag.Title = "Signup Runner";
            var runnerViewModel = new RunnerViewModel();

            runnerViewModel.DOB = DateTime.Now.Date;
            if (raceId != null)
            {
                //Adding Race to RunnerViewModel
                runnerViewModel.RaceId = raceId.Value;
                var race = _context.Races.SingleOrDefault(r => r.Id == raceId);
                runnerViewModel.RaceName = race.Name;
                ViewBag.Race             = race;
            }
            else
            {
                ViewBag.SelectRace = new SelectList(_context.Races, "Id", "Name");
            }

            ViewBag.SelectGender = new SelectList(_context.Gender, "Id", "Name");
            ViewBag.SelectSize   = new SelectList(_context.Sizes, "Id", "Name");

            return(View("SignupEdit", runnerViewModel));
        }
Esempio n. 25
0
 public RaceView()
 {
     InitializeComponent();
     RunnerViewModel = new RunnerViewModel();
 }
 public static RunnerViewModel Main()
 {
     return(runnerViewModel ?? (runnerViewModel = new RunnerViewModel(userService)));
 }
Esempio n. 27
0
 public RunnerInstance(int id)
 {
     Id        = id;
     ViewModel = new RunnerViewModel(OB.Settings.Environment, OB.Settings.RLSettings);
     View      = new Runner(ViewModel);
 }
Esempio n. 28
0
 public Save(RaceViewModel raceViewModel, RunnerViewModel runnerViewModel)
 {
     RaceViewModel   = raceViewModel;
     RunnerViewModel = runnerViewModel;
 }
Esempio n. 29
0
 public void Setup()
 {
     _RunnerViewModel = new RunnerViewModel();
 }
Esempio n. 30
0
 public Save(RunnerViewModel runnerViewModel)
 {
     RunnerViewModel = runnerViewModel;
 }