Example #1
0
        public FoodItem(string input, NutritionContext ctx)
        {
            string[] comps = input.Replace("~", "").Split('^');
            /*
             * 0 - ID
             * 1 - group
             * 2 - FullName
             * 3 - Name
             * 4 - CommonNames
             * 5 - Manufacturer
             * 6 - isSurvey
             * 7 - RefuseDesc
             * 8 - RefusePercentage
             * 9 - ScientificName
             * 10 - NFactor Nitrogen ~> Protein factor
             * 11 - PFactor Calories from protein factor
             * 12 - FFactor Calories from fat factor
             * 13 - CFactor Calories from carb factor
             */

            this.USDAID = int.Parse(comps[0]);
            //this.Group = (from FoodGroup c in ctx.FoodGroups where c.ID == comps[1] select c).Single();
            this.FullName = comps[2];
            this.Name = comps[3];
            this.CommonNames = comps[4];
            this.Manufacturer = comps[5];
            this.isSurvey = comps[6].ToUpper() =="Y"?true:false;
            this.RefuseDesc = comps[7];
            this.RefusePercentage = comps[8];
            this.ScientificName = comps[9];
            this.NFactor = !string.IsNullOrWhiteSpace(comps[10]) ? double.Parse(comps[10]) : -1.1;
            this.PFactor = !string.IsNullOrWhiteSpace(comps[11])?double.Parse(comps[11]):-1.1;
            this.FFactor = !string.IsNullOrWhiteSpace(comps[12]) ? double.Parse(comps[12]) : -1.1;
            this.CFactor = !string.IsNullOrWhiteSpace(comps[13]) ? double.Parse(comps[13]) : -1.1;
        }
Example #2
0
        public List<Tuple<Nutrient, double>> GetNutritionalInfo(NutritionContext ctx)
        {
            Dictionary<Nutrient, double> nutritionalFacts = new Dictionary<Nutrient, double>();
            foreach (Tuple<FoodItem, double> item in Ingredients)
            {
                //Pull all FoodNutrients for this food item.
                FoodNutrient[] nutrs = (from f in ctx.FoodNutrients
                                        where f.Food == item.Item1
                                        select f).ToArray();

                //Determine if Nutrient is already in nutritional facts
                foreach (FoodNutrient nut in nutrs)
                {
                    if (nutritionalFacts.ContainsKey(nut.Nutrient))
                    {
                        nutritionalFacts[nut.Nutrient] += nut.NutrientAmount;
                    }
                    else
                    {
                        nutritionalFacts.Add(nut.Nutrient, nut.NutrientAmount);
                    }
                }

            }

            return nutritionalFacts;
        }
Example #3
0
        public static Product ValidateProductId(NutritionContext context, int productId)
        {
            var product = context.Products.FirstOrDefault(p => p.ProductId == productId);

            if (product == null)
            {
                throw new ArgumentNullException("ProductId dont't exists in the database");
            }

            return(product);
        }
Example #4
0
        // api/nutritions?productId={productId}
        public ProductModel GetProductById([FromUri] int productId)
        {
            var responseMsg = this.PerformOperationAndHandleExeptions(() =>
            {
                using (var context = new NutritionContext())
                {
                    var productEntity = Validator.ValidateProductId(context, productId);
                    var productModel  = Parser.ParseProduct(productEntity);
                    return(productModel);
                }
            });

            return(responseMsg);
        }
Example #5
0
        // api/nutritions?keyword={keyword}
        public ProductsByKeywordModel GetProductsByKeyword([FromUri] string keyword)
        {
            var responseMsg = this.PerformOperationAndHandleExeptions(() =>
            {
                using (var context = new NutritionContext())
                {
                    var keywordEntity = Validator.ValidateKeyword(context, keyword);
                    var productModel  = Parser.ParseProductsByKeyword(keywordEntity);
                    return(productModel);
                }
            });

            return(responseMsg);
        }
Example #6
0
        internal static Description ValidateKeyword(NutritionContext context, string keyword)
        {
            if (string.IsNullOrEmpty(keyword))
            {
                throw new ArgumentNullException("Keyword can't be empty ot with null value");
            }
            else if (keyword.Length < 3)
            {
                throw new InvalidOperationException("Keyword has to be at least 3 chars long");
            }

            var keywordInDb = context.Descriptions.FirstOrDefault(d => d.KeyWord.ToLower().Trim() == keyword.ToLower().Trim());

            if (keywordInDb == null)
            {
                throw new ArgumentNullException("Keyword don't exists in database");
            }

            return(keywordInDb);
        }
Example #7
0
        // api/nutritions
        public IQueryable <ProductsByKeywordModel> GetAll()
        {
            var responseMsg = this.PerformOperationAndHandleExeptions(() =>
            {
                using (var context = new NutritionContext())
                {
                    var models          = new HashSet <ProductsByKeywordModel>();
                    var keywordEntities = context.Descriptions;

                    foreach (var keywordEntity in keywordEntities)
                    {
                        var productsByKeywordModel = Parser.ParseProductsByKeyword(keywordEntity);
                        models.Add(productsByKeywordModel);
                    }

                    return(models.OrderBy(p => p.Keyword).AsQueryable());
                }
            });

            return(responseMsg);
        }
Example #8
0
 public NutrientManager(NutritionContext context)
 {
     _context = context;
 }
Example #9
0
 public SuplementsController(NutritionContext context, ISuplementsService suplementService)
 {
     _context          = context;
     _suplementService = suplementService;
 }
Example #10
0
 public SuplementRepository(NutritionContext context) : base(context)
 {
 }
Example #11
0
 public ResearchesController(NutritionContext context)
 {
     _context = context;
 }
Example #12
0
 public SuplementsFormsController(NutritionContext context)
 {
     _context = context;
 }
Example #13
0
 public BaseRepository(NutritionContext context)
 {
     _context = context;
 }