Example #1
0
        public async Task <DepartureViewModel> CreateViewModelAsync(Departure departure)
        {
            var viewModel = new DepartureViewModel();

            await UpdateViewModelAsync(departure, viewModel);

            return(viewModel);
        }
Example #2
0
        public async Task <ActionResult> Show(PickLinesViewModel lines)
        {
            string selectedLines = Request["selectedLines"];
            string selectedStation;

            var cookie       = new CookieValues();
            var cookieValues = new CookieValues();

            if (!CookieExists())
            {
                return(RedirectToAction("Index"));
            }
            else
            {
                cookie = GetCookieValues();
                if (cookie == null)
                {
                    return(RedirectToAction("Index"));
                }
                else if (cookie.MetroId == null)
                {
                    TempData["CustomError"] = "Du må velge en";

                    return(RedirectToAction("Stations"));
                }
                else if (cookie.StationId == null)
                {
                    return(RedirectToAction("Index"));
                }
                else if (String.IsNullOrEmpty(selectedLines))
                {
                    selectedLines = cookie.MetroId;
                }
                else if (!String.IsNullOrEmpty(selectedLines))
                {
                    var newCookieValues = new CookieValues();
                    newCookieValues.MetroId   = selectedLines;
                    newCookieValues.StationId = cookie.StationId;
                    OverWriteCookieValue(newCookieValues);
                }
            }
            selectedStation = cookie.StationId;

            List <Tuple <string, string> > metroNameAndDeparture = await _ruterReiseFacade.GetDepartures(selectedStation, selectedLines);

            DepartureViewModel viewModel = new DepartureViewModel
            {
                LineAndDeparture = metroNameAndDeparture,
                StationName      = selectedStation
            };

            return(View("Show", viewModel));
        }
Example #3
0
        public Task UpdateViewModelAsync(Departure departure, DepartureViewModel departureViewModel)
        {
            departureViewModel.RunNo    = departure.RunNo;
            departureViewModel.LineType = departure.LineType;
            departureViewModel.No       = departure.No;
            departureViewModel.Name     = departure.Name;
            departureViewModel.Towards  = departure.Towards;
            departureViewModel.Time     = departure.DepartureTime;

            UpdateTime(departure, departureViewModel);

            return(Task.CompletedTask);
        }
Example #4
0
        private static void UpdateTime(Departure departure, DepartureViewModel departureViewModel)
        {
            if (departure.DepartureTimeDeviation != null)
            {
                var newTime = departure.DepartureTime.AddMinutes(departure.DepartureTimeDeviation ?? 0);

                if (newTime.Truncate(TimeSpan.FromMinutes(1)) > departure.DepartureTime.Truncate(TimeSpan.FromMinutes(1)))
                {
                    departureViewModel.NewTime = newTime;
                }
                else
                {
                    departureViewModel.NewTime = null;
                }
            }
            else
            {
                departureViewModel.NewTime = null;
            }
        }
 public Departures()
 {
     ViewModel = new DepartureViewModel();
     this.InitializeComponent();
 }
 public DepartureView()
 {
     this.InitializeComponent();
     ViewModel        = new DepartureViewModel();
     this.DataContext = new Departure();
 }
        public List <DepartureViewModel> GetDepartureViewModelNew(int IdStart, int IdEnd, DateTime dt)
        {
            CultureInfo no        = CultureInfo.CreateSpecificCulture("no-NO");
            var         dvmList   = new List <DepartureViewModel>();
            var         lineStart = new Station();
            var         lineEnd   = new Station();
            var         data      = new List <RouteSchedule>();

            if (IdStart == IdEnd)
            {
                return(dvmList);
            }
            else
            {
                data = _context.RouteSchedules
                       .Include(i => i.Route)
                       .ThenInclude(i => i.Line)
                       .Include(r => r.Route)
                       .ThenInclude(i => i.FromStation)
                       .Include(r => r.RouteStops)
                       .ThenInclude(s => s.Station)
                       .Include(i => i.Route)
                       .ThenInclude(i => i.ToStation)
                       .Where(t => t.StartingAt >= dt)
                       .ToList();

                foreach (var row in data)
                {
                    var checkStart = false;
                    var checkStopp = false;
                    var toDisplay  = new DepartureViewModel();

                    if (row.Route.FromStation.Id == IdStart)
                    {
                        checkStart = true;
                        lineStart  = row.Route.FromStation;
                        toDisplay.DepartureTime = row.StartingAt.ToString("HH:mm", no);
                    }
                    else
                    {
                        foreach (var stop in row.RouteStops)
                        {
                            if (stop.Station.Id == IdStart)
                            {
                                checkStart = true;
                                lineStart  = stop.Station;
                                toDisplay.DepartureTime = row.StartingAt.AddMinutes(stop.TimeFromStart).ToString("HH:mm", no);
                                break;
                            }
                        }
                    }

                    if (row.Route.ToStation.Id == IdEnd)
                    {
                        checkStopp            = true;
                        lineEnd               = row.Route.ToStation;
                        toDisplay.ArrivalTime = row.StartingAt.AddMinutes(row.RouteStops.Last().TimeFromStart).ToString("HH:mm", no);
                    }
                    else
                    {
                        foreach (var stop in row.RouteStops)
                        {
                            if (stop.Station.Id == IdEnd)
                            {
                                checkStopp            = true;
                                lineEnd               = stop.Station;
                                toDisplay.ArrivalTime = row.StartingAt.AddMinutes(stop.TimeFromStart).ToString("HH:mm", no);
                                break;
                            }
                        }
                    }
                    if (checkStart && checkStopp)
                    {
                        toDisplay.Line          = row.Route.Line;
                        toDisplay.LineId        = row.Route.Line.Id;
                        toDisplay.Date          = row.StartingAt.ToString("dddd, d. MMM", no);
                        toDisplay.FromStation   = lineStart;
                        toDisplay.FromStationId = lineStart.Id;
                        toDisplay.ToStation     = lineEnd;
                        toDisplay.ToStationId   = lineEnd.Id;
                        toDisplay.Price         = CalculatePrice();
                        dvmList.Add(toDisplay);
                    }
                }
            }
            return(dvmList);
        }