static async void AddDrivers(IEnumerable <string> names) { if (names == null) { throw new ArgumentNullException(nameof(names)); } using var repository = new DriversRepository(GetConnectionStringFromConfig()); await repository.ClearEventsAsync(); await repository.ClearDriversAsync(); foreach (var name in names) { try { var driver = CreateDriver(name); await repository.AddDriverAsync(driver); } catch (Exception ex) { Console.WriteLine($"Error. Add Driver: { ex.Message }"); } } }
public async Task <ActionResult> JoinRace(HomeViewModel model) { if (ModelState.IsValid) { string userId = this.User.Identity.GetUserId(); DriversRepository <Driver, DriverDTO> driversRepo = new DriversRepository <Driver, DriverDTO>(); Driver driver = driversRepo.GetForUser(userId); if (Request.Form["new_driver"] != null) { driver = new Driver() { ApplicationUserId = userId, CarId = model.SelectedCarId, ControllerId = Convert.ToInt32(model.SelectedControllerId), TrackId = model.SelectedTrackId }; driver = await driversRepo.Insert(driver); } else if (Request.Form["change_driver"] != null) { driver.CarId = model.SelectedCarId; driver.ControllerId = Convert.ToInt32(model.SelectedControllerId); driver.TrackId = model.SelectedTrackId; EntityState state = await driversRepo.Update(driver.Id, driver); } else if (Request.Form["delete_driver"] != null) { await driversRepo.Delete(driver.Id); } } return(RedirectToAction("Index", "Home")); }
public IViewComponentResult Invoke(string selectedStatus, string selectedVehicleType) { DriversListViewModel driversListViewModel = new DriversListViewModel(); IEnumerable <Drivers> driversFilteredByStatus = null; IEnumerable <Drivers> driversFilteredByVehicleType = null; IEnumerable <Drivers> driversFilteredByStatusAndVehicleType = null; driversListViewModel.Times = _timeRepository.AllTimes; if (selectedStatus == "" && selectedVehicleType == "") { driversListViewModel.Drivers = _driversRepository.AllDrivers; return(View(driversListViewModel)); } else if (selectedVehicleType == "") { driversFilteredByStatus = _driversRepository.GetDriversByStatus(selectedStatus); driversListViewModel.Drivers = driversFilteredByStatus; return(View(driversListViewModel)); } else if (selectedStatus == "") { driversFilteredByVehicleType = DriversRepository.GetDriversFromCollectionByVehicleType(_driversRepository.AllDrivers, selectedVehicleType); driversListViewModel.Drivers = driversFilteredByVehicleType; return(View(driversListViewModel)); } driversFilteredByStatus = _driversRepository.GetDriversByStatus(selectedStatus); driversFilteredByStatusAndVehicleType = DriversRepository.GetDriversFromCollectionByVehicleType(driversFilteredByStatus, selectedVehicleType); driversListViewModel.Drivers = driversFilteredByStatusAndVehicleType; return(View(driversListViewModel)); }
public async Task <IHttpActionResult> DeleteDriver(string userId) { DriversRepository <Driver, DriverDTO> driversRepo = new DriversRepository <Driver, DriverDTO>(); Driver driver = driversRepo.GetForUser(userId); if (driver == null) { return(NotFound()); } await driversRepo.Delete(driver.Id); return(Ok(Mapper.Map <DriverDTO>(driver))); }
private IEnumerable <Driver> GetDrivers() { var result = new List <Driver>(); try { using var repo = new DriversRepository(_connectionString); result.AddRange(repo.GetDrivers()); } catch (Exception ex) { Console.WriteLine($"Error. Read drivers error: { ex.Message }"); } return(result); }
public async Task <IHttpActionResult> PostDriverResult(DriverResultDTO driverResultDTO) { DriverResult driverResult = Mapper.Map <DriverResult>(driverResultDTO); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } driverResult = await repo.Insert(driverResult); // Remove this driver from registered drivers DriversRepository <Driver, DriverDTO> driversRepo = new DriversRepository <Driver, DriverDTO>(); Driver driver = driversRepo.GetForUser(driverResult.ApplicationUserId); if (driver != null) { await driversRepo.Delete(driver.Id); } return(CreatedAtRoute("DefaultApi", new { id = driverResult.Id }, Mapper.Map <DriverResultDTO>(driverResult))); }
public void Setup(ApplicationUser loggedInUser) { this.User = loggedInUser; DriversRepository <Driver, DriverDTO> driversRepo = new DriversRepository <Driver, DriverDTO>(); Driver driver = driversRepo.GetForUser(this.User.Id); this.DriverId = driver?.Id; // Try to find last session details this.LastTrack = this.User.Tracks.FirstOrDefault(); // Populate join race form choices this.MyTracks = this.User.Tracks.ToList(); this.confirmedDrivers = driversRepo.GetForTrack(LastTrack.Id).Where(d => d.ApplicationUserId != this.User.Id); this.AvailableCars = (from car in this.LastTrack.Cars where car.Selectable == true && !(this.confirmedDrivers.Any(d => d.CarId == car.Id)) select car).ToList(); this.AvailableControllerIds = (from controller in this.controllers where !(this.confirmedDrivers.Any(d => d.ControllerId == controller)) select controller).ToList(); // Populate dropdown menu select item lists foreach (Track track in this.MyTracks) { if (driver == null || driver.TrackId != track.Id) { MyTracksListItems.Add(new SelectListItem { Text = track.Name, Value = track.Id }); } else { MyTracksListItems.Add(new SelectListItem { Text = track.Name, Value = track.Id, Selected = true }); } } foreach (Car car in this.AvailableCars) { if (driver == null || driver.CarId != car.Id) { AvailableCarsListItems.Add(new SelectListItem { Text = car.Name, Value = car.Id }); } else { AvailableCarsListItems.Add(new SelectListItem { Text = car.Name, Value = car.Id, Selected = true }); } } foreach (int controller in this.AvailableControllerIds) { if (driver == null || driver.ControllerId != controller) { AvailableControllersListItems.Add(new SelectListItem { Text = controller.ToString(), Value = controller.ToString() }); } else { AvailableControllersListItems.Add(new SelectListItem { Text = controller.ToString(), Value = controller.ToString(), Selected = true }); } } }
//test deneme public DriversController(DriversRepository DriversRepository) : base(DriversRepository) { }