private DateTime Date; //en datetime som sätts varje tick public bool InitilizeDatabase(out bool dbHasData) //metod för att initialisera databasen, om det inte redan finns den grund data som behövs { dbHasData = true; //bool för att kolla om databasen har grund data if (!HDCon.Cages.Any()) //kollar om det finns några burar, gör det inte det skapas 10st burar { for (int i = 0; i < 10; i++) { var tempCage = new Cage(i); HDCon.Cages.Add(tempCage); HDCon.SaveChanges(); } } if (!HDCon.ExerciseArea.Any()) //kollar om det finns ett träningsområde, för det inte det så skapas ett träningsområde { var tempExerciseArea = new ExerciseArea(); HDCon.ExerciseArea.Add(tempExerciseArea); HDCon.SaveChanges(); } if (!HDCon.Hamsters.Any()) //kollar om det finns hamstrar, gör det inte det skapas hamstrar { List <string> hamsterData = File.ReadAllLines(@"..\..\..\..\Hamsterlista30.csv").ToList(); //läser in från fil till en string lista for (int i = 0; i < hamsterData.Count; i++) //loopar igenom listan { string[] data = hamsterData[i].Split(";"); //splittar varje rad till en array bool isFemale = true; //sätter en bool för att kolla kön till true som default if (data[2] == "M") //om datan som läses in är en kille sätts boolen till false { isFemale = false; } var tempHamster = new Hamster(data[0], data[3], Math.Round(decimal.Parse(data[1]) / 12, 1), isFemale); //skapar en ny hamster HDCon.Hamsters.Add(tempHamster); //lägger till hamstern i databasen HDCon.SaveChanges(); //sparar } } if (!HDCon.Cages.Any() ^ !HDCon.ExerciseArea.Any() ^ !HDCon.Hamsters.Any()) //kollar om cages, träningsområde och hamsters har någon data { dbHasData = false; //har dom inte det sätts boolsen till false, annars är den true } HDCon.SaveChanges(); //sparar ändringar return(dbHasData); //retunerar boolen }
private static void ImportHamsters() // Imports data from a CSV-file into the datebase. { var dbContext = new DaycareContext(); if (dbContext.Hamsters.Count() == 0) { var file = new DirectoryInfo(Directory.GetCurrentDirectory()) .Parent.Parent.Parent.Parent.GetDirectories() .ToList().First(d => d.Name == "SeedFromFile").GetFiles() .First(f => f.Name == "Hamsterlista30.csv").FullName; var csvLines = File.ReadAllLines(file); foreach (var csvLine in csvLines) { var hamster = new Hamster(); string[] values = csvLine.Split(";"); hamster.Name = (values[0]); hamster.Age = Convert.ToInt32(values[1]); if (values[2] == "M") { hamster.Gender = Gender.Male; } else if (values[2] == "K") { hamster.Gender = Gender.Female; } hamster.Owner = (values[3]); dbContext.Hamsters.Add(new Hamster() { Name = hamster.Name, Age = hamster.Age, Gender = hamster.Gender, Owner = hamster.Owner }); dbContext.SaveChanges(); } } }