Пример #1
0
        public void LoadData(Budget budget)
        {
            BudgetCalculatorEvaluator.Budget = budget;
            LoadValueTypes();
            LoadOperatorTypes();
            Budget = budget;
            if (Database.Count <BudgetCalculatorEquation>() > 0)
            {
                LastEquationPosition = Database.ExecuteScalar <int>("SELECT MAX(Position) FROM [BudgetCalculatorEquation]");
            }
            var equations = CachedService.GetAllEquations();

            equations.ForEach(x =>
            {
                BudgetCalculatorEvaluator.Refresh(x);
            });

            Equations.IsNotifying = false;
            Equations.Clear();
            Equations.AddRange(equations);
            Equations.IsNotifying = true;
            Equations.Refresh();
        }
Пример #2
0
        public void UpdateForeignDescriptions(BudgetCalculatorEquation equation)
        {
            foreach (var item in equation.Items)
            {
                switch (item.ValueType)
                {
                case CalculatorValueType.CalculatorEquationValue:
                    var eq = CachedService.GetAllEquations().FirstOrDefault(x => x.Id == item.ForeignId);
                    if (eq != null)
                    {
                        item.ForeignDescription = eq.Name;
                    }
                    break;

                case CalculatorValueType.BudgetExpensesValueOfType:
                    var cf = CachedService.GetAllCashFlows().FirstOrDefault(x => x.Id == item.ForeignId);
                    if (cf != null)
                    {
                        item.ForeignDescription = cf.Name;
                    }
                    break;
                }
            }
        }