示例#1
0
        internal static int GetDistributionID(ITashaHousehold household, Activity activity)
        {
            int baseOffset   = 0;
            int childOffset  = 0;
            int adultOffset  = 0;
            int statusOffset = 0;

            var projectStatus = SchedulerHousehold.GetWorkSchoolProjectStatus(household);

            if (activity == Activity.JointOther)
            {
                baseOffset = 158;
            }
            else
            {
                baseOffset = 238;
            }
            if (household.NumberOfChildren > 0)
            {
                childOffset = 0;
            }
            else
            {
                childOffset = 12;
            }
            if (household.NumberOfAdults == 1)
            {
                adultOffset = 0;
            }
            else if (household.NumberOfAdults == 2)
            {
                adultOffset = 1;
            }
            else if (household.NumberOfAdults >= 3)
            {
                adultOffset = 2;
            }
            if (projectStatus == HouseholdWorkSchoolProjectStatus.NoWorkOrSchool)
            {
                statusOffset = 0;
            }
            else if (projectStatus == HouseholdWorkSchoolProjectStatus.NoEveningWorkOrSchool)
            {
                statusOffset = 1;
            }
            else if (projectStatus == HouseholdWorkSchoolProjectStatus.EveningWorkOrSchool)
            {
                statusOffset = 2;
            }
            else
            {
                statusOffset = 3;  //WorkSchoolProjectStatus.DayAndEveningWorkOrShool
            }
            return((baseOffset + childOffset) + (adultOffset * 4) + statusOffset);
        }