Esempio n. 1
0
        public Food GetFoodByGroup(MealTypes mainType, int foodGroup)
        {
            using (var session = NHibernateManager.OpenSession())
            {
                if (MealTypesList == null)
                {
                    MealTypesList = session.CreateCriteria <Mealtype>().List <Mealtype>();
                }

                Mealtype currMealType = MealTypesList.Where(x => x.Id == (int)mainType).First();

                if (FoodGroupList == null)
                {
                    FoodGroupList = session.CreateCriteria <Foodgroup>().List <Foodgroup>();
                }

                Foodgroup    currFoodType = FoodGroupList.Where(x => x.Id == foodGroup).First();
                IList <Food> foodList     = session.CreateCriteria <Food>()
                                            .Add(Expression.Or(Expression.Eq("MealType", currMealType),
                                                               Expression.Eq("MealType", MealTypesList.Where(x => x.Id == (int)MealTypes.Everything).First())))
                                            .Add(Expression.Eq("FoodGroup", currFoodType))
                                            .List <Food>();

                Random Rand = new Random();

                int ChosenIndex = Rand.Next(0, foodList.Count - 1);

                return(foodList[ChosenIndex]);
            }
        }
Esempio n. 2
0
        public List <Food> GetFoods(int NumOfFoods, MealTypes mainType)
        {
            using (var session = NHibernateManager.OpenSession())
            {
                List <Food> result = new List <Food>();

                if (MealTypesList == null)
                {
                    MealTypesList = session.CreateCriteria <Mealtype>().List <Mealtype>();
                }

                Mealtype     currMealType = MealTypesList.Where(x => x.Id == (int)mainType).First();
                IList <Food> foodList;

                if (!FoodsByMeal.ContainsKey(currMealType))
                {
                    if (mainType == MealTypes.Snack)
                    {
                        foodList = session.CreateCriteria <Food>()
                                   .Add(Expression.Eq("MealType", currMealType))
                                   .List <Food>();
                    }
                    else
                    {
                        foodList = session.CreateCriteria <Food>()
                                   .Add(Expression.Or(Expression.Eq("MealType", currMealType),
                                                      Expression.Eq("MealType", MealTypesList.Where(x => x.Id == (int)MealTypes.Everything).First())))
                                   .List <Food>();
                    }

                    FoodsByMeal[currMealType] = foodList;
                }
                else
                {
                    foodList = FoodsByMeal[currMealType];
                }


                if (foodList.Count > 0)
                {
                    for (int i = 0; i < NumOfFoods; i++)
                    {
                        int ChosenIndex = Rand.Next(0, foodList.Count - 1);

                        result.Add(foodList[ChosenIndex]);
                    }
                }

                return(result);
            }
        }
Esempio n. 3
0
        private void IsMealNone(JObject jobj, Mealtype mealtype)
        {
            if (jobj["mealServiceDietInfo"] == null)
            {
                switch (mealtype)
                {
                case Mealtype.NONEALL:
                    IsMealNoneAll();
                    break;

                case Mealtype.NONEBREAKFAST:
                    IsMealNoneBreakFast();
                    break;

                case Mealtype.NONELUNCH:
                    IsMealNoneLunch();
                    break;

                case Mealtype.NONEDINNER:
                    IsMealNoneDinner();
                    break;
                }
            }
            else if (jobj["mealServiceDietInfo"][0]["head"][1]["RESULT"]["CODE"].ToString() != "INFO-000" && jobj["RESULT"]["CODE"].ToString() == "INFO-200")
            {
                switch (mealtype)
                {
                case Mealtype.NONEALL:
                    IsMealNoneAll();
                    break;

                case Mealtype.NONEBREAKFAST:
                    IsMealNoneBreakFast();
                    break;

                case Mealtype.NONELUNCH:
                    IsMealNoneLunch();
                    break;

                case Mealtype.NONEDINNER:
                    IsMealNoneDinner();
                    break;
                }
            }
        }