public IActionResult Ticket()
        {
            var ticketList = TicketBll.GetAllTickets();
            RepositoryModelTicket model;

            if (ticketList.Count == 0)
            {
                model = new RepositoryModelTicket
                {
                    ValidFromDate     = "01.01.1970",
                    ValidFromTime     = "12:00",
                    FromStation       = "Oslo S",
                    ToStation         = "Trondheim",
                    Price             = 100,
                    CustomerGivenName = "Ola",
                    CustomerLastName  = "Nordmann",
                    CustomerNumber    = "12345678"
                }
            }
            ;
            else
            {
                model = ticketList[ticketList.Count - 1];
            }

            return(View(model));
        }
        public ActionResult Index(RepositoryModelTicket ticket)
        {
            var isValidFromStation = false;
            var isValidToStation   = false;

            if (ModelState.IsValid)
            {
                foreach (var station in _stationBll.GetAllStations())
                {
                    if (ticket.FromStation == station.StationName)
                    {
                        isValidFromStation = true;
                    }

                    if (ticket.ToStation == station.StationName)
                    {
                        isValidToStation = true;
                    }
                }

                if (isValidToStation && isValidFromStation)
                {
                    var departures = _departureBll.GetDeparturesLater(ticket.ValidFromTime);
                    ViewBag.ticket = ticket;

                    return(View("SelectTrip", departures));
                }
            }

            //TODO This should be displayed in the same fashion as the error message for choosing the same to and from station!
            //If the user inputs a station that does not exist, show an error message
            ModelState.AddModelError("Stations", "En av stasjonene du har skrevet inn finnes ikke");
            return(View());
        }
 public DbCustomer CreateNewCustomerFromInput(RepositoryModelTicket ticket)
 {
     return(new DbCustomer
     {
         Name = ticket.CustomerGivenName + " " + ticket.CustomerLastName,
         Phonenumber = ticket.CustomerNumber
     });
 }
        public void Index_post_validationFail()
        {
            var ticket = new RepositoryModelTicket();

            controller.ModelState.AddModelError("test", "test");
            var result = (ViewResult)controller.Index(ticket);

            Assert.AreEqual(result.ViewData.Values.FirstOrDefault(), null);
        }
        public void Index_invalidStations()
        {
            RepositoryModelTicket ticket = new RepositoryModelTicket();

            ticket.ToStation   = "bnjm";
            ticket.FromStation = "fghj";
            var result = (ViewResult)controller.Index(ticket);

            Assert.AreEqual(result.ViewName, null);
        }
        public void Index_post()
        {
            var ticket = new RepositoryModelTicket()
            {
                Id                = 1,
                FromStation       = "Oslo S",
                ToStation         = "Lillestrøm",
                ValidFromDate     = "12.12.20",
                ValidFromTime     = "10:30",
                Price             = 100,
                CustomerGivenName = "Fornavn",
                CustomerLastName  = "Etternavn",
                CustomerNumber    = "99999999",
                PassengerType     = "Adult"
            };
            var result = (ViewResult)controller.Index(ticket);

            Assert.AreEqual(result.ViewData.Values.First(), ticket);
        }
        public void SelectTrip_test_post()
        {
            var ticket = new RepositoryModelTicket()
            {
                Id                = 1,
                FromStation       = "Oslo S",
                ToStation         = "Lillestrøm",
                ValidFromDate     = "12.12.20",
                ValidFromTime     = "10:30",
                Price             = 100,
                CustomerGivenName = "Fornavn",
                CustomerLastName  = "Etternavn",
                CustomerNumber    = "99999999",
                PassengerType     = "Admin"
            };
            var resultat = (RedirectToActionResult)controller.SelectTrip(ticket);

            Assert.AreEqual(resultat.ActionName, "Ticket");
            Assert.AreEqual(resultat.RouteValues.Values.First(), 1);
        }
Exemplo n.º 8
0
        public List <RepositoryModelTicket> GetAllTickets()
        {
            var list   = new List <RepositoryModelTicket>();
            var ticket = new RepositoryModelTicket
            {
                Id                = 1,
                FromStation       = "Frastasjon",
                ToStation         = "TilStasjon",
                CustomerGivenName = "Navn",
                CustomerLastName  = "Navn",
                CustomerNumber    = "Nummer",
                ValidFromDate     = "Dato",
                ValidFromTime     = "Tid",
                Price             = 40,
                PassengerType     = "Type"
            };

            list.Add(ticket);
            list.Add(ticket);
            list.Add(ticket);
            return(list);
        }
        public bool SaveTicket(RepositoryModelTicket ticket, List <DbStation> stationsFromName)
        {
            var newTicket = new DbTicket
            {
                FromStation   = stationsFromName[0],
                ToStation     = stationsFromName[1],
                ValidFrom     = StringsToDateTime(ticket.ValidFromDate, ticket.ValidFromTime),
                DbCustomer    = CreateNewCustomerFromInput(ticket),
                PassengerType = FindTicketPassengerType(ticket.PassengerType),
                Price         = GeneratePrice(stationsFromName[0], stationsFromName[1], FindTicketPassengerType(ticket.PassengerType))
            };

            try
            {
                _databaseContext.Tickets.Add(newTicket);
                _databaseContext.SaveChanges();
                return(true);
            }
            catch
            {
                return(false);
            }
        }
Exemplo n.º 10
0
 public bool SaveTicket(RepositoryModelTicket ticket, List <DbStation> stationsFromName)
 {
     return(ticket != null && stationsFromName != null);
 }
 public DbCustomer CreateNewCustomerFromInput(RepositoryModelTicket ticket)
 {
     return(_ticketRepository.CreateNewCustomerFromInput(ticket));
 }
 public bool SaveTicket(RepositoryModelTicket ticket, List <DbStation> stationsFromName)
 {
     return(_ticketRepository.SaveTicket(ticket, stationsFromName));
 }
 public ActionResult SelectTrip(RepositoryModelTicket ticket)
 {
     _ticketBll.SaveTicket(ticket, GetStationsFromNames(ticket.FromStation, ticket.ToStation));
     return(RedirectToAction("Ticket", "Ticket", ticket));
 }