예제 #1
0
        public ActionResult LoggInn(FormCollection innListe)
        {
            var brukernavn = innListe["usrname"];
            var passord    = Logikk.hashPword(innListe["pword"]);

            try
            {
                using (var db = new KundeContext())
                {
                    var funnetBruker = db.Kunder
                                       .FirstOrDefault(k => k.Epost == brukernavn);
                    if (funnetBruker == null) //fant ikke poststed, må legge inn et nytt
                    {
                        return(View());
                    }
                    else
                    {
                        if (funnetBruker.Passord.SequenceEqual(passord))
                        {
                            Session["LoggetInn"] = true;
                            Session["Bruker"]    = funnetBruker;
                            return(RedirectToAction("Index", "Home"));
                            // return "Kundenr: " + ((Kunde)Session["Bruker"]).KundeNR + " | Brukernavn: " + ((Kunde)Session["Bruker"]).Epost + " er logget inn!";
                        }
                        //return "funnetBruker.Passord: " + funnetBruker.Passord + " | innskrevet hash: " + passord;
                    }
                }
                return(View());
            }
            catch (Exception feil) {
                return(View(feil));
            }
        }
        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);
            }
        }
예제 #3
0
파일: DB.cs 프로젝트: kilicosman/nyVYapp
        public bool settInnBestilling(Billet bestiltBillet)
        {
            using (var db = new KundeContext())
            {
                var bestilling = new Bestilling()
                {
                    Antall   = bestiltBillet.antall,
                    ReiseFra = bestiltBillet.reiseFra,
                    ReiseTil = bestiltBillet.reiseTil,
                    Dato     = bestiltBillet.dato,
                    Tid      = bestiltBillet.tid,
                    Reisende = bestiltBillet.reisende
                };

                Kunde funnetKunde = db.Kunder.FirstOrDefault(k => k.Navn == bestiltBillet.navn);

                if (funnetKunde == null)
                {
                    // opprett kunden
                    var kunde = new Kunde
                    {
                        Navn      = bestiltBillet.navn,
                        Epost     = bestiltBillet.epost,
                        Telefonnr = bestiltBillet.telefonnr,
                    };
                    // legg bestillingen inn i kunden
                    kunde.Bestillinger = new List <Bestilling>();
                    kunde.Bestillinger.Add(bestilling);
                    try
                    {
                        db.Kunder.Add(kunde);
                        db.SaveChanges();
                        return(true);
                    }
                    catch (Exception)
                    {
                        return(false);
                    }
                }
                else
                {
                    try
                    {
                        funnetKunde.Bestillinger.Add(bestilling);
                        db.SaveChanges();
                        return(true);
                    }
                    catch (Exception)
                    {
                        return(false);
                    }
                }
            }
        }
        public bool slettKunde(int slettId)
        {
            var db = new KundeContext();

            try
            {
                Kunder slettKunde = db.Kunder.Find(slettId);
                db.Kunder.Remove(slettKunde);
                db.SaveChanges();
                return(true);
            }
            catch (Exception feil)
            {
                return(false);
            }
        }
        public List <Kunde> hentAlle()
        {
            var          db         = new KundeContext();
            List <Kunde> alleKunder = db.Kunder.Select(k => new Kunde()
            {
                id        = k.ID,
                fornavn   = k.Fornavn,
                etternavn = k.Etternavn,
                adresse   = k.Adresse,
                postnr    = k.Postnr,
                poststed  = k.Poststeder.Poststed
            }
                                                       ).ToList();

            return(alleKunder);
        }
예제 #6
0
 private static dbKunde Bruker_i_DB(Kunde innBruker)
 {
     using (var db = new KundeContext())
     {
         byte[]  passordDb    = lagHash(innBruker.Passord);
         dbKunde funnetBruker = db.Kunder.FirstOrDefault(b => b.Passord == passordDb && b.Epost == innBruker.Epost);
         if (funnetBruker == null)
         {
             return(null);
         }
         else
         {
             return(funnetBruker);
         }
     }
 }
예제 #7
0
        public ActionResult Registrer(Kunde innBruker)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }
            using (var db = new KundeContext())
            {
                try
                {
                    var nyBruker = new dbKunde();

                    byte[] passordDb = lagHash(innBruker.Passord);
                    nyBruker.Passord   = passordDb;
                    nyBruker.Epost     = innBruker.Epost;
                    nyBruker.Fornavn   = innBruker.Fornavn;
                    nyBruker.Etternavn = innBruker.Etternavn;
                    nyBruker.Adresse   = innBruker.Adresse;

                    string innPostnr = innBruker.Poststed.Postnr;

                    var funnetPostSted = db.Poststeder.FirstOrDefault(p => p.Postnr == innPostnr);
                    if (funnetPostSted == null) // fant ikke poststed, må legge inn et nytt
                    {
                        var nyttPoststed = new Models.PostSted();
                        nyttPoststed.Postnr   = innBruker.Poststed.Postnr;
                        nyttPoststed.Poststed = innBruker.Poststed.Poststed;
                        db.Poststeder.Add(nyttPoststed);
                        // det nye poststedet legges i den nye brukeren
                        nyBruker.Poststed = nyttPoststed;
                    }
                    else
                    { // fant poststedet, legger det inn i den nye brukeren
                        nyBruker.Poststed = funnetPostSted;
                    }
                    db.Kunder.Add(nyBruker);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
                catch (Exception feil)
                {
                    return(View());
                }
            }
        }
        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);
            }
        }
        public Kunde hentEnKunde(int id)
        {
            var db = new KundeContext();

            var enDbKunde = db.Kunder.Find(id);

            if (enDbKunde == null)
            {
                return(null);
            }
            else
            {
                var utKunde = new Kunde()
                {
                    id        = enDbKunde.ID,
                    fornavn   = enDbKunde.Fornavn,
                    etternavn = enDbKunde.Etternavn,
                    adresse   = enDbKunde.Adresse,
                    postnr    = enDbKunde.Postnr,
                    poststed  = enDbKunde.Poststeder.Poststed
                };
                return(utKunde);
            }
        }
예제 #10
0
파일: DB.cs 프로젝트: kilicosman/nyVYapp
        public List <Billet> listAlleBestillinger()
        {
            var db = new KundeContext();


            List <Billet> alleBestillinger = db.Kunder.Join(db.Bestillinger,
                                                            k => k.KId,
                                                            b => b.KId,
                                                            (k, b) => new Billet
            {
                Bid       = b.BId,
                navn      = k.Navn,
                epost     = k.Epost,
                telefonnr = k.Telefonnr,
                reiseFra  = b.ReiseFra,
                reiseTil  = b.ReiseTil,
                dato      = b.Dato,
                tid       = b.Tid,
                reisende  = b.Reisende,
                antall    = b.Antall
            }).ToList();

            return(alleBestillinger);
        }
예제 #11
0
파일: DB.cs 프로젝트: kilicosman/nyVYapp
        /* For å gjøre endringer på billetter. ikke klar ennå.
         * public Bestilling hentBestilling(int Bid)
         * {
         *  using (var db = new KundeContext())
         *  {
         *      Bestilling enBestilling = db.Bestillinger.Find(Bid);
         *      var hentetBestilling = new Bestilling()
         *      {
         *          Bid = enBestilling.BId,
         *          reiseFra = enBestilling.ReiseFra,
         *          reiseTil = enBestilling.ReiseTil,
         *          dato = enBestilling.Dato,
         *          tid = enBestilling.Tid,
         *      };
         *      return hentetBestilling;
         *  }
         * }
         *
         * public bool endreBestilling(int Bid)
         * {
         *  using (var db = new KundeContext())
         *  {
         *      Bestilling enBestilling = db.Bestillinger.Find(Bid);
         *      if (enBestilling == null) // fant ikke billetten
         *      {
         *          return false;
         *      }
         *      try
         *      {
         *
         *          var endreObjekt = db.Bestillinger.Find(enBestilling.BId);
         *
         *          endreObjekt.ReiseFra = ennBestilling.reiseFra;
         *          endreObjekt.ReiseTil = enBestilling.reiseTil;
         *          endreObjekt.Dato = enBestilling.dato;
         *          endreObjekt.Tid = enBestilling.tid;
         *          db.SaveChanges();
         *      }
         *      catch (Exception feil)
         *      {
         *          return false;
         *      }
         *      return true;
         *  }
         * }*/

        public bool slettBestilling(int Bid)
        {
            // vil ikke slette kunden selv om det ikke er noen flere billetter på denne
            using (var db = new KundeContext())
            {
                // finn bestillingen
                Bestilling enBestilling = db.Bestillinger.Find(Bid);
                if (enBestilling == null) // fant ikke billetten
                {
                    return(false);
                }
                // slett billetten
                try
                {
                    db.Bestillinger.Remove(enBestilling);
                    db.SaveChanges();
                    return(true);
                }
                catch
                {
                    return(false);
                }
            }
        }
 public KundeController(KundeContext db)
 {
     _db = db;
 }
예제 #13
0
 public KundeDB(KundeContext db)
 {
     _db = db;
 }
예제 #14
0
 public KundeController()
 {
     Context = new KundeContext();
 }