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); }