Example #1
0
        public static LandmarkingContext GetLandmarkingContext(string dbName, bool seedData = true)
        {
            // Create options for DbContext instance
            var options = new DbContextOptionsBuilder <LandmarkingContext>()
                          .UseInMemoryDatabase(databaseName: dbName)
                          .Options;

            // Create instance of DbContext
            var dbContext = new LandmarkingContext(options);

            // Add users in memory
            if (seedData)
            {
                dbContext.Seed();
            }

            return(dbContext);
        }
        // Seeds data into Mock LandmarkingContext db
        public static void Seed(this LandmarkingContext dbContext)
        {
            // retreive JSON user data
            var userData = System.IO.File.ReadAllText("Data/userData.json");
            var users    = JsonConvert.DeserializeObject <List <User> >(userData);

            // Add Users for DbContext instance
            foreach (var user in users)
            {
                byte[] passwordHash, passwordSalt;
                CreatePasswordHash("password", out passwordHash, out passwordSalt);

                user.PasswordSalt = passwordSalt;
                user.PasswordHash = passwordHash;
                user.Username     = user.Username.ToLower();

                dbContext.Add(user);
            }

            dbContext.SaveChanges();
        }
 //Constructor to set db context
 public LandmarkingRepository(LandmarkingContext context)
 {
     _context = context;
 }