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 { return(false); } }
public bool insertPoststed(Poststed innPoststed) { var nyPoststed = new Poststeder() { Postnr = innPoststed.postnr, Poststed = innPoststed.poststed, }; var db = new DBContext(); try { var postnrExists = db.Poststeder.Find(innPoststed.postnr); if (postnrExists == null) { var nyttPoststed = new Poststeder() { Postnr = innPoststed.postnr, Poststed = innPoststed.poststed }; } db.Poststeder.Add(nyPoststed); db.SaveChanges(); return(true); } catch (Exception feil) { return(false); } }
public bool settInn(Kunde innKunde) { var nyKunde = new Kunder() { Fornavn = innKunde.fornavn, Etternavn = innKunde.etternavn, Adresse = innKunde.adresse, Postnr = innKunde.postnr }; var db = new KundeContext(); try { var eksistererPostnr = db.Poststeder.Find(innKunde.postnr); if (eksistererPostnr == null) { var nyttPoststed = new Poststeder() { Postnr = innKunde.postnr, Poststed = innKunde.poststed }; nyKunde.Poststeder = nyttPoststed; } db.Kunder.Add(nyKunde); db.SaveChanges(); return(true); } catch (Exception feil) { return(false); } }
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 { return(false); } return(true); }
public async Task <bool> Endre(Kunde endreKunde) { try { /** * Så må vi finne ut om postnr er endret, altså om innkunden er forskjellig * fra kunden man har funnet. Hvis den er det så må man gjøre noe med * poststeds-tabellen **/ Kunder enKunde = await _db.Kunder.FindAsync(endreKunde.Id); if (enKunde.Poststed.Postnr != endreKunde.Postnr) { var sjekkPoststed = _db.Poststeder.Find(endreKunde.Postnr); if (sjekkPoststed == null) { var nyPoststedsRad = new Poststeder(); nyPoststedsRad.Postnr = endreKunde.Postnr; nyPoststedsRad.Poststed = endreKunde.Poststed; enKunde.Poststed = nyPoststedsRad; } else { enKunde.Poststed = sjekkPoststed; } } /** * Hvis poststedet ikke er flyttet så skal vi flytte de andre * attributtene over. * * Under oppdaterer vi enKunde i databasen til å få verdiene inn fra * endreKunde, altså modellen/det vi får inn fra klienten. * Det var det som skulle til for å kjøre denne løsningen på server. **/ enKunde.Fornavn = endreKunde.Fornavn; enKunde.Etternavn = endreKunde.Etternavn; enKunde.Adresse = endreKunde.Adresse; await _db.SaveChangesAsync(); } catch { return(false); } return(true); }
/** * Lagre metoden blir mer komplisert når på 3. normalform fordi vi må forholde * oss til den kunden som kommer inn her (som er den flate kunden), den kunden som * ikke ligger sammen med context klassen, men den som ligger for seg selv. * Vi må omforme de attributtene som kommer inn i innKunde til den strukturen i * tabellene i context klassen hvor de er hver for seg. **/ public async Task <bool> Lagre(Kunde innKunde) { try { var nyKundeRad = new Kunder(); //lager ny kunderad, må ta new på kunder, altså db-klassen nyKundeRad.Fornavn = innKunde.Fornavn; //må overføre attributtene som skal til inn i kunden fra innKunde nyKundeRad.Etternavn = innKunde.Etternavn; //tar ikke id når vi skal lagre, men begynner med fornavnet. nyKundeRad.Adresse = innKunde.Adresse; //det er disse tre som skal inn i kunden /** * Så må vi sjekke om postnr eksisterer i db fra før av. Hvis det ikke gjør det så opprettes det * et nytt poststedsobjekt og så legges det inn i kunden. Kunne ha lagt inn alle poststeder og nr fra * hele landet på forhånd og da ville ikke lagringen vært så komplisert, men dette * gjøres for å illustrere. * * Sjekker først om poststedet finnes (bruker FindAsync). Og nøkkelen til denne * er innKunde.Postnr. Den returnerer enten poststedet eller null. **/ var sjekkPoststed = await _db.Poststeder.FindAsync(innKunde.Postnr); if (sjekkPoststed == null) //hvis poststedet ikke fantes { var nyPoststedsRad = new Poststeder(); //da oppretter vi en ny poststedsrad nyPoststedsRad.Postnr = innKunde.Postnr; //så legger vi inn de to parameterne fra innKunde nyPoststedsRad.Poststed = innKunde.Poststed; nyKundeRad.Poststed = nyPoststedsRad; //legger inn poststedet (poststedsRad) inn i ny nyKundeRad. Da er poststedet lagt inn i kunden. } else { nyKundeRad.Poststed = sjekkPoststed; } _db.Kunder.Add(nyKundeRad); await _db.SaveChangesAsync(); return(true); } catch { return(false); } }
public bool deletePoststed(string slettId) { var db = new DBContext(); Kunder funnetPoststed = db.Kunder.FirstOrDefault(p => p.Postnr == slettId); if (funnetPoststed == null) { try { Poststeder slettPoststed = db.Poststeder.Find(slettId); db.Poststeder.Remove(slettPoststed); db.SaveChanges(); return(true); } catch (Exception feil) { return(false); } } return(false); }
public bool changeCustomer(int id, Kunde innKunde) { var db = new DBContext(); try { Kunder endreKunde = db.Kunder.Find(id); endreKunde.Fornavn = innKunde.fornavn; endreKunde.Etternavn = innKunde.etternavn; endreKunde.Telefonnr = innKunde.telefonnr; endreKunde.Adresse = innKunde.adresse; if (endreKunde.Postnr != innKunde.postnr) { //Postnummer er endret, må sjekke om det nye eksisterer Poststeder existPoststed = db.Poststeder.FirstOrDefault(p => p.Postnr == innKunde.postnr); if (existPoststed == null) { //poststedet eksisterer ikke var nyttPoststed = new Poststeder() { Postnr = innKunde.postnr, Poststed = innKunde.poststed }; db.Poststeder.Add(nyttPoststed); } else { //poststedet med det nye postnr existerer, endre bare postnr. endreKunde.Poststeder = existPoststed; } } ; db.SaveChanges(); return(true); } catch { return(false); } }
public bool insertCustomer(Kunde innKunde) { var nyKunde = new Kunder() { Fornavn = innKunde.fornavn, Etternavn = innKunde.etternavn, Adresse = innKunde.adresse, Postnr = innKunde.postnr, Telefonnr = innKunde.telefonnr, Epost = innKunde.epost, Password = hashPword(innKunde.passord) }; var db = new DBContext(); try { var postnrExists = db.Poststeder.Find(innKunde.postnr); if (postnrExists == null) { var nyttPoststed = new Poststeder() { Postnr = innKunde.postnr, Poststed = innKunde.poststed }; nyKunde.Poststeder = nyttPoststed; } else { nyKunde.Poststeder = postnrExists; } db.Kunder.Add(nyKunde); db.SaveChanges(); return(true); } catch (Exception feil) { return(false); } }
public bool endreKunde(int id, Kunde innKunde) { var db = new KundeContext(); try { Kunder endreKunde = db.Kunder.Find(id); endreKunde.Fornavn = innKunde.fornavn; endreKunde.Etternavn = innKunde.etternavn; endreKunde.Adresse = innKunde.adresse; if (endreKunde.Postnr != innKunde.postnr) { // Postnummeret er endret. Må først sjekke om det nye postnummeret eksisterer i tabellen. Poststeder eksisterendePoststed = db.Poststeder.FirstOrDefault(p => p.Postnr == innKunde.postnr); if (eksisterendePoststed == null) { // poststedet eksisterer ikke, må legges inn var nyttPoststed = new Poststeder() { Postnr = innKunde.postnr, Poststed = innKunde.poststed }; db.Poststeder.Add(nyttPoststed); } else { // poststedet med det nye postnr eksisterer, endre bare postnummeret til kunden endreKunde.Postnr = innKunde.postnr; } } ; db.SaveChanges(); return(true); } catch { return(false); } }