private RDI getRDICategory(int age, String gender, bool pregnant, bool lactating)
        {
            String ageRange;

            //check pregnant and lactating first as they use different ranges
            if (pregnant || lactating)
            {
                if (age >= 19)
                {
                    ageRange = "19-50";
                }
                else
                {
                    ageRange = "14-18";
                }
            }
            else
            {
                if (age > 70)
                {
                    ageRange = "70+";
                }
                else if (age > 50)
                {
                    ageRange = "51-70";
                }
                else if (age > 30)
                {
                    ageRange = "31-50";
                }
                else if (age > 18)
                {
                    ageRange = "19-30";
                }
                else if (age > 13)
                {
                    ageRange = "14-18";
                }
                else if (age > 8)
                {
                    ageRange = "9-13";
                }
                else if (age > 3)
                {
                    ageRange = "4-8";
                }
                else
                {
                    ageRange = "1-3";
                }
            }

            //if both pregnant and lactating, use the lactating RDI
            if (pregnant && lactating)
            {
                pregnant = false;
            }

            //get RDI category from age and gender
            RDI temp = RDIs.Where(r => r.AgeRange == ageRange && r.Gender == gender && r.Pregnant == pregnant && r.Lactating == lactating).ToList()[0];

            //multiply by number of days selected
            return(new RDI()
            {
                Water = temp.Water * ((StopDate.Date - StartDate.Date).Days + 1),
                Enegry = temp.Enegry * ((StopDate.Date - StartDate.Date).Days + 1),
                EnegryNIP = temp.EnegryNIP * ((StopDate.Date - StartDate.Date).Days + 1),
                Protein = temp.Protein * ((StopDate.Date - StartDate.Date).Days + 1),
                Fat = temp.Fat * ((StopDate.Date - StartDate.Date).Days + 1),
                Carbohydrates = temp.Carbohydrates * ((StopDate.Date - StartDate.Date).Days + 1),
                DietaryFibre = temp.DietaryFibre * ((StopDate.Date - StartDate.Date).Days + 1),
                Sugars = temp.Sugars * ((StopDate.Date - StartDate.Date).Days + 1),
                Starch = temp.Starch * ((StopDate.Date - StartDate.Date).Days + 1),
                SFA = temp.SFA * ((StopDate.Date - StartDate.Date).Days + 1),
                MUFA = temp.MUFA * ((StopDate.Date - StartDate.Date).Days + 1),
                PUFA = temp.PUFA * ((StopDate.Date - StartDate.Date).Days + 1),
                AlphaLinolenicAcid = temp.AlphaLinolenicAcid * ((StopDate.Date - StartDate.Date).Days + 1),
                LinoleicAcid = temp.LinoleicAcid * ((StopDate.Date - StartDate.Date).Days + 1),
                Cholesterol = temp.Cholesterol * ((StopDate.Date - StartDate.Date).Days + 1),
                Sodium = temp.Sodium * ((StopDate.Date - StartDate.Date).Days + 1),
                Iodine = temp.Iodine * ((StopDate.Date - StartDate.Date).Days + 1),
                Potassium = temp.Potassium * ((StopDate.Date - StartDate.Date).Days + 1),
                Phosphorus = temp.Phosphorus * ((StopDate.Date - StartDate.Date).Days + 1),
                Calcium = temp.Calcium * ((StopDate.Date - StartDate.Date).Days + 1),
                Iron = temp.Iron * ((StopDate.Date - StartDate.Date).Days + 1),
                Zinc = temp.Zinc * ((StopDate.Date - StartDate.Date).Days + 1),
                Selenium = temp.Selenium * ((StopDate.Date - StartDate.Date).Days + 1),
                VitaminA = temp.VitaminA * ((StopDate.Date - StartDate.Date).Days + 1),
                BetaCarotene = temp.BetaCarotene * ((StopDate.Date - StartDate.Date).Days + 1),
                Thiamin = temp.Thiamin * ((StopDate.Date - StartDate.Date).Days + 1),
                Riboflavin = temp.Riboflavin * ((StopDate.Date - StartDate.Date).Days + 1),
                Niacin = temp.Niacin * ((StopDate.Date - StartDate.Date).Days + 1),
                VitaminB6 = temp.VitaminB6 * ((StopDate.Date - StartDate.Date).Days + 1),
                VitaminB12 = temp.VitaminB12 * ((StopDate.Date - StartDate.Date).Days + 1),
                DietaryFolate = temp.DietaryFolate * ((StopDate.Date - StartDate.Date).Days + 1),
                VitaminC = temp.VitaminC * ((StopDate.Date - StartDate.Date).Days + 1),
                VitaminD = temp.VitaminD * ((StopDate.Date - StartDate.Date).Days + 1),
                VitaminE = temp.VitaminE * ((StopDate.Date - StartDate.Date).Days + 1),
                Alcohol = temp.Alcohol * ((StopDate.Date - StartDate.Date).Days + 1)
            });
        }
        private RDI getRDICategory(int age, String gender)
        {
            String ageRange;

            if (age > 70)
            {
                ageRange = "70+";
            }
            else if (age > 50)
            {
                ageRange = "51-70";
            }
            else if (age > 30)
            {
                ageRange = "31-50";
            }
            else if (age > 18)
            {
                ageRange = "19-30";
            }
            else if (age > 13)
            {
                ageRange = "14-18";
            }
            else if (age > 8)
            {
                ageRange = "9-13";
            }
            else if (age > 3)
            {
                ageRange = "4-8";
            }
            else
            {
                ageRange = "1-3";
            }

            //get RDI category from age and gender
            RDI temp = RDIs.Where(r => r.AgeRange == ageRange && r.Gender == gender).ToList()[0];

            //multiply by number of days selected
            return(new RDI()
            {
                Water = temp.Water,
                DietaryFibre = temp.DietaryFibre,
                Sugars = temp.Sugars,
                Starch = temp.Starch,
                SFA = temp.SFA,
                MUFA = temp.MUFA,
                PUFA = temp.PUFA,
                AlphaLinolenicAcid = temp.AlphaLinolenicAcid,
                LinoleicAcid = temp.LinoleicAcid,
                Cholesterol = temp.Cholesterol,
                Sodium = temp.Sodium,
                Iodine = temp.Iodine,
                Potassium = temp.Potassium,
                Phosphorus = temp.Phosphorus,
                Calcium = temp.Calcium,
                Iron = temp.Iron,
                Zinc = temp.Zinc,
                Selenium = temp.Selenium,
                VitaminA = temp.VitaminA,
                BetaCarotene = temp.BetaCarotene,
                Thiamin = temp.Thiamin,
                Riboflavin = temp.Riboflavin,
                Niacin = temp.Niacin,
                VitaminB6 = temp.VitaminB6,
                VitaminB12 = temp.VitaminB12,
                DietaryFolate = temp.DietaryFolate,
                VitaminC = temp.VitaminC,
                VitaminD = temp.VitaminD,
                VitaminE = temp.VitaminE,
                Alcohol = temp.Alcohol
            });
        }