Exemple #1
0
        public void SlettAvgang_SlettOK_OK()
        {
            // Arrange
            var controller  = new AdminController(new VyBLL(new AdminDBMetoderStubs()));
            var SessionMock = new TestControllerBuilder();

            SessionMock.InitializeController(controller);
            controller.Session["Innlogget"] = true;
            var avgang = new stasjonPaaBane()
            {
                stasjonPaaBaneID = 1,
                BaneID           = 1,
                Bane             = "L1",
                StasjonsID       = 1,
                Stasjon          = "Oslo S",
                Avgang           = "12:00"
            };

            // Act
            var actionResult = (RedirectToRouteResult)controller.SlettAvgang(1, avgang);

            // Assert
            Assert.AreEqual(actionResult.RouteName, "");
            Assert.AreEqual(actionResult.RouteValues.Values.First(), avgang.StasjonsID);
        }
Exemple #2
0
        public List <stasjonPaaBane> hentStasjonPaaBane(int stasjonID)
        {
            using (var db = new DB())
            {
                List <stasjonPaaBane> stasjonPaaBaner = new List <stasjonPaaBane>();

                foreach (StasjonPaaBane s in db.StasjonPaaBane)
                {
                    if (s.Stasjon.StasjonsID == stasjonID)
                    {
                        stasjonPaaBane stasjonPaaBane = new stasjonPaaBane()
                        {
                            stasjonPaaBaneID = s.StasjonPaaBaneID,
                            StasjonsID       = s.Stasjon.StasjonsID,
                            Stasjon          = s.Stasjon.Stasjonsnavn,
                            BaneID           = s.Bane.BaneID,
                            Bane             = s.Bane.Banenavn,
                            Avgang           = s.Avgang
                        };
                        stasjonPaaBaner.Add(stasjonPaaBane);
                    }
                }
                return(stasjonPaaBaner);
            }
        }
Exemple #3
0
        public void EndreAvgang_AvgangOK_Feil()
        {
            //Arrange
            var controller  = new AdminController(new VyBLL(new AdminDBMetoderStubs()));
            var SessionMock = new TestControllerBuilder();

            SessionMock.InitializeController(controller);
            controller.Session["Innlogget"] = true;
            var avgang = new stasjonPaaBane()
            {
                stasjonPaaBaneID = 2,
                StasjonsID       = 2,
                Stasjon          = "Oslo",
                Bane             = "Bane",
                BaneID           = 2,
                Avgang           = "10:01"
            };


            // Act
            var actionResult = (ViewResult)controller.EndreAvgang(avgang.stasjonPaaBaneID, avgang);

            // Assert
            Assert.AreEqual(actionResult.ViewName, "");
        }
Exemple #4
0
        public void EndreAvgang_ID_0()
        {
            //Arrange
            var controller  = new AdminController(new VyBLL(new AdminDBMetoderStubs()));
            var SessionMock = new TestControllerBuilder();

            SessionMock.InitializeController(controller);
            controller.Session["Innlogget"] = true;
            var forventetResultat = new stasjonPaaBane()
            {
                stasjonPaaBaneID = 0
            };

            //Act
            var actionResult = (ViewResult)controller.EndreAvgang(forventetResultat.stasjonPaaBaneID);
            var resultat     = (stasjonPaaBane)actionResult.Model;

            //Assert
            Assert.AreEqual(actionResult.ViewName, "");
            Assert.AreEqual(forventetResultat.stasjonPaaBaneID, resultat.stasjonPaaBaneID);
            Assert.AreEqual(forventetResultat.BaneID, resultat.BaneID);
            Assert.AreEqual(forventetResultat.Bane, resultat.Bane);
            Assert.AreEqual(forventetResultat.StasjonsID, resultat.StasjonsID);
            Assert.AreEqual(forventetResultat.Stasjon, resultat.Stasjon);
            Assert.AreEqual(forventetResultat.Avgang, resultat.Avgang);
        }
        public ActionResult SlettAvgang(int id, stasjonPaaBane avgang)
        {
            var    avg        = _vyBLL.hentEnAvgang(id);
            String Avgangstid = avg.Avgang;

            var    gammelAvgSta = _vyBLL.hentEnAvgang(id);
            String GammelAvg    = gammelAvgSta.Stasjon;


            var baneidTilAvgang = _vyBLL.hentEnAvgang(id);
            // For å få tak i StasjonsId i RedirectToAction
            var  stasjonid = baneidTilAvgang.StasjonsID;
            bool slettOK   = _vyBLL.slettStasjonPaaBane(id, baneidTilAvgang.BaneID);

            if (slettOK)
            {
                log.Info("Avgang " + Avgangstid + " fra stasjon " + GammelAvg + " ble slettet!");
                List <stasjonPaaBane> avgangerPaaStasjon = _vyBLL.hentStasjonPaaBane(stasjonid);
                if (avgangerPaaStasjon.Count == 0)
                {
                    return(RedirectToAction(actionName: "AvgangerPaStasjonTom", routeValues: new { id = stasjonid }));
                }
                return(RedirectToAction("AvgangerPaStasjon", "Admin", new { id = stasjonid }));
            }
            else
            {
                log.Error("Avgang " + Avgangstid + " fra stasjon " + GammelAvg + " ble ikke slettet. Transaksjon avbrutt!");
                ViewBag.save = "Kunne ikke slette avgang";
            }
            return(View());
        }
        public ActionResult LeggTilAvgang(stasjonPaaBane stasjonPaaBane)
        {
            //Sørger for at man blir stående i samme view om man legger inn en avgang som finnes fra før
            var stasjon = _vyBLL.hentEnStasjon(stasjonPaaBane.StasjonsID);

            stasjonPaaBane.Stasjon = stasjon.Stasjonsnavn;

            //sjekker om tidspunkt er valgt og på riktig format
            var  metodeSjekk = new ValideringsMetoder();
            bool tidspunktOk = metodeSjekk.sjekkTidspunkt(stasjonPaaBane.Avgang);

            if (stasjonPaaBane.BaneID == 0)
            {
                ModelState.AddModelError("BaneID", "Velg bane");
            }

            else if (string.IsNullOrEmpty(stasjonPaaBane.Avgang))
            {
                ModelState.AddModelError("Avgang", "Tidspunkt må oppgis");
            }

            else if (!tidspunktOk)
            {
                ModelState.AddModelError("Avgang", "Tidspunkt må være på korrekt format");
            }

            else if (ModelState.IsValid)
            {
                //sjekker om avgangen finnes fra før
                bool avgangOK = _vyBLL.sjekkAvgangOK(stasjonPaaBane);
                if (avgangOK)
                {
                    stasjon s            = _vyBLL.hentEnStasjon(stasjonPaaBane.StasjonsID);
                    String  Stasjonsnavn = s.Stasjonsnavn;

                    bool leggtilOK = _vyBLL.leggTilStasjonPaaBane(stasjonPaaBane.Avgang, stasjonPaaBane.StasjonsID, stasjonPaaBane.BaneID);
                    if (leggtilOK)
                    {
                        log.Info("Avgang " + stasjonPaaBane.Avgang + " er lagt til stasjon " + Stasjonsnavn + "!");
                        return(RedirectToAction("AvgangerPaStasjon", "Admin", new { id = stasjonPaaBane.StasjonsID }));
                    }

                    else
                    {
                        log.Error("Avgang " + stasjonPaaBane.Avgang + " på stasjon " + Stasjonsnavn + " ble forsøkt lagret, feil oppsto. Transaksjon avbrutt!");
                        ViewBag.save = "Kunne ikke legge til avgang";
                    }
                }
                else
                {
                    log.Debug("Kommer inn i ModelstateValid 'Legg til Avgang', men ikke videre!");
                    ModelState.AddModelError("Avgang", "Avgangen finnes fra før");
                }
            }
            log.Debug("Kommer ikke inn i ModelstateValid 'Legg til Avgang'");
            return(View(stasjonPaaBane));
        }
        public ActionResult LeggTilAvgang(int id)
        {
            var stasjon        = _vyBLL.hentEnStasjon(id);
            var stasjonPaaBane = new stasjonPaaBane()
            {
                StasjonsID = stasjon.StasjonID,
                Stasjon    = stasjon.Stasjonsnavn
            };

            return(View(stasjonPaaBane));
        }
Exemple #8
0
        public bool endreStasjonPaaBane(stasjonPaaBane stasjonPaaBane, int id)
        {
            if (id == 10)
            {
                return(false);
            }

            else
            {
                return(true);
            }
        }
Exemple #9
0
        public bool sjekkAvgangOK(stasjonPaaBane stasjonPaaBane)
        {
            if (stasjonPaaBane.Avgang == "10:01")
            {
                return(false);
            }

            else
            {
                return(true);
            }
        }
        public ActionResult EndreAvgang(int id, stasjonPaaBane endreStasjonPaaBane)
        {
            if (string.IsNullOrEmpty(endreStasjonPaaBane.Avgang))
            {
                ModelState.AddModelError("Avgang", "Tidspunkt må oppgis");
            }

            //sjekker om tidspunkt er valgt og på riktig format
            var  metodeSjekk = new ValideringsMetoder();
            bool tidspunktOk = metodeSjekk.sjekkTidspunkt(endreStasjonPaaBane.Avgang);

            if (!tidspunktOk)
            {
                ModelState.AddModelError("Avgang", "Tidspunkt må være på korrekt format");
            }

            if (ModelState.IsValid)
            {
                var    s            = _vyBLL.hentEnAvgang(id);
                string Stasjonsnavn = s.Stasjon;

                var    gammelAvgang = _vyBLL.hentEnAvgang(id);
                string avg          = gammelAvgang.Avgang;

                var bane = _vyBLL.hentEnBane(endreStasjonPaaBane.BaneID);
                endreStasjonPaaBane.Bane = bane.Banenavn;
                //sjekker at avgangen ikke finnes fra før
                bool nyAvgangOK = _vyBLL.sjekkAvgangOK(endreStasjonPaaBane);
                if (nyAvgangOK)
                {
                    bool endringOK = _vyBLL.endreStasjonPaaBane(endreStasjonPaaBane, id);
                    if (endringOK)
                    {
                        log.Info("Endring på avgang " + avg + " fra stasjon " + Stasjonsnavn + " registrert. Ny avgangstid er " + endreStasjonPaaBane.Avgang + "!");
                        return(RedirectToAction("AvgangerPaStasjon", "Admin", new { id = endreStasjonPaaBane.StasjonsID }));
                    }

                    else
                    {
                        log.Error("Endring på avgang " + avg + " fra stasjon " + Stasjonsnavn + " feilet. Tid prøvd lagret var " + endreStasjonPaaBane.Avgang + ". Transaksjon avbrutt!");
                        ViewBag.save = "Kunne ikke oppdatere avgang";
                    }
                }
                else
                {
                    ModelState.AddModelError("Avgang", "Avgangen finnes fra før");
                }
            }
            return(View(endreStasjonPaaBane));
        }
Exemple #11
0
        public void EndreAvgang_EndreAvgang_Feil()
        {
            //Arrange
            var controller  = new AdminController(new VyBLL(new AdminDBMetoderStubs()));
            var SessionMock = new TestControllerBuilder();

            SessionMock.InitializeController(controller);
            controller.Session["Innlogget"] = true;
            var stasjonPaaBane = new stasjonPaaBane()
            {
                stasjonPaaBaneID = 10
            };

            // Act
            var actionResult = (ViewResult)controller.EndreAvgang(10, stasjonPaaBane);

            // Assert
            Assert.AreEqual(actionResult.ViewName, "");
        }
Exemple #12
0
        public void EndreAvgang_Model_Feil()
        {
            //Arrange
            var controller  = new AdminController(new VyBLL(new AdminDBMetoderStubs()));
            var SessionMock = new TestControllerBuilder();

            SessionMock.InitializeController(controller);
            controller.Session["Innlogget"] = true;
            var stasjonPaaBane = new stasjonPaaBane();

            controller.ViewData.ModelState.AddModelError("Tidspunkt", "Tidspunkt må oppgis");

            // Act
            var actionResult = (ViewResult)controller.EndreAvgang(stasjonPaaBane.stasjonPaaBaneID, stasjonPaaBane);

            // Assert
            Assert.IsTrue(actionResult.ViewData.ModelState.Count > 1);
            Assert.AreEqual(actionResult.ViewName, "");
        }
Exemple #13
0
        public void AvgangerPaStasjon()
        {
            //Arrange
            var controller  = new AdminController(new VyBLL(new AdminDBMetoderStubs()));
            var SessionMock = new TestControllerBuilder();

            SessionMock.InitializeController(controller);
            controller.Session["Innlogget"] = true;
            var forventetResultat = new List <stasjonPaaBane>();
            var stasjonPaaBane    = new stasjonPaaBane()
            {
                stasjonPaaBaneID = 1,
                StasjonsID       = 1,
                Stasjon          = "Oslo S",
                BaneID           = 1,
                Bane             = "L1",
                Avgang           = "12:00"
            };

            forventetResultat.Add(stasjonPaaBane);
            forventetResultat.Add(stasjonPaaBane);
            forventetResultat.Add(stasjonPaaBane);
            forventetResultat.Add(stasjonPaaBane);

            //Act
            var actionResult = (ViewResult)controller.AvgangerPaStasjon(stasjonPaaBane.stasjonPaaBaneID);
            var resultat     = (List <stasjonPaaBane>)actionResult.Model;

            //Assert
            Assert.AreEqual(actionResult.ViewName, "");

            for (var i = 0; i < resultat.Count; i++)
            {
                Assert.AreEqual(forventetResultat[i].stasjonPaaBaneID, resultat[i].stasjonPaaBaneID);
                Assert.AreEqual(forventetResultat[i].StasjonsID, resultat[i].StasjonsID);
                Assert.AreEqual(forventetResultat[i].Stasjon, resultat[i].Stasjon);
                Assert.AreEqual(forventetResultat[i].BaneID, resultat[i].BaneID);
                Assert.AreEqual(forventetResultat[i].Bane, resultat[i].Bane);
                Assert.AreEqual(forventetResultat[i].Avgang, resultat[i].Avgang);
            }
        }
Exemple #14
0
        public void LeggTilAvgang_StringIsEmpty()
        {
            // Arrange
            var controller  = new AdminController(new VyBLL(new AdminDBMetoderStubs()));
            var SessionMock = new TestControllerBuilder();

            SessionMock.InitializeController(controller);
            controller.Session["Innlogget"] = true;
            var avgang = new stasjonPaaBane()
            {
                stasjonPaaBaneID = 1,
                BaneID           = 2,
            };

            // Act
            var actionResult = (ViewResult)controller.LeggTilAvgang(avgang);

            // Assert
            Assert.AreEqual(actionResult.ViewName, "");
            Assert.IsTrue(actionResult.ViewData.ModelState.Count == 1);
        }
Exemple #15
0
        public List <stasjonPaaBane> hentStasjonPaaBane(int id)
        {
            var stasjonPaaBaneListe = new List <stasjonPaaBane>();

            if (id == 0)
            {
                var stasjonPaaBane = new stasjonPaaBane();
                stasjonPaaBane.stasjonPaaBaneID = id;
                stasjonPaaBaneListe.Add(stasjonPaaBane);
                stasjonPaaBaneListe.Add(stasjonPaaBane);
                stasjonPaaBaneListe.Add(stasjonPaaBane);
                stasjonPaaBaneListe.Add(stasjonPaaBane);
                return(stasjonPaaBaneListe);
            }

            else if (id == 2)
            {
                return(stasjonPaaBaneListe);
            }

            else
            {
                var stasjonPaaBane = new stasjonPaaBane()
                {
                    stasjonPaaBaneID = 1,
                    StasjonsID       = 1,
                    Stasjon          = "Oslo S",
                    BaneID           = 1,
                    Bane             = "L1",
                    Avgang           = "12:00"
                };
                stasjonPaaBaneListe.Add(stasjonPaaBane);
                stasjonPaaBaneListe.Add(stasjonPaaBane);
                stasjonPaaBaneListe.Add(stasjonPaaBane);
                stasjonPaaBaneListe.Add(stasjonPaaBane);

                return(stasjonPaaBaneListe);
            }
        }
Exemple #16
0
        public stasjonPaaBane hentEnAvgang(int id)
        {
            if (id == 0)
            {
                var avgang = new stasjonPaaBane();
                avgang.stasjonPaaBaneID = id;
                return(avgang);
            }

            else
            {
                var avgang = new stasjonPaaBane()
                {
                    stasjonPaaBaneID = 1,
                    BaneID           = 1,
                    Bane             = "L1",
                    StasjonsID       = 1,
                    Stasjon          = "Oslo S",
                    Avgang           = "12:00"
                };
                return(avgang);
            }
        }
Exemple #17
0
        public bool endreStasjonPaaBane(stasjonPaaBane innStasjonPaaBane, int stasjonPaaBaneID)
        {
            using (var db = new DB())
            {
                try
                {
                    StasjonPaaBane EndreStasjonPaaBane = db.StasjonPaaBane.Find(stasjonPaaBaneID);
                    Stasjon        innStasjon          = db.Stasjon.Find(innStasjonPaaBane.StasjonsID);
                    Bane           innBane             = db.Bane.Find(innStasjonPaaBane.BaneID);

                    EndreStasjonPaaBane.Stasjon = innStasjon;
                    EndreStasjonPaaBane.Bane    = innBane;
                    EndreStasjonPaaBane.Avgang  = innStasjonPaaBane.Avgang;
                    db.SaveChanges();
                    return(true);
                }

                catch (Exception)
                {
                    return(false);
                }
            }
        }
Exemple #18
0
        //returnerer false om avgangen finnes fra før av
        public bool sjekkAvgangOK(stasjonPaaBane innStasjonPaaBane)
        {
            using (var db = new DB())
            {
                List <StasjonPaaBane> avganger = new List <StasjonPaaBane>();

                foreach (StasjonPaaBane sb in db.StasjonPaaBane)
                {
                    if (sb.Bane.BaneID == innStasjonPaaBane.BaneID && sb.Stasjon.StasjonsID == innStasjonPaaBane.StasjonsID)
                    {
                        avganger.Add(sb);
                    }
                }

                foreach (StasjonPaaBane sb in avganger)
                {
                    if (sb.Avgang == innStasjonPaaBane.Avgang)
                    {
                        return(false);
                    }
                }
                return(true);
            }
        }
Exemple #19
0
 public stasjonPaaBane hentEnAvgang(int id)
 {
     using (var db = new DB())
     {
         var enDbAvgang = db.StasjonPaaBane.Find(id);
         if (enDbAvgang == null)
         {
             return(null);
         }
         else
         {
             var utAvgang = new stasjonPaaBane()
             {
                 stasjonPaaBaneID = enDbAvgang.StasjonPaaBaneID,
                 StasjonsID       = enDbAvgang.Stasjon.StasjonsID,
                 Stasjon          = enDbAvgang.Stasjon.Stasjonsnavn,
                 BaneID           = enDbAvgang.Bane.BaneID,
                 Bane             = enDbAvgang.Bane.Banenavn,
                 Avgang           = enDbAvgang.Avgang
             };
             return(utAvgang);
         }
     }
 }
Exemple #20
0
        public void SlettAvgang_SlettOK_Feil()
        {
            // Arrange
            var controller  = new AdminController(new VyBLL(new AdminDBMetoderStubs()));
            var SessionMock = new TestControllerBuilder();

            SessionMock.InitializeController(controller);
            controller.Session["Innlogget"] = true;
            var avgang = new stasjonPaaBane()
            {
                stasjonPaaBaneID = 1,
                BaneID           = 1,
                Bane             = "L1",
                StasjonsID       = 1,
                Stasjon          = "Oslo S",
                Avgang           = "12:00"
            };

            // Act
            var actionResult = (ViewResult)controller.SlettAvgang(0, avgang);

            // Assert
            Assert.AreEqual(actionResult.ViewName, "");
        }
Exemple #21
0
 public bool sjekkAvgangOK(stasjonPaaBane innStasjonPaaBane)
 {
     return(_AdminDAL.sjekkAvgangOK(innStasjonPaaBane));
 }
Exemple #22
0
 public bool endreStasjonPaaBane(stasjonPaaBane innStasjonPaaBane, int stasjonPaaBaneID)
 {
     return(_AdminDAL.endreStasjonPaaBane(innStasjonPaaBane, stasjonPaaBaneID));
 }