Пример #1
0
        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));
        }
Пример #2
0
        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));
        }