/// <summary> /// Save selected button handler /// </summary> private async void SaveSelectedDrivers() { //Update Drivers for backup count property MaximumProgress = DriversForBackpCount; MessageDialog = null; //check for empty selection if (!Drivers.Any(x => x.IsSelected)) { MessageDialog = new MessageDialogViewModel(new ObservableCollection <ActionButton>(new List <ActionButton>() { new ActionButton(StringResources.OK, () => { MessageDialog = null; }, ActionButton.ButtonType.Deafult) }), StringResources.NothingToSave, StringResources.NoDriversSelected); return; } var folder = new FolderBrowserDialog(); if (folder.ShowDialog() != DialogResult.OK) { return; } string path = folder.SelectedPath; Progress = 0; ShowInProgressDialog = true; InProgressTest = StringResources.SavingDriversDots; cts = new CancellationTokenSource(); await SaveDriversAsync(Drivers.Where(x => x.IsSelected), path, cts.Token); }
public PolicyValidationResult Validate() { if (StartDate < DateTime.UtcNow) { return(new PolicyValidationResult("Start Date of Policy")); } if (!Drivers.Any()) { return(new PolicyValidationResult("A minimum of 1 driver must be added to a policy")); } if (Drivers.Count > 5) { return(new PolicyValidationResult("A maximum of 5 drivers can be added to a policy")); } if (Drivers.Any(d => d.DateOfBirth > DateTime.UtcNow)) { return(new PolicyValidationResult("Date of Birth for all drivers must not be in the future")); } if (Drivers.SelectMany(d => d.Claims).Any(c => c.DateOfClaim > DateTime.UtcNow)) { return(new PolicyValidationResult("Claims must not have a date in the future")); } var youngestDriver = YoungestDriver; var ageOfYoungestDriver = youngestDriver.DateOfBirth.CalculateAgeOnDate(StartDate); if (ageOfYoungestDriver < 21) { return(new PolicyValidationResult(string.Format("Age of Youngest Driver: {0}", youngestDriver.Name))); } var oldestDriver = OldestDriver; var ageOfOldestDriver = oldestDriver.DateOfBirth.CalculateAgeOnDate(StartDate); if (ageOfOldestDriver > 75) { return(new PolicyValidationResult(string.Format("Age of Oldest Driver: {0}", oldestDriver.Name))); } var driverWithMoreThan2Claims = Drivers.FirstOrDefault(d => d.Claims.Count > 2); if (driverWithMoreThan2Claims != null) { return(new PolicyValidationResult(string.Format("Driver has more than 2 claims: {0}", driverWithMoreThan2Claims.Name))); } var totalClaims = Drivers.Sum(d => d.Claims.Count); if (totalClaims > 3) { return(new PolicyValidationResult("Policy has more than 3 claims")); } return(new PolicyValidationResult(PolicyValidResult.Succeeded)); }
/// <summary> /// Return driver. /// </summary> /// <param name="driverTypeId"> /// </param> /// <returns> /// The <see cref="IDriver"/>. /// </returns> public static IDriver ReturnDriver(Guid driverTypeId) { if (Drivers == null || !Drivers.Any()) { return(null); } return(Drivers.FirstOrDefault( d => d.Metadata["ValueMetaData"].ToString().ToLower() == driverTypeId.ToString().ToLower()).Value); }
private void EnableDisableReportTypeDropdown() { IsReportTypeDropdownEnabled = Drivers != null?Drivers.Any(x => x.IsSelected) : false; if (!IsReportTypeDropdownEnabled) { _previouslySelectedReportType = SelectedReportType; _previouslySelectedExportType = SelectedExportType; SelectedReportType = null; SelectedExportType = null; } else { SelectedReportType = _previouslySelectedReportType; SelectedExportType = _previouslySelectedExportType; } }
public void Can_prepare_mock_data() { Assert.That(StartLocation != null); Assert.That(Locations != null && Locations.Any(), "Mock Locations not ready"); Assert.That(Drivers != null && Drivers.Any(), "Mock Drivers not ready"); Assert.That(Jobs != null && Jobs.Any(), "Mock Jobs not ready"); var hazmatJobs = Jobs.Where(p => p.IsHazmat); var shortHaulJobs = Jobs.Where(p => p.IsShortHaul); var longHaulJobs = Jobs.Where(p => p.IsLongHaul); var type1Jobs = Jobs.Where(p => p.OrderType == 1); var type2Jobs = Jobs.Where(p => p.OrderType == 2); var type3Jobs = Jobs.Where(p => p.OrderType == 3); var p1Jobs = Jobs.Where(p => p.Priority == 1); var p2Jobs = Jobs.Where(p => p.Priority == 2); var p3Jobs = Jobs.Where(p => p.Priority == 3); Assert.That(hazmatJobs != null && hazmatJobs.Any()); Assert.That(shortHaulJobs != null && shortHaulJobs.Any()); Assert.That(longHaulJobs != null && longHaulJobs.Any()); Assert.That(type1Jobs != null && type1Jobs.Any()); Assert.That(type2Jobs != null && type2Jobs.Any()); Assert.That(type3Jobs != null && type3Jobs.Any()); Assert.That(p1Jobs != null && p1Jobs.Any()); Assert.That(p2Jobs != null && p2Jobs.Any()); Assert.That(p3Jobs != null && p3Jobs.Any()); var hazmatDrivers = Drivers.Where(p => p.IsHazmatEligible); var shortHaulDrivers = Drivers.Where(p => p.IsShortHaulEligible); var longHaulDrivers = Drivers.Where(p => p.IsLongHaulEligible); var type1Drivers = Drivers.Where(p => p.OrderType == 1); var type2Drivers = Drivers.Where(p => p.OrderType == 2); var type3Drivers = Drivers.Where(p => p.OrderType == 3); Assert.That(hazmatDrivers != null && hazmatDrivers.Any()); Assert.That(shortHaulDrivers != null && shortHaulDrivers.Any()); Assert.That(longHaulDrivers != null && longHaulDrivers.Any()); Assert.That(type1Drivers != null && type1Drivers.Any()); Assert.That(type2Drivers != null && type2Drivers.Any()); Assert.That(type3Drivers != null && type3Drivers.Any()); }
public bool HasDrivers() { return(Drivers.Any()); }
public void InitialDbData() { if (!Cars.Any()) { List <Vehicle> cars = new List <Vehicle>() { new Car() { CarId = Guid.Parse("7295a624-dea8-479c-b920-a3254f92af77"), CurrentDistance = 20.3, RegistrationNumber = "KRA2436", Status = Status.wolny, TotalDistance = 15034.5, XPosition = 2.4, YPosition = 5.2 }, new Car() { CarId = Guid.Parse("6291ffd4-cb73-4c37-aa9a-1591247f554d"), CurrentDistance = 13.7, RegistrationNumber = "KOL0201", Status = Status.wypożyczony, TotalDistance = 20134.5, XPosition = 1.4, YPosition = -2.2 }, new Car() { CarId = Guid.Parse("7fb934b4-dae2-4659-a9ee-d5af7af36f40"), CurrentDistance = 20.3, RegistrationNumber = "KRA2436", Status = Status.wolny, TotalDistance = 15034.5, XPosition = 2.4, YPosition = 5.2 } }; foreach (Car item in cars) { Cars.Add(item); var carReadModel = new CarViewModel() { CarId = item.CarId, CurrentDistance = item.CurrentDistance, RegistrationNumber = item.RegistrationNumber, Status = item.Status, TotalDistance = item.TotalDistance, XPosition = item.XPosition, YPosition = item.YPosition }; CarViewModels.Add(carReadModel); } } if (!Drivers.Any()) { Driver driver = new Driver("42222/12/01118", "Jan", "Kowalski"); driver.DriverId = Guid.Parse("0871afd6-dae6-45f2-b9cf-8f91f184d6af"); Drivers.Add(driver); DriverViewModel driverViewModel = new DriverViewModel() { DriverId = driver.DriverId, FirstName = driver.FirstName, LastName = driver.LastName, LicenceNumber = driver.LicenceNumber }; DriverViewModels.Add(driverViewModel); } if (!Rentals.Any()) { Rental rental = new Rental() { RentalId = Guid.Parse("1c3444e1-e09c-48a1-9cf2-db713731b5b1"), CarId = Guid.Parse("6291ffd4-cb73-4c37-aa9a-1591247f554d"), Started = DateTime.ParseExact("21/05/2020 07:25:47", "dd/MM/yyyy hh:mm:ss", CultureInfo.InvariantCulture), DriverId = Guid.Parse("0871afd6-dae6-45f2-b9cf-8f91f184d6af") }; Rentals.Add(rental); if (Cars.Any()) { var carToUpdate = Cars.FirstOrDefault(x => x.CarId == rental.CarId); carToUpdate.ChangeStatus(); } RentalReadModel rentalReadModel = new RentalReadModel() { RentalId = rental.RentalId, RegistrationNumber = "KOL0201", CarId = rental.CarId, DriverId = rental.DriverId, Driver = "Jan Kowalski", Created = rental.Started, StartXPosition = 1.4, StartYPosition = -2.2 }; RentalReadModels.Add(rentalReadModel); } this.SaveChanges(); }
protected virtual void UpdateDrivers() { if (Session.Cars != _drivers.Count) { var driversAdded = new List <TelemetryDriver>(); var driversRemoved = new List <TelemetryDriver>(); // Get a new list of drivers var driverList = Memory.Get("Simulator").ReadAs <int[]>("Drivers"); var validDriverList = driverList.Where(x => Provider.CheckDriverQuick(Memory, x)).ToArray(); var playerDriverPtr = Memory.Get("Simulator").ReadAs <int>("CarPlayer"); // Update the drivers.)) foreach (var validDriverPtr in validDriverList) { if (Drivers.Any(x => x.BaseAddress == validDriverPtr)) { continue; } var isPlayer = validDriverPtr == playerDriverPtr; var memPool = Memory.Get("DriverTemplate").Clone("Driver " + validDriverPtr, validDriverPtr); Provider.CreateDriver((MemoryPool)memPool, isPlayer); Memory.Add(memPool); var td = new TelemetryDriver(memPool); _drivers.Add(td); driversAdded.Add(td); if (isPlayer) { _player = td; } } foreach (var driver in _drivers) { if (!validDriverList.Any(x => x == driver.BaseAddress)) { // This driver is now invalid driversRemoved.Add(driver); } } for (int i = 0; i < driversRemoved.Count; i++) { Memory.Remove(driversRemoved[i].Pool); _drivers.Remove(driversRemoved[i]); if (driversRemoved[i] == _player) { _player = null; } } if (driversAdded.Count > 0) { GlobalEvents.Fire(new DriversAdded(this, driversAdded), true); } if (driversRemoved.Count > 0) { GlobalEvents.Fire(new DriversRemoved(this, driversAdded), true); } } }