private void RefreshCalculations() { if (ZustandsErfassungsmodus == ZustandsErfassungsmodus.Grob) { Schadensumme = GrobItemViewModels.Sum(ivm => ivm.Bewertung); } else if (ZustandsErfassungsmodus == ZustandsErfassungsmodus.Detail) { Schadensumme = DetailGroupItemViewModels.Sum(ivm => ivm.Bewertung); } Zustandsindex = Math.Min(5, Schadensumme * 0.1m); }
private void ChangeToGrob() { var schadengruppeMetadatens = schadenMetadatenService.GetSchadengruppeMetadaten(belagsTyp); foreach (var grobItemViewModel in GrobItemViewModels) { grobItemViewModel.PropertyChanged -= ItemViewModelOnPropertyChanged; } GrobItemViewModels.Clear(); int rowNumber = 0; foreach (var schadengruppeMetadaten in schadengruppeMetadatens) { var schadengruppeDto = schadengruppeDtos.SingleOrDefault(sg => sg.SchadengruppeTyp == schadengruppeMetadaten.SchadengruppeTyp); var grobItemViewModel = new GrobItemViewModel(schadengruppeMetadaten, schadengruppeDto, rowNumber % 2 != 0); GrobItemViewModels.Add(grobItemViewModel); grobItemViewModel.PropertyChanged += ItemViewModelOnPropertyChanged; rowNumber++; } RefreshCalculations(); }