private WorktimeRangeAdmin PrepareWorktimeRangeAdmin()
        {
            if (!radioBudget.Checked) // for charts per scenario and per HH-type just avoid ranges
            {
                return(new WorktimeRangeAdmin(WorktimeRangeAdmin.RangeType.None, true, years, radioCountryYear.Checked ? GetSelectedHHTypes() : null));
            }

            WorktimeRangeAdmin.RangeType t = WorktimeRangeAdmin.RangeType.None;
            if (radioRangeHoursFixedWage.Checked)
            {
                t = WorktimeRangeAdmin.RangeType.RangeHours_FixWage;
            }
            else if (radioRangeWageFixedHours.Checked)
            {
                t = WorktimeRangeAdmin.RangeType.RangeWage_FixHours;
            }
            else if (radioRangeIncomeFixedHours.Checked)
            {
                t = WorktimeRangeAdmin.RangeType.RangeInc_FixHours;
            }
            else if (radioRangeIncomeFixedWage.Checked)
            {
                t = WorktimeRangeAdmin.RangeType.RangeInc_FixWage;
            }
            WorktimeRangeAdmin worktimeRangeAdmin = new WorktimeRangeAdmin(t, true, years, GetSelectedHHTypes());

            foreach (var hhType in GetInfoHHTypes()) // find the HH-type ...
            {
                int hhTypeId = hhType.Key; string hhTypeName = hhType.Value;
                foreach (string pName in GetHHTypePersonNames(hhTypeId)) // ... and person ...
                {
                    if (hhTypeName == GetSelectedHHTypes().First() && pName == comboPerson.Text)
                    {
                        worktimeRangeAdmin.AddPersonWorktimeRange(hhTypeName, pName, new WorktimeRange() // ... for whom to range income
                        {
                            fixValue  = double.Parse(txtFixedValue.Text),
                            rangeFrom = double.Parse(txtRangeFrom.Text),
                            rangeTo   = double.Parse(txtRangeTo.Text),
                            rangeStep = double.Parse(txtRangeStep.Text)
                        });
                    }
                }
            }
            return(worktimeRangeAdmin);
        }
        internal List <double> GetIncRange(WorktimeRangeAdmin.RangeType t)
        {
            List <double> rg = new List <double>();

            switch (t)
            {
            case WorktimeRangeAdmin.RangeType.RangeInc_FixHours:
            case WorktimeRangeAdmin.RangeType.RangeInc_FixWage:
                for (double d = rangeFrom; d <= rangeTo; d += rangeStep)
                {
                    rg.Add(d);
                }
                break;

            case WorktimeRangeAdmin.RangeType.RangeHours_FixWage:
            case WorktimeRangeAdmin.RangeType.RangeWage_FixHours:
                for (double d = rangeFrom; d <= rangeTo; d += rangeStep)
                {
                    rg.Add(d * fixValue * 4.35);
                }
                break;
            }
            return(rg);
        }