public void Handle(WizardEvent <BudgetEquationWizardVM> message) { if (EquationToEdit != null && message.Status == WizardStatus.OK) { SuppressEvent = true; SaveEquation(message.Model.Equation); var equation = Equations.FirstOrDefault(x => x.Id == message.Model.Equation.Id); if (equation != null) { equation.Name = message.Model.Equation.Name; equation.IsVisible = message.Model.Equation.IsVisible; equation.Items.Clear(); equation.Items.AddRange(message.Model.Equation.Items); BudgetCalculatorEvaluator.Refresh(equation); equation.Refresh(); } else { Equations.Add(message.Model.Equation); } BudgetCalculatorEvaluator.Refresh(message.Model.Equation); SuppressEvent = false; } }
public override void EnterProperty([NotNull] DfmGrammarParser.PropertyContext context) { if (context.qualifiedIdent().GetText() == "Events") { foreach (var item in context.propertyValue().itemList().item()) { var textProp = GetPropertyByName(item, "ISBLText"); if (textProp == null) { continue; } var text = DfmParseUtils.GetTextPropValue(textProp); if (this.action != null) { this.action.CalculationText = text; } else { var typeProp = GetPropertyByName(item, "EventType"); var name = typeProp?.propertyValue().GetText() ?? string.Empty; if (!EventTitles.TryGetValue(name, out string title)) { title = name; } var wizardEvent = new WizardEvent { Name = name, Title = title, CalculationText = text }; if (this.step != null) { this.step.Events.Add(wizardEvent); } else if (this.wizard != null) { this.wizard.Events.Add(wizardEvent); } } } } }