public static bool registrerKunde(RegistrerKundeModell innKunde) { using (var db = new NettbutikkContext()) { try { //Test för att göra Email unikt. Vet inte om detta är det bästa sättet. var finnesKunde = db.Kunder.FirstOrDefault(k => k.Epost == innKunde.epost); if (finnesKunde == null) { var nyKunde = new Kunder(); nyKunde.Fornavn = innKunde.fornavn; nyKunde.Etternavn = innKunde.etternavn; nyKunde.Adresse = innKunde.adresse; nyKunde.Postnr = innKunde.postnr; var eksisterandePostnr = db.Poststeder.Find(innKunde.postnr); if (eksisterandePostnr == null) { var nyttPoststed = new Poststeder() { Postnr = innKunde.postnr, Poststed = innKunde.poststed }; nyKunde.Poststeder = nyttPoststed; } nyKunde.Epost = innKunde.epost; byte[] passordDb = lagHash(innKunde.passord); var passord = new Passorden() { Passord = passordDb, Kunde = nyKunde, }; nyKunde.Passorden = passord; db.Kunder.Add(nyKunde); db.SaveChanges(); return true; } else { return false; } } catch (Exception feil) { ErrorHandler.logError(feil); return false; } } }
public static bool redigerKunde(RedigerKundeModell innKunde) { bool sparadKunde = false; using (var db = new NettbutikkContext()) { try { var upKunde = db.Kunder.Where(k => k.Id == innKunde.id).SingleOrDefault(); var finnesKunde = db.Kunder.FirstOrDefault(k => k.Epost == innKunde.epost); if (finnesKunde.Id == innKunde.id) { finnesKunde = null; } if (finnesKunde == null && upKunde != null) { upKunde.Fornavn = innKunde.fornavn; upKunde.Etternavn = innKunde.etternavn; upKunde.Adresse = innKunde.adresse; upKunde.Postnr = innKunde.postnr; var eksisterandePostnr = db.Poststeder.Find(innKunde.postnr); if (eksisterandePostnr == null) { var nyttPoststed = new Poststeder() { Postnr = innKunde.postnr, Poststed = innKunde.poststed }; upKunde.Poststeder = nyttPoststed; } upKunde.Epost = innKunde.epost; db.SaveChanges(); sparadKunde = true; } } catch (Exception feil) { ErrorHandler.logError(feil); sparadKunde = false; } return sparadKunde; } }