コード例 #1
0
        public void settInnBestillingEnvei_Feil()
        {
            //Arrange
            var controller        = new HomeController(new BestillingLogikk(new BestillingRepositoryStub()));
            var forventetResultat = new List <Bestilling>();
            var bestilling        = new Bestilling()
            {
                id             = 0,
                dato           = "2019-10-24",
                antallReisende = 1,
                totalPris      = 60
            };

            forventetResultat.Add(bestilling);

            var    jsonSerializer = new JavaScriptSerializer();
            string json           = jsonSerializer.Serialize(forventetResultat);

            //Act
            var jsonResult = (string)controller.leggBestillingEnvei(bestilling.id, bestilling.dato, bestilling.antallReisende, bestilling.totalPris);

            //Assert
            Assert.IsNotNull(jsonResult);
            Assert.AreEqual("false", jsonResult);
        }
コード例 #2
0
        public void getBestillinger()
        {
            //Arrange
            var controller        = new HomeController(new BestillingLogikk(new BestillingRepositoryStub()));
            var forventetResultat = new List <Bestilling>();
            var bestilling        = new Bestilling()
            {
                id             = 1,
                enVei          = 1,
                turRetur       = 2,
                dato           = "2019-10-24",
                datoRetur      = "2019-10-25",
                antallReisende = 1,
                totalPris      = 60
            };

            forventetResultat.Add(bestilling);

            var    jsonSerializer = new JavaScriptSerializer();
            string json           = jsonSerializer.Serialize(forventetResultat);

            //Act
            var jsonResult = (string)controller.getBestillinger();

            //Assert
            Assert.IsNotNull(jsonResult);
            Assert.AreEqual(json, jsonResult);
        }
コード例 #3
0
        public List <Bestilling> hentAlleOrdre(int id)
        {
            if (id == 0)
            {
                var ordreListe = new List <Bestilling>();
                var ordre      = new Bestilling();
                ordre.BestillingsID = 0;
                ordreListe.Add(ordre);
                return(ordreListe);
            }
            else
            {
                var ordreListe = new List <Bestilling>();
                var ordre      = new Bestilling()
                {
                    BestillingsID   = 100,
                    KundeId         = "sofia",
                    BestillingsDato = new DateTime(2015, 11, 04, 08, 00, 00),
                    Total           = 10,
                };

                ordreListe.Add(ordre);
                ordreListe.Add(ordre);
                ordreListe.Add(ordre);
                return(ordreListe);
            }
        }
コード例 #4
0
        public bool settInnBestilling(Bestilling innBestilling)
        {
            var nyBestilling = new Bestilling()
            {
                Id    = innBestilling.Id,
                Kunde = innBestilling.Kunde,
                Rute  = innBestilling.Rute
            };

            var db = new RetroDb();

            try
            {
                var eksistererBestilling = db.Bestillinger.Find(innBestilling.Id);
                if (eksistererBestilling == null)
                {
                    db.Bestillinger.Add(nyBestilling);
                }
                db.SaveChanges();
                return(true);
            }
            catch (Exception ex)
            {
                LogError(ex);
                Console.Write("FlyId finnes allerede");
                return(false);
            }
        }
コード例 #5
0
        public void SettInn(Pizza bestiltPizza)
        {
            // returnerer ikke noe, ingen feilhåndtering mot databasen her

            var bestilling = new Bestilling()
            {
                Antall    = bestiltPizza.Antall,
                PizzaType = bestiltPizza.PizzaType,
                Tykkelse  = bestiltPizza.Tykkelse
            };

            Kunde funnetKunde = _db.Kunder.FirstOrDefault(k => k.Navn == bestiltPizza.Navn);

            if (funnetKunde == null)
            {
                // opprett kunden
                var kunde = new Kunde
                {
                    Navn      = bestiltPizza.Navn,
                    Adresse   = bestiltPizza.Adresse,
                    Telefonnr = bestiltPizza.Telefonnr,
                };
                // legg bestillingen inn i kunden
                kunde.Bestillinger = new List <Bestilling>();
                kunde.Bestillinger.Add(bestilling);
                _db.Kunder.Add(kunde);
                _db.SaveChanges();
            }
            else
            {
                funnetKunde.Bestillinger.Add(bestilling);
                _db.SaveChanges();
            }
        }
コード例 #6
0
        public void VisOrdreDetaljer()
        {
            var SessionMock = new TestControllerBuilder();

            var controller = new AdminController(new AdminBLL(new AdminRepositoryStub()));

            SessionMock.InitializeController(controller);
            controller.Session["AdminLoggetInn"] = true;

            var forventetResultat = new Bestilling()
            {
                BestillingsID   = 100,
                KundeId         = "sofia",
                BestillingsDato = new DateTime(2015, 11, 04, 08, 00, 00),
                Total           = 0,
            };
            // Act
            var actionResult = (ViewResult)controller.VisOrdreDetaljer(1);
            var resultat     = (Bestilling)actionResult.Model;

            // Assert
            Assert.AreEqual(actionResult.ViewName, "");
            Assert.AreEqual(forventetResultat.BestillingsID, resultat.BestillingsID);
            Assert.AreEqual(forventetResultat.KundeId, resultat.KundeId);
            Assert.AreEqual(forventetResultat.BestillingsDato, resultat.BestillingsDato);
            Assert.AreEqual(forventetResultat.Total, resultat.Total);
        }
コード例 #7
0
        public Bestilling Hent(string referanse)
        {
            Bestilling bestilling = null;

            if (referanse == null)
            {
                return(bestilling);
            }

            referanse = referanse.ToUpper().Trim();
            var  regex   = new Regex("^[A-Z0-9]{6}$");
            bool isMatch = regex.IsMatch(referanse);

            try
            {
                if (isMatch)
                {
                    using (var db = new DB())
                    {
                        var dbbestilling = db.Bestillinger.Include("Passasjerer.Postnummer").Where(best => best.Referanse == referanse).FirstOrDefault();
                        bestilling = Mapper.Map <Bestilling>(dbbestilling);
                    }
                }
            }
            catch (Exception e)
            {
                DALsetup.LogFeilTilFil("DBBestilling:HentAlle", e, "En feil oppsto når metoden prøvde å finne bestilling med referanse " + referanse);
            }

            return(bestilling);
        }
コード例 #8
0
        public ActionResult Lagre(BestillingView bestillingModel)
        {
            // Sjekk hvis kunden eksisterer

            var dbKunde = db.Kunder.SingleOrDefault(k => k.Navn == bestillingModel.Bestilling.Kunde.Navn);

            if (dbKunde == null)
            {
                //Opprett kunde objekt
                Kunde kunde = bestillingModel.Bestilling.Kunde;

                db.Kunder.Add(kunde);
                db.SaveChanges();
                db.Bestillinger.Add(bestillingModel.Bestilling);
                db.SaveChanges();
                return(RedirectToAction("Liste"));
            }
            else
            {
                int kundeId    = dbKunde.Id;
                var bestilling = new Bestilling
                {
                    PizzaType = bestillingModel.Bestilling.PizzaType,
                    Tykkelse  = bestillingModel.Bestilling.Tykkelse,
                    Antall    = bestillingModel.Bestilling.Antall,
                    KundeId   = kundeId
                };


                db.Bestillinger.Add(bestilling);
                db.SaveChanges();
                return(RedirectToAction("Liste"));
            }
        }
コード例 #9
0
        public int CreateOrder(Bestilling order)
        {
            decimal orderTotal = 0;
            var     cartItems  = GetCartItems();

            // Iterate over the items in the cart,
            // adding the order details for each
            foreach (var item in cartItems)
            {
                var orderDetail = new Bestiltprodukt
                {
                    produktid    = item.produktid,
                    bestillingid = order.bestillingsid,
                    pris         = item.produkt.pris,
                    antall       = item.antall
                };
                // Set the order total of the shopping cart
                orderTotal += (item.antall * item.produkt.pris);
                storeDB.bestilteprodukter.Add(orderDetail);
            }
            // Set the order's total to the orderTotal count
            order.total = orderTotal;
            // Save the order
            storeDB.SaveChanges();
            // Empty the shopping cart
            EmptyCart();
            // Return the OrderId as the confirmation number
            return(order.bestillingsid);
        }
コード例 #10
0
        public async Task <Bestilling> HentEn(int id)
        {
            try
            {
                Bestillinger enBestilling = await _db.Bestillinger.FindAsync(id);

                if (enBestilling == null)
                {
                    return(null);
                }

                var hentetBestilling = new Bestilling()
                {
                    Id   = enBestilling.Id,
                    pris = enBestilling.Pris,
                    Fra  = enBestilling.Fra,
                    Til  = enBestilling.Til,
                    Dato = enBestilling.Dato,
                    Tid  = enBestilling.Tid
                };
                return(hentetBestilling);
            }
            catch
            {
                return(null);
            }
        }
コード例 #11
0
        public ActionResult Betaling(FormCollection values)
        {
            var    bestilling = new Bestilling();
            string epost      = (string)Session["Kunde"];

            TryUpdateModel(bestilling);

            try
            {
                if (string.Equals(values["Betala"], BetalingString, StringComparison.OrdinalIgnoreCase) == false)
                {
                    return(View(bestilling));
                }
                else
                {
                    var handlekurv = Handlekurv.GetKurv(this.HttpContext);
                    bestilling.KundeId = epost;

                    bestilling.BestillingsDato = DateTime.Now;
                    bestilling.Total           = handlekurv.GetTotal();

                    db.Bestillinger.Add(bestilling);
                    db.SaveChanges();


                    handlekurv.SkapaBestilling(bestilling);
                    return(RedirectToAction("Kvittering", new { id = bestilling.BestillingsID }));
                }
            }
            catch
            {
                return(View(bestilling));
            }
        }
コード例 #12
0
        public ActionResult VisOrdreDetaljer(int id)
        {
            if (Session["LoggetInn"] != null)
            {
                bool loggetInn = (bool)Session["LoggetInn"];

                if (Session["KundeID"] != null)
                {
                    int     kundeID = (int)Session["KundeID"];
                    dbKunde kunde   = kundeDatabase.Kunder.Find(kundeID);

                    if (loggetInn)
                    {
                        if (kundeID == kunde.Id)
                        {
                            Bestilling bestilling = db.Bestillinger.Find(id);
                            var        bokerModel = db.Bestillinger.Include("BestillingsDetaljer").Single(g => g.BestillingsID == id);

                            return(View(bokerModel));
                        }
                    }
                }
            }
            return(RedirectToAction("Index"));
        }
コード例 #13
0
        public bool endreBestilling(int Id, Bestilling innBestilling)
        {
            var db = new RetroDb();

            try
            {
                Bestilling endreBestilling = db.Bestillinger.Find(Id);
                endreBestilling.Rute.RuteId           = innBestilling.Rute.RuteId;
                endreBestilling.Rute.ReiseFra.By      = innBestilling.Rute.ReiseFra.By;
                endreBestilling.Rute.ReiseTil.By      = innBestilling.Rute.ReiseTil.By;
                endreBestilling.Rute.Dato             = innBestilling.Rute.Dato;
                endreBestilling.Rute.Tid              = innBestilling.Rute.Tid;
                endreBestilling.Rute.ReiseTid         = innBestilling.Rute.ReiseTid;
                endreBestilling.Rute.Pris             = innBestilling.Rute.Pris;
                endreBestilling.Kunde.Fornavn         = innBestilling.Kunde.Fornavn;
                endreBestilling.Kunde.Etternavn       = innBestilling.Kunde.Etternavn;
                endreBestilling.Kunde.Adresse         = innBestilling.Kunde.Adresse;
                endreBestilling.Kunde.Poststed.Postnr = innBestilling.Kunde.Poststed.Postnr;
                endreBestilling.Kunde.Poststed.Sted   = innBestilling.Kunde.Poststed.Sted;
                endreBestilling.Kunde.Epost           = innBestilling.Kunde.Epost;
                endreBestilling.Kunde.Telefon         = innBestilling.Kunde.Telefon;
                db.SaveChanges();
                return(true);
            }
            catch (Exception ex)
            {
                LogError(ex);
                return(false);
            }
        }
コード例 #14
0
        public ActionResult slettBestilling(int id)
        {
            var        bestillingDb = new BestillingBLL();
            Bestilling enBestilling = bestillingDb.hentEnBestilling(id);

            return(View(enBestilling));
        }
コード例 #15
0
        public async Task LagreLoggetInnFeilModel()
        {
            var bestilling1 = new Bestilling
            {
                Id   = 2,
                pris = 100.00,
                Fra  = "",
                Til  = "Drammen",
                Dato = "2020-12-02",
                Tid  = "08:00"
            };

            mockRepo.Setup(k => k.Lagre(bestilling1)).ReturnsAsync(true);

            var bestillingController = new BestillingController(mockRepo.Object, mockLog.Object);

            bestillingController.ModelState.AddModelError("Fra", "Bestillingen er ikke riktig");

            mockSession[_loggetInn] = _loggetInn;
            mockHttpContext.Setup(s => s.Session).Returns(mockSession);
            bestillingController.ControllerContext.HttpContext = mockHttpContext.Object;

            var resultat = await bestillingController.Lagre(bestilling1) as BadRequestObjectResult;

            Assert.Equal((int)HttpStatusCode.BadRequest, resultat.StatusCode);
            Assert.Equal("Bestillingen er ikke riktig", resultat.Value);
        }
コード例 #16
0
        public async Task EndreBestillingLoggetInnOk()
        {
            var bestilling = new Bestilling
            {
                Id   = 3,
                pris = 50.00,
                Fra  = "Horten",
                Til  = "Drammen",
                Dato = "2020-09-12",
                Tid  = "10:00"
            };

            mockRepo.Setup(k => k.Endre(bestilling)).ReturnsAsync(true);

            var bestillingController = new BestillingController(mockRepo.Object, mockLog.Object);

            mockSession[_loggetInn] = _loggetInn;
            mockHttpContext.Setup(s => s.Session).Returns(mockSession);
            bestillingController.ControllerContext.HttpContext = mockHttpContext.Object;

            var resultat = await bestillingController.Endre(bestilling) as OkObjectResult;

            Assert.Equal((int)HttpStatusCode.OK, resultat.StatusCode);
            Assert.Equal("Bestillingen ble endret", resultat.Value);
        }
コード例 #17
0
        public async Task HentEnBestillingLoggetInnOK()
        {
            var bestilling1 = new Bestilling
            {
                Id   = 4,
                pris = 200.00,
                Fra  = "Nordstrand",
                Til  = "Bergen",
                Dato = "2020-11-01",
                Tid  = "15:00"
            };

            mockRepo.Setup(k => k.HentEn(1)).ReturnsAsync(bestilling1);

            var bestillingController = new BestillingController(mockRepo.Object, mockLog.Object);

            mockSession[_loggetInn] = _loggetInn;
            mockHttpContext.Setup(s => s.Session).Returns(mockSession);
            bestillingController.ControllerContext.HttpContext = mockHttpContext.Object;

            var resultat = await bestillingController.HentEn(1) as OkObjectResult;

            Assert.Equal((int)HttpStatusCode.OK, resultat.StatusCode);
            Assert.Equal <Bestilling>(bestilling1, (Bestilling)resultat.Value);
        }
コード例 #18
0
 public bool settInnBestilling(Bestilling innBestilling)
 {
     if (innBestilling.Id == 0)
     {
         return(false);
     }
     return(true);
 }
コード例 #19
0
        public ActionResult DetailsOrder(int id)
        {
            var               BestillingsDb     = new BestillingsBLL();
            Bestilling        enBestilling      = BestillingsDb.getSingleBestilling(id);
            List <Ordrelinje> bestillingsLinjer = BestillingsDb.getOrdrelinjer(id);

            return(View(enBestilling));
        }
コード例 #20
0
ファイル: DB.cs プロジェクト: vickyhuangyuanxin/web
        public bool settInnBestillng(Produkt bestiltProdukt)
        {
            int kundeID; // brukes til enten eksisterende KId eller den nye KId

            var db = new OnlineStoreEntities();
              // se om kunden eksitere
              Kunde funnetKunde = db.Kunder.FirstOrDefault(k => k.Navn == bestiltProdukt.navn);

            using (var dbTransaksjon = db.Database.BeginTransaction())
            {
                if (funnetKunde == null)
                {
                    // opprett kunder obj
                    var kunde = new Kunde();
                    kunde.Navn = bestiltProdukt.navn;
                    kunde.Adresse = bestiltProdukt.adresse;
                    kunde.Telefonnr = bestiltProdukt.telefonnr;
                    try
                    {
                        db.Kunder.Add(kunde);
                        db.SaveChanges();
                        kundeID = kunde.KId; // nå har kunde.KId fått riktig verdi (den nye ID)
                    }
                    catch (Exception feil)
                    {
                        dbTransaksjon.Rollback();
                        return false;
                    }
                }
                else
                {
                    kundeID = funnetKunde.KId;
                }

                // registrer bestillingen på kunden, enten ny eller gammel
                var bestilling = new Bestilling()
                {   // en annen måte å initsiere attributter i en klasse når den
                  //instansieres (må ikke ha konstruktør for å gjøre dette)
                    KId = kundeID,
                    Antall = bestiltProdukt.antall,
                    ProduktNavn = bestiltProdukt.ProduktType,
                    Pris = bestiltProdukt.Pris
                };

                try
                {
                    db.Bestillinger.Add(bestilling);
                    db.SaveChanges();
                    dbTransaksjon.Commit();
                    return true;
                }
                catch (Exception feil)
                {
                    dbTransaksjon.Rollback();
                    return false;
                }
            }
        }
コード例 #21
0
        public ActionResult SlettBestilling(int Id)
        {
            if (!CheckSession())
            {
                return(RedirectToAction("IngenTilgang", "Admin"));
            }
            Bestilling enBestilling = _bestillingBLL.hentEnBestilling(Id);

            return(View(enBestilling));
        }
コード例 #22
0
        public async Task <ActionResult> LagreBestilling(Bestilling bestilling)
        {
            bool returOK = await _transportDB.LagreBestilling(bestilling);

            if (!returOK)
            {
                _log.LogInformation("Bestilling ble ikke lagret");
                return(BadRequest("Bestilling ble ikke lagret"));
            }
            return(Ok("Bestilling lagret"));
        }
コード例 #23
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);
                    }
                }
            }
        }
コード例 #24
0
        public ActionResult slettBestilling(int id, Bestilling slettBestilling)
        {
            var  bestillingDb = new BestillingBLL();
            bool slettOk      = bestillingDb.slettBestilling(id);

            if (slettOk)
            {
                return(RedirectToAction("BestillingListe"));
            }
            return(View());
        }
コード例 #25
0
 public bool endreBestilling(int id, Bestilling innBestilling)
 {
     if (id == 0)
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
コード例 #26
0
        public bool settVare(int id, Vare vare)
        {
            Bestilling bestilling = hentEnBestilling(id);

            bestilling.Vare = vare;
            if (bestilling.Vare == null)
            {
                return(false);
            }
            return(true);
        }
コード例 #27
0
        public ActionResult Register()
        {
            var           bestilling = new Bestilling();
            List <String> pizzaTypes = new List <string>
            {
                "Margherita (kr 100)", "Primavera (kr 150)", "IndiaVolata (kr 200)"
            };
            BestillingView bestillingViewModel = new BestillingView(bestilling, pizzaTypes);

            return(View(bestillingViewModel));
        }
コード例 #28
0
        public void LeggInn(Bestilling bestilling)
        {
            using (var db = new DB())
            {
                try
                {
                    var dbbestilling = Mapper.Map <DBBestilling>(bestilling);
                    var a            = db.Entry(dbbestilling);

                    List <DBKunde> kunder  = new List <DBKunde>();
                    DBKunde        dbKunde = new DBKunde();
                    foreach (var kunde in bestilling.Passasjerer)
                    {
                        dbKunde.LeggInn(kunde);
                        var dkunde = db.Kunder.Include("Postnummer").Where(k => k.Etternavn == kunde.Etternavn && k.Fornavn == kunde.Fornavn && k.Tlf == kunde.Tlf).FirstOrDefault();
                        kunder.Add(dkunde);
                        if (!db.Poststeder.Local.Any(e => e.Postnr == dkunde.Postnummer.Postnr))
                        {
                            db.Entry(dkunde.Postnummer).State = EntityState.Unchanged;
                        }
                    }
                    dbbestilling.Passasjerer = kunder;

                    List <DBFlygning> flygninger = new List <DBFlygning>();
                    foreach (var flygning in dbbestilling.FlygningerTur)
                    {
                        flygninger.Add(db.Flygninger.Find(flygning.ID));
                    }
                    dbbestilling.FlygningerTur = flygninger;

                    flygninger = new List <DBFlygning>();
                    foreach (var flygning in dbbestilling.FlygningerRetur)
                    {
                        flygninger.Add(db.Flygninger.Find(flygning.ID));
                    }
                    dbbestilling.FlygningerRetur = flygninger;

                    db.Bestillinger.Add(dbbestilling);
                    var endring = new DBEndring()
                    {
                        Tidspunkt = DateTime.Now,
                        Endring   = "La til bestilling: " + dbbestilling.Referanse
                    };
                    db.Endringer.Add(endring);
                    db.SaveChanges();
                }
                catch (Exception e)
                {
                    DALsetup.LogFeilTilFil("DBBestilling:LeggInn", e, "En feil oppsto når metoden prøvde å legge inn bestillingen i databasen.");
                }
            }
        }
コード例 #29
0
 public ActionResult endreBestilling(int id, Bestilling endreBestilling)
 {
     if (ModelState.IsValid)
     {
         var  bestilling = new BestillingBLL();
         bool endringOk  = bestilling.endreBestilling(id, endreBestilling);
         if (endringOk)
         {
             return(RedirectToAction("BestillingListe"));
         }
     }
     return(View());
 }
コード例 #30
0
ファイル: HomeController.cs プロジェクト: varleg/Vy
        public ActionResult Bestilling(Bestilling InnBestilling)
        {
            List <Model.RuteView> ruteView = new List <Model.RuteView>();
            var ruter = HomeMethods.RuteTabell(InnBestilling);

            foreach (Model.Rute rute in ruter)
            {
                ruteView.Add(HomeMethods.GetRuteView(rute, InnBestilling));
            }
            var returView = konverter.ruteView(ruteView);

            return(View(returView));
        }
コード例 #31
0
        public void Registrer_feil_db()
        {
            var controller          = new BestillingController(new BestillingBLL(new BestillingDALStub()));
            var forventetBestilling = new Bestilling();

            /*forventetBestilling.Vare.Varenavn = "";
             *
             * // Act
             * var actionResult = (ViewResult)controller.RegistrerBestilling(forventetBestilling);
             *
             * // Assert
             * Assert.AreEqual(actionResult.ViewName, "");*/
        }