Beispiel #1
0
        public async void InitaliseNewDB(List <Models.MovieModel> movieInfos)
        {
            //Connection zur db aufbauen
            IMongoDatabase db = client.GetDatabase(Const.MongoDbConst.DbName);

            //alle Collections erstellen
            db.CreateCollection("Users");
            db.CreateCollection("Movies");
            db.CreateCollection("BucketLists");
            //Für alle Colections bearbeitbare Objekte erzeugen
            var userCollection       = db.GetCollection <BsonDocument>("Users");
            var movieCollection      = db.GetCollection <BsonDocument>("Movies");
            var bucketListCollection = db.GetCollection <BsonDocument>("BucketLists");


            //Liste, in die alle neu erzeugten User kommen
            List <BsonDocument> movieList = new List <BsonDocument>();

            //Liste füllen
            foreach (var movie in movieInfos)
            {
                movieList.Add(new BsonDocument(movie.ToBsonDocument()));
            }

            //neuer User
            var user = new User()
            {
                Name                  = "test",
                Password              = "******",
                MoviesWatchedIds      = new List <ObjectId>(),
                BucketListsInvolvedIn = new List <ObjectId>(),
                Id = new ObjectId()
            };

            //neue BucketList
            var bucketList = new BucketList()
            {
                Name             = "testList",
                ListId           = new ObjectId(),
                MoviesToWatchIds = new List <ObjectId>(),
                UsersInListId    = new List <ObjectId>()
                {
                    user.Id
                }
            };

            //Alle Collections schreiben
            await movieCollection.InsertManyAsync(movieList);

            await userCollection.InsertOneAsync(user.ToBsonDocument());

            await bucketListCollection.InsertOneAsync(bucketList.ToBsonDocument());
        }