Exemple #1
0
        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;
            }
        }
Exemple #2
0
            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);
                            }
                        }
                    }
                }
            }