コード例 #1
0
        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
        }
コード例 #2
0
        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();
                }
            }
        }