public TyrePlacementViewModel(TyrePlacement placement) { TyrePlacementTitle = placement; Average = new ValueStateViewModel("Average", this); Mode = new ValueStateViewModel("Mode", this); Range = new ValueStateViewModel("Range", this); Axle = placement.GetAxleByTyrePlacement(); }
public TyreChangedEvent(Guid aggId, int expectedVersion, Tyre newTyre, TyrePlacement placement) { this.AggregateId = aggId; this.EventId = Guid.NewGuid(); this.EventType = EventTypes.TyreChanged.ToString(); this.ExpectedVersion = expectedVersion; this.Tyre = newTyre; this.Placement = placement; }
public static Axle GetAxleByTyrePlacement(this TyrePlacement tyrePlacement) { var attributes = tyrePlacement.GetAttributeValues <AxleAttribute>(typeof(TyrePlacement)); if (attributes.Length > 0) { return(attributes[0].Axle); } throw new Exception($"TyrePlacement {tyrePlacement} has not been given an Axle attribute setting."); }
public TyreResultsViewModel(ResultsService resultsService, TyrePlacement placement) { resultsService.DegradationResults[placement] += result => { var average = Convert.ToInt32(result.Average); var range = Convert.ToInt32(result.Range); AverageColour = GetColourForValue(average); Average = average.ToString(); RangeColour = GetColourForValue(range); Range = range.ToString(); }; resultsService.SelectionsInvalid += _ => SetResultsToNa(); SetResultsToNa(); }
public TyreComboBoxViewModel( ResultsService resultsService, TyrePlacement tyrePlacement, IReadOnlyDictionary <TyrePlacement, List <TyreInformation> > availableTyres) { _resultsService = resultsService; _tyrePlacement = tyrePlacement; TyrePlacement = tyrePlacement.ToString(); AvailableTyres = new ObservableCollection <string>(); _availableTyreInformation = new Dictionary <string, TyreInformation>(); foreach (var tyre in availableTyres[_tyrePlacement]) { var tyreNameAndFamily = tyre.Name + " - " + tyre.Family; AvailableTyres.Add(tyreNameAndFamily); _availableTyreInformation[tyreNameAndFamily] = tyre; } }
private void SetTyre(Tyre newTyre, TyrePlacement tyrePlacement) { switch (tyrePlacement) { case TyrePlacement.LeftFront: this.LeftFrontTyre = newTyre; break; case TyrePlacement.RightFront: this.RightFrontTyre = newTyre; break; case TyrePlacement.LeftBack: this.LeftBackTyre = newTyre; break; case TyrePlacement.RightBack: this.RightBackTyre = newTyre; break; default: throw new ArgumentException("Tyre placement is unknown"); } }
private DegradationResults CalculateDegradationResults(TyrePlacement placement) { return(_degradationCalculator.Calculate(_selectedTyres[placement], _selectedTrack.DegradationPoints, _temperature)); }
public void SetSelectedTyre(TyrePlacement placement, TyreInformation tyreInformation) { _selectedTyres[placement] = tyreInformation; RecalculateForEachTyre(); }
public void ChangeTyre(Tyre newTyre, TyrePlacement tyrePlacement) { SetTyre(newTyre, tyrePlacement); this.PublishEvent(new TyreChangedEvent(this.Id, this.Version, newTyre, tyrePlacement)); }