コード例 #1
0
        public static void Initialize(IApplicationBuilder app)
        {
            var serviceScope = app.ApplicationServices.CreateScope();

            var db = serviceScope.ServiceProvider.GetService <KundeContext>();

            db.Database.EnsureDeleted();
            db.Database.EnsureCreated();

            var poststed1 = new Poststeder {
                Postnr = "0270", Poststed = "Oslo"
            };
            var poststed2 = new Poststeder {
                Postnr = "1370", Poststed = "Asker"
            };

            var kunde1 = new Kunder {
                Fornavn = "Ole", Etternavn = "Hansen", Adresse = "Olsloveien 82", Poststed = poststed1
            };
            var kunde2 = new Kunder {
                Fornavn = "Line", Etternavn = "Jensen", Adresse = "Askerveien 72", Poststed = poststed2
            };

            db.Kunder.Add(kunde1);
            db.Kunder.Add(kunde2);

            db.SaveChanges();
        }
コード例 #2
0
ファイル: DBInit.cs プロジェクト: Sigurd97/KundeApp2-med-DB
        public static void Initialize(IApplicationBuilder app)
        {
            using (var serviceScope = app.ApplicationServices.CreateScope())
            {
                var context = serviceScope.ServiceProvider.GetService <KundeContext>();

                // må slette og opprette databasen hver gang når den skalinitieres (seed`es)
                context.Database.EnsureDeleted();
                context.Database.EnsureCreated();

                var poststed1 = new Poststeder {
                    Postnr = "0270", Poststed = "Oslo"
                };
                var poststed2 = new Poststeder {
                    Postnr = "1370", Poststed = "Asker"
                };

                var kunde1 = new Kunder {
                    Fornavn = "Ole", Etternavn = "Hansen", Adresse = "Olsloveien 82", Poststed = poststed1
                };
                var kunde2 = new Kunder {
                    Fornavn = "Line", Etternavn = "Jensen", Adresse = "Askerveien 72", Poststed = poststed2
                };

                context.Kunder.Add(kunde1);
                context.Kunder.Add(kunde2);

                context.SaveChanges();
            }
        }
コード例 #3
0
        public static void Initialize(IApplicationBuilder app)
        {
            var serviceScope = app.ApplicationServices.CreateScope();

            var db = serviceScope.ServiceProvider.GetService <KundeContext>();

            db.Database.EnsureDeleted();
            db.Database.EnsureCreated();

            var poststed1 = new Poststeder {
                Postnr = "0270", Poststed = "Oslo"
            };
            var poststed2 = new Poststeder {
                Postnr = "1370", Poststed = "Asker"
            };

            var kunde1 = new Kunder {
                Fornavn = "Ole", Etternavn = "Hansen", Adresse = "Olsloveien 82", Poststed = poststed1
            };
            var kunde2 = new Kunder {
                Fornavn = "Line", Etternavn = "Jensen", Adresse = "Askerveien 72", Poststed = poststed2
            };

            db.Kunder.Add(kunde1);
            db.Kunder.Add(kunde2);

            // lag en påoggingsbruker
            var bruker = new Brukere();

            bruker.Brukernavn = "Admin";
            string passord = "Test11";

            byte[] salt = KundeRepository.LagSalt();
            byte[] hash = KundeRepository.LagHash(passord, salt);
            bruker.Passord = hash;
            bruker.Salt    = salt;
            db.Brukere.Add(bruker);

            db.SaveChanges();
        }
コード例 #4
0
        public static void Initialize(IApplicationBuilder app)
        {
            var serviceScope = app.ApplicationServices.CreateScope();

            var db = serviceScope.ServiceProvider.GetService <KundeContext>();

            db.Database.EnsureDeleted();
            db.Database.EnsureCreated();

            var poststed1 = new Poststeder {
                Postnr = "0270", Poststed = "Oslo"
            };
            var poststed2 = new Poststeder {
                Postnr = "1370", Poststed = "Asker"
            };

            var kunde1 = new Kunder {
                Fornavn = "Ole", Etternavn = "Hansen", Adresse = "Olsloveien 82", Poststed = poststed1
            };
            var kunde2 = new Kunder {
                Fornavn = "Line", Etternavn = "Jensen", Adresse = "Askerveien 72", Poststed = poststed2
            };

            db.Kunder.Add(kunde1);
            db.Kunder.Add(kunde2);

            // lag en påoggingsbruker
            var bruker = new Brukere();                           //Brukere tabellen

            bruker.Brukernavn = "Admin";                          //legger inn brukernavn i bruker.
            var passord = "Test11";                               //det kunne ha stått string her, men var går også.

            byte[] salt = KundeRepository.LagSalt();              //lager et tilfeldig salt på 24 bites i et array.
            byte[] hash = KundeRepository.LagHash(passord, salt); //lager hash med det passordet som er oppgitt og saltet.
            bruker.Passord = hash;                                //lagrer hash i bruker sitt passsord.
            bruker.Salt    = salt;                                //lagrer saltet i bruker sitt salt.
            db.Brukere.Add(bruker);                               //adder brukeren til brukere, altså selve tabellen.

            db.SaveChanges();                                     //så over til KundeController.
        }
コード例 #5
0
        /**
         * Denne metoden kan hete hva som helst. Den tar inn IApplicationBuilder og app
         * som variabel.
         **/
        public static void Initialize(IApplicationBuilder app)
        {
            //Her må det importeres noen using namespaces.
            using (var serviceScope = app.ApplicationServices.CreateScope())
            {
                /**
                 * Vi lager en context, altså en knytning til databasen.
                 * GetService..<KundeContext> osv. vil si den KundeXontext-en/klassen vår
                 * hvor kundeContext-en ligger, den som er implementert (DbContext), den skal
                 * da ta inn KundeContext som sin type (parameter?).
                 *
                 * Using som er brukt over, betyr at det scopet eller denne contexten skal
                 * bare vare inne i scopet. Det er en måte å åpne og lukke databasen på i
                 * denne initialize metoden.
                 *
                 * Variabelen context (under) kan hete DB eller hva som helst, men den benyttes
                 * for å lagre ting.
                 **/
                var context = serviceScope.ServiceProvider.GetService <KundeContext>();

                /**
                 * Må slette og opprette databasen hver gang når den skal initieres (seed`es).
                 * Hvis vi ikke gjør det så vil vi bare legge til nye hver gang vi
                 * starter applikasjonen, så vil vi få flere og flere rader.
                 * **/
                context.Database.EnsureDeleted();
                context.Database.EnsureCreated();

                /**
                 * Ettersom vi har kunder og poststeder, så skal vi ha poststeder
                 * inn i kundene. Så da lager vi to nye poststeder.
                 * Kan gjøre det på nye linjer og da ha () bak new Poststeder og ha resten
                 * under, men det er smak og behag. Men når det gjelder seeding av
                 * nye data så er det vanlig å ha det ved siden av for å gjøre det mer kompakt.
                 *
                 **/
                var poststed1 = new Poststeder {
                    Postnr = "0270", Poststed = "Oslo"
                };
                var poststed2 = new Poststeder {
                    Postnr = "1370", Poststed = "Asker"
                };

                var kunde1 = new Kunder {
                    Fornavn = "Ole", Etternavn = "Hansen", Adresse = "Olsloveien 82", Poststed = poststed1
                };
                var kunde2 = new Kunder {
                    Fornavn = "Line", Etternavn = "Jensen", Adresse = "Askerveien 72", Poststed = poststed2
                };

                context.Kunder.Add(kunde1);
                context.Kunder.Add(kunde2);

                /**
                 * Må egentlig ha asynkrone kall til databasen, men her er det bare
                 * en savechanges som skal gjøres og det skal bare gjøres ved
                 * oppstart av server en gang, og derfor er det ikke nødvendig å bruke
                 * Tasks, async og await her.
                 **/
                context.SaveChanges();

                /**
                 * En annen ting som må også gjøres her er å få startet denne metoden, og
                 * det gjøres i startup.cs
                 **/
            }
        }