/// <summary> /// Creates pop-up window with node sensing phenomena options. /// </summary> public void ChooseSensingPhenomena() { var sensorsView = new SensingPhenomenaView(); ((SensingPhenomenaViewModel)sensorsView.DataContext).Sensors.ToList().ForEach(s => { if (SelectedSensors.Any(p => p.Phenomena == s.Phenomena)) { s.IsSelected = true; } }); ((SensingPhenomenaViewModel)sensorsView.DataContext).SetSelectedSensorsPrize(); sensorsView.ShowDialog(); SelectedSensors = ((SensingPhenomenaViewModel)sensorsView.DataContext).Sensors.Where(s => s.IsSelected); var price = ((SensingPhenomenaViewModel)sensorsView.DataContext).SummarizedPrice; if (ComponentPrices.ContainsKey("Sensors")) { ComponentPrices["Sensors"] = price; } else { ComponentPrices.Add("Sensors", price); } Node.Parameters.SensingPhenomenas = GetSensors(); SumUpNodePrice(); }
public void EditSensingPhenomena() { var sensorsPrice = SelectedSensors.Select(c => c.Price).Sum(); Price -= sensorsPrice; var sensorsView = new SensingPhenomenaView(); ((SensingPhenomenaViewModel)sensorsView.DataContext).Sensors.ToList().ForEach(s => { if (SelectedSensors.Any(p => p.Phenomena == s.Phenomena)) { s.IsSelected = true; } }); ((SensingPhenomenaViewModel)sensorsView.DataContext).SetSelectedSensorsPrize(); sensorsView.ShowDialog(); SelectedSensors = ((SensingPhenomenaViewModel)sensorsView.DataContext).Sensors.Where(s => s.IsSelected); var price = ((SensingPhenomenaViewModel)sensorsView.DataContext).SummarizedPrice; Price += price; }