public async Task <DepartureViewModel> CreateViewModelAsync(Departure departure) { var viewModel = new DepartureViewModel(); await UpdateViewModelAsync(departure, viewModel); return(viewModel); }
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)); }
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); }
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); }