public bool endreKunde(int id, Kunde innKunde) { KundeContext kundeDatabase = new KundeContext(); try { var kundeSomSkalEndres = kundeDatabase.Kunder.FirstOrDefault(p => p.Id == innKunde.id); if (kundeSomSkalEndres == null) { return(false); } kundeSomSkalEndres.Fornavn = innKunde.fornavn; kundeSomSkalEndres.Etternavn = innKunde.etternavn; kundeSomSkalEndres.Adresse = innKunde.adresse; string innPostnr = innKunde.postnr; var funnetPostSted = kundeDatabase.Poststeder.FirstOrDefault(p => p.Postnr == innPostnr); if (funnetPostSted == null) // fant ikke poststed, må legge inn et nytt { var nyttPoststed = new PostSted(); nyttPoststed.Postnr = innKunde.postnr; nyttPoststed.Poststed = innKunde.poststed; kundeDatabase.Poststeder.Add(nyttPoststed); // det nye poststedet legges i den nye brukeren kundeSomSkalEndres.Poststed = nyttPoststed; } else { // fant poststedet, legger det inn i den nye brukeren kundeSomSkalEndres.Poststed = funnetPostSted; } kundeDatabase.SaveChanges(); return(true); } catch (Exception feil) { skrivTilFil(feil); return(false); } }
public bool endreKunde(int id, Kunde innKunde) { KundeContext kundeDatabase = new KundeContext(); try { var kundeSomSkalEndres = kundeDatabase.Kunder.FirstOrDefault(p => p.Id == innKunde.id); if (kundeSomSkalEndres == null) return false; kundeSomSkalEndres.Fornavn = innKunde.fornavn; kundeSomSkalEndres.Etternavn = innKunde.etternavn; kundeSomSkalEndres.Adresse = innKunde.adresse; string innPostnr = innKunde.postnr; var funnetPostSted = kundeDatabase.Poststeder.FirstOrDefault(p => p.Postnr == innPostnr); if (funnetPostSted == null) // fant ikke poststed, må legge inn et nytt { var nyttPoststed = new PostSted(); nyttPoststed.Postnr = innKunde.postnr; nyttPoststed.Poststed = innKunde.poststed; kundeDatabase.Poststeder.Add(nyttPoststed); // det nye poststedet legges i den nye brukeren kundeSomSkalEndres.Poststed = nyttPoststed; } else { // fant poststedet, legger det inn i den nye brukeren kundeSomSkalEndres.Poststed = funnetPostSted; } kundeDatabase.SaveChanges(); return true; } catch (Exception feil) { skrivTilFil(feil); return false; } }