예제 #1
0
        public async Task <bool> Endre(Kunde endreKunde)
        {
            try
            {
                var endreObjekt = await _db.Kunder.FindAsync(endreKunde.Id);

                if (endreObjekt.Poststed.Postnr != endreKunde.Postnr)
                {
                    var sjekkPostnr = _db.Poststeder.Find(endreKunde.Postnr);
                    if (sjekkPostnr == null)
                    {
                        var poststedsRad = new Poststeder();
                        poststedsRad.Postnr   = endreKunde.Postnr;
                        poststedsRad.Poststed = endreKunde.Poststed;
                        endreObjekt.Poststed  = poststedsRad;
                    }
                    else
                    {
                        endreObjekt.Poststed.Postnr = endreKunde.Postnr;
                    }
                }
                endreObjekt.Fornavn   = endreKunde.Fornavn;
                endreObjekt.Etternavn = endreKunde.Etternavn;
                endreObjekt.Adresse   = endreKunde.Adresse;
                await _db.SaveChangesAsync();
            }
            catch (Exception e)
            {
                _log.LogInformation(e.Message);
                return(false);
            }
            return(true);
        }
예제 #2
0
        public async Task <bool> Lagre(Kunde innKunde)
        {
            try
            {
                var nyKundeRad = new Kunder();
                nyKundeRad.Fornavn   = innKunde.Fornavn;
                nyKundeRad.Etternavn = innKunde.Etternavn;
                nyKundeRad.Adresse   = innKunde.Adresse;

                var sjekkPostnr = await _db.Poststeder.FindAsync(innKunde.Postnr);

                if (sjekkPostnr == null)
                {
                    var poststedsRad = new Poststeder();
                    poststedsRad.Postnr   = innKunde.Postnr;
                    poststedsRad.Poststed = innKunde.Poststed;
                    nyKundeRad.Poststed   = poststedsRad;
                }
                else
                {
                    nyKundeRad.Poststed = sjekkPostnr;
                }
                _db.Kunder.Add(nyKundeRad);
                await _db.SaveChangesAsync();

                return(true);
            }
            catch (Exception e)
            {
                _log.LogInformation(e.Message);
                return(false);
            }
        }
예제 #3
0
        public static void Seed(IApplicationBuilder app)
        {
            var serviceScope = app.ApplicationServices.CreateScope();

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

            // må slette og opprette databasen hver gang når den skal initieres (seed`es)
            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   = "Osloveien 82",
                Poststed  = poststed1
            };

            var kunde2 = new Kunder
            {
                Fornavn   = "Line",
                Etternavn = "Jensen",
                Adresse   = "Askerveien 72",
                Poststed  = poststed2
            };

            var kunde3 = new Kunder
            {
                Fornavn   = "Finn",
                Etternavn = "Finnsen",
                Adresse   = "Drammensveien 1",
                Poststed  = poststed1
            };

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

            db.SaveChanges();
        }