public SolvingViewModel() { Nodes = new ObservableCollection <EquationNodeModel> { new EquationNodeModel("Коефіцієнт маневреності", "Км"), new EquationNodeModel("Коефіцієнт абсолютної ліквідності", "Кал"), new EquationNodeModel("Коефіцієнт покриття", "Кп"), new EquationNodeModel("Коефіцієнт швидкої ліквідності", "Кшл"), new EquationNodeModel("Коефіцієнт забезпечення власними коштами", "Кз"), new EquationNodeModel("Константа", "C") { IsVisible = false }, new EquationNodeModel("Коефіцієнт платоспроможності", "Кпс") { IsResult = true } }; foreach (var equationNode in Nodes) { equationNode.PropertyChanged += NotifyResultChanged; } Result = EquationFormatter.Format(Nodes); SolveCommand = new DelegateCommand(Solve); PrepareForecastCommand = new DelegateCommand(PrepareForecastData); ForecastCommand = new DelegateCommand(Forecast); }
private void NotifyResultChanged(object sender, PropertyChangedEventArgs args) { if (args.PropertyName.Contains("Enabled")) { foreach (var equationNode in Nodes) { equationNode.Factor = null; } } Result = EquationFormatter.Format(Nodes.Where(x => x.IsEnabled).ToList()); }