public FoodContent(FoodContentViewModel model)
 {
     InitializeComponent();
     _model         = model;
     BindingContext = _model;
 }
Пример #2
0
        private FoodContentViewModel GetViewModel(string tagName)
        {
            var    assembly = IntrospectionExtensions.GetTypeInfo(typeof(WelcomePage)).Assembly;
            Stream stream   = assembly.GetManifestResourceStream("FoodAI.ai-food-database.csv");
            string data;

            using (var reader = new StreamReader(stream))
            {
                data = reader.ReadToEnd();
            }

            string[] datainLines = data.Split(Environment.NewLine.ToCharArray());
            int      lineIndex;

            switch (tagName)
            {
            case "Fish":
                lineIndex = 1;
                break;

            case "Bread":
                lineIndex = 2;
                break;

            case "Rice":
                lineIndex = 3;
                break;

            case "Eba":
                lineIndex = 4;
                break;

            case "Chicken":
                lineIndex = 5;
                break;

            default:
                throw new Exception("Invalid tagname");
            }

            string[] foodData = datainLines[lineIndex].Split(',');
            var      model    = new FoodContentViewModel
            {
                TagName             = tagName,
                EnergyInKcal        = Convert.ToDouble(foodData[1]),
                WaterInGram         = Convert.ToDouble(foodData[2]),
                ProteinInGram       = Convert.ToDouble(foodData[3]),
                FatInGram           = Convert.ToDouble(foodData[4]),
                CarbohydrateInGram  = Convert.ToDouble(foodData[5]),
                FibreInGram         = Convert.ToDouble(foodData[6]),
                AshInGram           = Convert.ToDouble(foodData[7]),
                CalciumInMilGram    = Convert.ToDouble(foodData[8]),
                IronInMilGram       = Convert.ToDouble(foodData[9]),
                MagnesiumInMilGram  = Convert.ToDouble(foodData[10]),
                PhosphorusInMilGram = Convert.ToDouble(foodData[11]),
                PotassiumInMilGram  = Convert.ToDouble(foodData[12]),
                SodiumInMilGram     = Convert.ToDouble(foodData[13]),
                ZincInMilGram       = Convert.ToDouble(foodData[14]),
                CopperInMilGram     = Convert.ToDouble(foodData[15]),
                ManganeseInMilGram  = Convert.ToDouble(foodData[16]),
                DietSuggestion      = foodData[17]
            };

            return(model);
        }