public void LoadAllData() { Stopwatch sw = new Stopwatch(); sw.Start(); var AllFoodGroups = new FoodGroups(DBdirectory); AllNutrientDefs = new NutrientDefinitions(DBdirectory); AllFoods = new Foods(DBdirectory); var AllNutrientValues = new NutrientsPerFood(DBdirectory); AllNutrientDefs.LoadFile(); AllFoods.LoadFile(); AllNutrientValues.LoadFile(); AllFoodGroups.LoadFile(); AllFoods.AssociateNutrientRows(AllNutrientValues, AllFoodGroups); // this is no faster, but it is an example of running tasks in parallel //List<Task> TaskList = new List<Task>(); //TaskList.Add(Task.Run(() => AllNutrientDefs.LoadFile())); //TaskList.Add(Task.Run(() => AllFoods.LoadFile())); //TaskList.Add(Task.Run(() => AllNutrientValues.LoadFile())); //Task.WaitAll(TaskList.ToArray()); sw.Stop(); Double seconds = (Double)sw.ElapsedMilliseconds / 1000.0; }
internal void AssociateNutrientRows( NutrientsPerFood AllNutrientValues, FoodGroups allFoodGroups ) { foreach(var food in this.allFoods) { food.Value.AssociateNutrientValues(AllNutrientValues.allValues[food.Key]); food.Value.AssignFoodGroup(allFoodGroups.allFoodGroups); } }