コード例 #1
0
        /// <summary>
        /// Add an item to the list and then to the offline file.
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public async Task <bool> AddItemAsync(NutritionItem item)
        {
            _nutritionItems.Add(item);
            await Task.Run(() => UpdateLocalFiles());

            return(await Task.FromResult(true));
        }
コード例 #2
0
        private void OnItemClickedCommandExecute(object param)
        {
            int           id   = Convert.ToInt32(param);
            NutritionItem item = _nutritionItems.Where(x => x.ID == id).FirstOrDefault();

            App.Current.MainPage.Navigation.PushModalAsync(new NavigationPage(new NutritionItemDetailsPage(item)));
        }
コード例 #3
0
        private void LoadItemList(object item)
        {
            NutritionItemCategorie categorieItem = item as NutritionItemCategorie;
            NutritionItem          nutritionItem = item as NutritionItem;

            if (categorieItem != null)
            {
                if (categorieItem.ListOfSubCategories.Count >= 1)
                {
                    // If there are sub categories in the list, show them
                    NutritionItemCategories    = categorieItem.ListOfSubCategories;
                    IsItemListViewVisible      = false;
                    IsCategorieListViewVisible = true;
                }
                else
                {
                    // If there are no more categories, show the nutrition items
                    Task.Run(() => LoadNutritionItems(categorieItem.ListOfNutritionItemIDs));
                    IsItemListViewVisible      = true;
                    IsCategorieListViewVisible = false;
                }
            }
            else if (nutritionItem != null)
            {
                // Show detail page of item
                // Add to navigation stack
            }
        }
コード例 #4
0
        /// <summary>
        /// Update a NutritionItem
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public async Task <bool> UpdateItemAsync(NutritionItem item)
        {
            var oldItem = _nutritionItems.Where((NutritionItem arg) => arg.ID == item.ID).FirstOrDefault();

            _nutritionItems.Remove(oldItem);
            _nutritionItems.Add(item);

            return(await Task.FromResult(true));
        }
コード例 #5
0
        public override void OnNavigatingTo(object param)
        {
            var item = param as NutritionItem;

            if (item == null)
            {
                return;
            }

            Item  = item;
            Title = Item.Name;
        }
コード例 #6
0
        public async Task <bool> AddItemAsync(NutritionItem item)
        {
            if (item == null || !IsConnected)
            {
                return(false);
            }

            var serializedItem = JsonConvert.SerializeObject(item);

            var response = await client.PostAsync($"api/item", new StringContent(serializedItem, Encoding.UTF8, "application/json"));

            return(response.IsSuccessStatusCode);
        }
コード例 #7
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public static void GenerateCategories(string categories, NutritionItem nutritionItem)
        {
            IList <int> listOfCategorieIndexes = new List <int>();
            var         split = categories.Split(';');

            foreach (var x in split)
            {
                var sub_split = x.Split('/');

                categorieIndex++;
                NutritionItemCategorie categorie = new NutritionItemCategorie(categorieIndex);
                categorie.Name = sub_split[0];

                var cat = ItemCategories.Where(x => x.Name == categorie.Name).FirstOrDefault();
                if (cat == null)
                {
                    ItemCategories.Add(categorie);
                }
                else
                {
                    categorie = cat;
                }

                nutritionItem.Categories.Add(categorie.ID);
                categorie.ListOfNutritionItemIDs.Add(nutritionItem.ID);

                if (sub_split.Length <= 1)
                {
                    continue;
                }

                categorieIndex++;
                NutritionItemCategorie sub_categorie = new NutritionItemCategorie(categorieIndex);
                sub_categorie.Name     = sub_split[1];
                sub_categorie.ParentID = categorie.ID;

                var sub_cat = categorie.ListOfSubCategories.Where(x => x.Name == sub_categorie.Name).FirstOrDefault();
                if (sub_cat == null)
                {
                    categorie.ListOfSubCategories.Add(sub_categorie);
                }
                else
                {
                    sub_categorie = sub_cat;
                }

                nutritionItem.Categories.Append(sub_categorie.ID);
                sub_categorie.ListOfNutritionItemIDs.Add(nutritionItem.ID);
            }
        }
コード例 #8
0
        private void addNewItemButton_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrWhiteSpace(nameTextBox.Text))
            {
                nameTextBox.ForeColor = System.Drawing.Color.Red;
                MessageBox.Show("You must enter a value for the name field.", "", MessageBoxButtons.OK);
                return;
            }

            if (helper.isFieldEmpty(textBoxesWithoutName))
            {
                MessageBox.Show("You must enter a value for all available fields.", "", MessageBoxButtons.OK);
                return;
            }

            var day = addOrUpdateCurrentDay(dateTimePicker.Text.Replace(" ", ""));

            var textboxvalues = helper.parseTextBoxValues(textBoxesWithoutName);

            if (textboxvalues == null)
            {
                return;
            }

            var amount = helper.parseDouble(amountTextbox.Text);

            if (amount == null)
            {
                amountTextbox.ForeColor = System.Drawing.Color.Red;
                return;
            }

            var nutrition = new NutritionItem(nameTextBox.Text, day, textboxvalues, amount.Value);

            _nutritionRepo.Add(nutrition);
            var result = _dayRepository.Update(day);

            if (result == null || typeof(WholeDay) != result.GetType())
            {
                Debug.WriteLine($"Could not update that item. Returned result was; {result}");
            }

            currentDayItems.Items.Add(new FoodBoxItem(nutrition.calories, nutrition.fats, nutrition.saturatedFats,
                                                      nutrition.carbohydrates, nutrition.sugars, nutrition.protein,
                                                      nutrition.salt, nutrition.fibre, nutrition.name, nutrition.NutritionItemId, nutrition.amount, nutrition.dateTime));

            showTotals();
            resetFields();
        }
コード例 #9
0
        public async Task <bool> UpdateItemAsync(NutritionItem item)
        {
            if (item == null || item.ID == null || !IsConnected)
            {
                return(false);
            }

            var serializedItem = JsonConvert.SerializeObject(item);
            var buffer         = Encoding.UTF8.GetBytes(serializedItem);
            var byteContent    = new ByteArrayContent(buffer);

            var response = await client.PutAsync(new Uri($"api/item/{item.ID}"), byteContent);

            return(response.IsSuccessStatusCode);
        }
コード例 #10
0
 public void Add(NutritionItem item)
 {
     _db.Nutrition.Add(item);
     _db.SaveChanges();
 }
コード例 #11
0
        public static NutritionItem ConvertRow(DataRow header, DataRow row)
        {
            NutritionItem nutriItem = new NutritionItem();

            for (int i = 0; i < row.ItemArray.Length; i++)
            {
                if (header.ItemArray[i].Equals("ID"))
                {
                    nutriItem.ID = Convert.ToInt32(row.ItemArray[i]);
                }
                else if (header.ItemArray[i].Equals("Name"))
                {
                    nutriItem.Name = row.ItemArray[i].ToString();
                }
                else if (header.ItemArray[i].Equals("Synonyme"))
                {
                    nutriItem.Synonyms = row.ItemArray[i].ToString().Split(';');
                }
                else if (header.ItemArray[i].Equals("Kategorie"))
                {
                    GenerateCategories(row.ItemArray[i].ToString(), nutriItem);
                }
                else if (header.ItemArray[i].Equals("Bezugseinheit"))
                {
                    if (row.ItemArray[i].ToString().Equals("pro 100 ml"))
                    {
                        nutriItem.ReferenceValue = Core.Enums.ReferenceUnitsEnum.Milliliters;
                    }
                    else if (row.ItemArray[i].ToString().Equals("pro 100g essbarer Anteil"))
                    {
                        nutriItem.ReferenceValue = Core.Enums.ReferenceUnitsEnum.Grams;
                    }
                }
                else if (header.ItemArray[i].Equals("Energie, Kilojoule"))
                {
                    nutriItem.KiloJoule = Convert.ToDouble(row.ItemArray[i]);
                }
                else if (header.ItemArray[i].Equals("Energie, Kalorien"))
                {
                    nutriItem.Calories = Convert.ToDouble(row.ItemArray[i]);
                }
                else if (header.ItemArray[i].Equals("Fett, total (g)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.Fat = new NutritionDataFormatValueGram(outValue);
                    }
                    else
                    {
                        nutriItem.Fat = new NutritionDataFormatValueGram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Fettsäuren, gesättigt (g)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.FattyAcidsSaturated = new NutritionDataFormatValueGram(outValue);
                    }
                    else
                    {
                        nutriItem.FattyAcidsSaturated = new NutritionDataFormatValueGram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Fettsäuren, einfach ungesättigt (g)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.FattyAcidsSingleSaturated = new NutritionDataFormatValueGram(outValue);
                    }
                    else
                    {
                        nutriItem.FattyAcidsSingleSaturated = new NutritionDataFormatValueGram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Fettsäuren, mehrfach ungesättigt (g)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.FattyAcidsMultiSaturated = new NutritionDataFormatValueGram(outValue);
                    }
                    else
                    {
                        nutriItem.FattyAcidsMultiSaturated = new NutritionDataFormatValueGram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Cholesterin (mg)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.Cholesterol = new NutritionDataFormatValueMilligram(outValue);
                    }
                    else
                    {
                        nutriItem.Cholesterol = new NutritionDataFormatValueMilligram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Kohlenhydrate, verfügbar (g)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.Carbs = new NutritionDataFormatValueGram(outValue);
                    }
                    else
                    {
                        nutriItem.Carbs = new NutritionDataFormatValueGram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Zucker (g)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.Sugar = new NutritionDataFormatValueGram(outValue);
                    }
                    else
                    {
                        nutriItem.Sugar = new NutritionDataFormatValueGram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Stärke (g)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.Starch = new NutritionDataFormatValueGram(outValue);
                    }
                    else
                    {
                        nutriItem.Starch = new NutritionDataFormatValueGram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Nahrungsfasern (g)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.Fibres = new NutritionDataFormatValueGram(outValue);
                    }
                    else
                    {
                        nutriItem.Fibres = new NutritionDataFormatValueGram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Protein (g)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.Protein = new NutritionDataFormatValueGram(outValue);
                    }
                    else
                    {
                        nutriItem.Protein = new NutritionDataFormatValueGram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Salz (NaCl) (g)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.Salt = new NutritionDataFormatValueGram(outValue);
                    }
                    else
                    {
                        nutriItem.Salt = new NutritionDataFormatValueGram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Alkohol (g)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.Alcohol = new NutritionDataFormatValueGram(outValue);
                    }
                    else
                    {
                        nutriItem.Alcohol = new NutritionDataFormatValueGram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Wasser (g)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.Water = new NutritionDataFormatValueGram(outValue);
                    }
                    else
                    {
                        nutriItem.Water = new NutritionDataFormatValueGram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Vitamin A-Aktivität, RE (µg-RE)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.VitaminA_RE = new NutritionDataFormatValueMicrogram(outValue);
                    }
                    else
                    {
                        nutriItem.VitaminA_RE = new NutritionDataFormatValueMicrogram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Vitamin A-Aktivität, RAE (µg-RE)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.VitaminA_RAE = new NutritionDataFormatValueMicrogram(outValue);
                    }
                    else
                    {
                        nutriItem.VitaminA_RAE = new NutritionDataFormatValueMicrogram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("All-trans Retinol-Äquivalente (µg-RE)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.Retinol = new NutritionDataFormatValueMicrogram(outValue);
                    }
                    else
                    {
                        nutriItem.Retinol = new NutritionDataFormatValueMicrogram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Betacarotin-Aktivität (µg-BCE)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.BetacarotinActivity = new NutritionDataFormatValueMicrogram(outValue);
                    }
                    else
                    {
                        nutriItem.BetacarotinActivity = new NutritionDataFormatValueMicrogram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Betacarotin (µg)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.Betacarotin = new NutritionDataFormatValueMicrogram(outValue);
                    }
                    else
                    {
                        nutriItem.Betacarotin = new NutritionDataFormatValueMicrogram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Vitamin B1 (Thiamin) (mg)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.VitaminB1 = new NutritionDataFormatValueMilligram(outValue);
                    }
                    else
                    {
                        nutriItem.VitaminB1 = new NutritionDataFormatValueMilligram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Vitamin B2 (Riboflavin) (mg)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.VitaminB2 = new NutritionDataFormatValueMilligram(outValue);
                    }
                    else
                    {
                        nutriItem.VitaminB2 = new NutritionDataFormatValueMilligram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Vitamin B6 (Pyridoxin) (mg)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.VitaminB6 = new NutritionDataFormatValueMilligram(outValue);
                    }
                    else
                    {
                        nutriItem.VitaminB6 = new NutritionDataFormatValueMilligram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Vitamin B12 (Cobalamin) (µg)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.VitaminB12 = new NutritionDataFormatValueMicrogram(outValue);
                    }
                    else
                    {
                        nutriItem.VitaminB12 = new NutritionDataFormatValueMicrogram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Niacin (mg)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.Niacin = new NutritionDataFormatValueMilligram(outValue);
                    }
                    else
                    {
                        nutriItem.Niacin = new NutritionDataFormatValueMilligram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Folat (µg)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.Folat = new NutritionDataFormatValueMicrogram(outValue);
                    }
                    else
                    {
                        nutriItem.Folat = new NutritionDataFormatValueMicrogram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Pantothensäure (mg)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.PantothenicAcid = new NutritionDataFormatValueMilligram(outValue);
                    }
                    else
                    {
                        nutriItem.PantothenicAcid = new NutritionDataFormatValueMilligram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Vitamin C (Ascorbinsäure) (mg)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.VitaminC = new NutritionDataFormatValueMilligram(outValue);
                    }
                    else
                    {
                        nutriItem.VitaminC = new NutritionDataFormatValueMilligram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Vitamin D (Calciferol) (µg)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.VitaminD = new NutritionDataFormatValueMicrogram(outValue);
                    }
                    else
                    {
                        nutriItem.VitaminD = new NutritionDataFormatValueMicrogram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Vitamin E-Aktivität (mg-ATE)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.VitaminE = new NutritionDataFormatValueMilligram(outValue);
                    }
                    else
                    {
                        nutriItem.VitaminE = new NutritionDataFormatValueMilligram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Kalium (K) (mg)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.Potassium = new NutritionDataFormatValueMilligram(outValue);
                    }
                    else
                    {
                        nutriItem.Potassium = new NutritionDataFormatValueMilligram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Natrium (Na) (mg)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.Sodium = new NutritionDataFormatValueMilligram(outValue);
                    }
                    else
                    {
                        nutriItem.Sodium = new NutritionDataFormatValueMilligram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Chlorid (Cl) (mg)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.Chlorid = new NutritionDataFormatValueMilligram(outValue);
                    }
                    else
                    {
                        nutriItem.Chlorid = new NutritionDataFormatValueMilligram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Calcium (Ca) (mg)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.Calcium = new NutritionDataFormatValueMilligram(outValue);
                    }
                    else
                    {
                        nutriItem.Calcium = new NutritionDataFormatValueMilligram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Magnesium (Mg) (mg)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.Magnesium = new NutritionDataFormatValueMilligram(outValue);
                    }
                    else
                    {
                        nutriItem.Magnesium = new NutritionDataFormatValueMilligram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Phosphor (P) (mg)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.Phosphorus = new NutritionDataFormatValueMilligram(outValue);
                    }
                    else
                    {
                        nutriItem.Phosphorus = new NutritionDataFormatValueMilligram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Eisen (Fe) (mg)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.Iron = new NutritionDataFormatValueMilligram(outValue);
                    }
                    else
                    {
                        nutriItem.Iron = new NutritionDataFormatValueMilligram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Jod (I) (µg)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.Iodine = new NutritionDataFormatValueMicrogram(outValue);
                    }
                    else
                    {
                        nutriItem.Iodine = new NutritionDataFormatValueMicrogram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Zink (Zn)  (mg)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.Zinc = new NutritionDataFormatValueMilligram(outValue);
                    }
                    else
                    {
                        nutriItem.Zinc = new NutritionDataFormatValueMilligram(0.0);
                    }
                }
                else if (header.ItemArray[i].Equals("Selen (Se) (µg)"))
                {
                    if (Double.TryParse(row.ItemArray[i].ToString(), out double outValue))
                    {
                        nutriItem.Selenium = new NutritionDataFormatValueMicrogram(outValue);
                    }
                    else
                    {
                        nutriItem.Selenium = new NutritionDataFormatValueMicrogram(0.0);
                    }
                }
            }

            return(nutriItem);
        }
コード例 #12
0
 public NutritionItemDetailsPage(NutritionItem item)
 {
     InitializeComponent();
     (this.BindingContext as BaseViewModel).OnNavigatingTo(item);
 }
コード例 #13
0
        public ExcelFileReader()
        {
            System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);

            using (var stream = File.Open(_filePath, FileMode.Open, FileAccess.Read))
            {
                using (var reader = ExcelReaderFactory.CreateReader(stream))
                {
                    var result = reader.AsDataSet(new ExcelDataSetConfiguration()
                    {
                        ConfigureDataTable = (_) => new ExcelDataTableConfiguration()
                        {
                            UseHeaderRow = true
                        }
                    });

                    IList <NutritionItem> itemList = new List <NutritionItem>();

                    var headerRow = result.Tables[0].Rows[1];

                    for (int i = 2; i < result.Tables[0].Rows.Count; i++)
                    {
                        if ((i % 20) == 0)
                        {
                            Console.Write(".");
                        }

                        NutritionItem nutritionItem = ConvertToNutritionItem.ConvertRow(headerRow, result.Tables[0].Rows[i]);
                        itemList.Add(nutritionItem);
                    }

                    Console.WriteLine(' ');

                    string itemsJson = JsonConvert.SerializeObject(itemList);
                    //foreach (NutritionItem item in itemList)
                    //{
                    //    Console.WriteLine(item.ToString());
                    //}

                    string categoriesJson = JsonConvert.SerializeObject(ConvertToNutritionItem.ItemCategories);
                    foreach (NutritionItemCategorie item in ConvertToNutritionItem.ItemCategories)
                    {
                        Console.WriteLine($"ID: {item.ID}  {item.Name}  ITEMS: {item.ListOfNutritionItemIDs.Count}");

                        if (item.ListOfSubCategories.Count == 0)
                        {
                            foreach (var nutriID in item.ListOfNutritionItemIDs)
                            {
                                Console.WriteLine($" - ID: {nutriID}");
                            }
                        }

                        foreach (var sub_item in item.ListOfSubCategories)
                        {
                            Console.WriteLine($"    ID: {sub_item.ID}  {sub_item.Name}");
                            foreach (var nutriID in sub_item.ListOfNutritionItemIDs)
                            {
                                Console.WriteLine($"     - ID: {nutriID}");
                            }
                        }
                    }

                    var dbPath = @"D:\NutritionApp\src\Core\NutritionApp.Core\Database\db.txt";
                    // Create the file, or overwrite if the file exists.
                    using (FileStream fs = File.Create(dbPath))
                    {
                        //byte[] semi = new UTF8Encoding(true).GetBytes("{");
                        //fs.Write(semi, 0, semi.Length);

                        byte[] info = new UTF8Encoding(true).GetBytes(itemsJson);
                        // Add some information to the file.
                        fs.Write(info, 0, info.Length);

                        byte[] semi = new UTF8Encoding(true).GetBytes(";");
                        fs.Write(semi, 0, semi.Length);

                        byte[] categroies_info = new UTF8Encoding(true).GetBytes(categoriesJson);
                        // Add some information to the file.
                        fs.Write(categroies_info, 0, categroies_info.Length);

                        //semi = new UTF8Encoding(true).GetBytes("}");
                        //fs.Write(semi, 0, semi.Length);
                    }
                }
            }
        }