예제 #1
0
        public ActionResult UserFodmap(Message?message)
        {
            ViewBag.StatusMessage =
                message == Message.AddFodmapSuccess ? "Successfully added new high FODMAP ingredient"
                : message == Message.FodmapExists ? "Ingredient already exists in database"
                : message == Message.AddFodmapFailure ? "Failed to add new entry to database"
                : "";
            List <HighRiskLabelledIngredient> eligibleIngredientList = new List <HighRiskLabelledIngredient>();
            List <int> highRiskList = db.UserIngredients.Where(u => u.Label == "High-Risk").Select(u => u.LabelledIngredientID).Distinct().ToList();

            foreach (int ingredient in highRiskList)
            {
                LabelledIngredient labelIng = db.LabelledIngredients.Where(l => l.ID == ingredient).FirstOrDefault();
                int  count           = db.UserIngredients.Where(u => u.LabelledIngredientID == ingredient && u.Label == "High-Risk").Count();
                bool ingredentExists = db.FODMAPIngredients.FirstOrDefault(x => x.Name.Contains(labelIng.Name)) != null ||
                                       db.FODMAPIngredients.FirstOrDefault(x => x.Aliases.Contains(labelIng.Name)) != null;
                if (count > 9 && !ingredentExists)
                {
                    HighRiskLabelledIngredient newIngredient = new HighRiskLabelledIngredient(labelIng, count);
                    eligibleIngredientList.Add(newIngredient);
                }
            }
            eligibleIngredientList = eligibleIngredientList.OrderByDescending(o => o.countOfLabelOccurences).ToList();
            return(View(eligibleIngredientList));
        }
예제 #2
0
 public List <HighRiskLabelledIngredient> RetrieveRiskyIngredientsEthnicity4()
 {
     using (FFDBContext db = new FFDBContext())
     {
         List <HighRiskLabelledIngredient> highRiskLabelledIngredientList = new List <HighRiskLabelledIngredient>();
         List <int> highRiskList = db.UserIngredients.Where(u => u.Label == "High-Risk").Select(u => u.LabelledIngredientID).Distinct().ToList();
         foreach (int ingredient in highRiskList)
         {
             LabelledIngredient labelIng = db.LabelledIngredients.Where(l => l.ID == ingredient).FirstOrDefault();
             int count = db.UserIngredients.Where(u => u.LabelledIngredientID == ingredient && u.Label == "High-Risk" && u.AspNetUser.UserInformation.ethnicity == "Native Hawaiian or Other Pacific Islander" && u.AspNetUser.UserProfile.optIn).Count();
             HighRiskLabelledIngredient newIngredient = new HighRiskLabelledIngredient(labelIng, count);
             highRiskLabelledIngredientList.Add(newIngredient);
         }
         highRiskLabelledIngredientList = highRiskLabelledIngredientList.OrderByDescending(o => o.countOfLabelOccurences).ToList();
         return(highRiskLabelledIngredientList);
     }
 }
예제 #3
0
 public List <HighRiskLabelledIngredient> RetrieveRiskyIngredientsAge4()
 {
     using (FFDBContext db = new FFDBContext())
     {
         List <HighRiskLabelledIngredient> highRiskLabelledIngredientList = new List <HighRiskLabelledIngredient>();
         List <int> highRiskList = db.UserIngredients.Where(u => u.Label == "High-Risk").Select(u => u.LabelledIngredientID).Distinct().ToList();
         foreach (int ingredient in highRiskList)
         {
             LabelledIngredient labelIng = db.LabelledIngredients.Where(l => l.ID == ingredient).FirstOrDefault();
             int count = db.UserIngredients.Where(u => u.LabelledIngredientID == ingredient && u.Label == "High-Risk" && (DateTime.Now.Year - u.AspNetUser.UserInformation.birthdate.Year) > 55 && (DateTime.Now.Year - u.AspNetUser.UserInformation.birthdate.Year) < 76 && u.AspNetUser.UserProfile.optIn).Count();
             HighRiskLabelledIngredient newIngredient = new HighRiskLabelledIngredient(labelIng, count);
             highRiskLabelledIngredientList.Add(newIngredient);
         }
         highRiskLabelledIngredientList = highRiskLabelledIngredientList.OrderByDescending(o => o.countOfLabelOccurences).ToList();
         return(highRiskLabelledIngredientList);
     }
 }
예제 #4
0
 public List <HighRiskLabelledIngredient> RetrieveRiskyIngredients()
 {
     using (FFDBContext db = new FFDBContext())
     {
         List <HighRiskLabelledIngredient> highRiskLabelledIngredientList = new List <HighRiskLabelledIngredient>();
         List <int> highRiskList = db.UserIngredients.Where(u => u.Label == "High-Risk").Select(u => u.LabelledIngredientID).Distinct().ToList();
         foreach (int ingredient in highRiskList)
         {
             LabelledIngredient labelIng = db.LabelledIngredients.Where(l => l.ID == ingredient).FirstOrDefault();
             int count = db.UserIngredients.Where(u => u.LabelledIngredientID == ingredient && u.Label == "High-Risk").Count();
             HighRiskLabelledIngredient newIngredient = new HighRiskLabelledIngredient(labelIng, count);
             highRiskLabelledIngredientList.Add(newIngredient);
         }
         highRiskLabelledIngredientList = highRiskLabelledIngredientList.OrderByDescending(o => o.countOfLabelOccurences).ToList();
         return(highRiskLabelledIngredientList);
     }
 }