public TrainStateViewModel(Area area, int?trainNumber) { m_LiveDataBll = new LiveDataBLL(); SaveCommand = new CommandHandler(__Save, false); m_Area = area; TrainNumber = trainNumber; }
public ESTWTestDataScope(LiveDataBLL liveDataBll) { var property = liveDataBll.GetType().GetProperty("InitializationBLL", BindingFlags.NonPublic | BindingFlags.Instance); var initializationBll = property.GetValue(liveDataBll) as InitializationBLL; __Init(initializationBll); }
public ExpectedDelayViewModel(Area area, TrainInformation train, Schedule schedule) { m_Area = area; m_Train = train; SaveCommand = new CommandHandler(__Save, false); m_LiveDataBll = new LiveDataBLL(); if (m_Train == null) { var createResult = m_LiveDataBll.CreateLiveTrainInformation(schedule.Train.Number, schedule.Station.ESTW); if (createResult.Succeeded) { m_Train = createResult.Result; } else { MessageBox.Show(createResult.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); return; } } var candidates = m_Train.Schedules.Where((s1, i1) => !m_Train.Schedules.Skip(i1 + 1).Any(s2 => s2.IsArrived)) // Must be first criterion due to indizes .Where(s => !s.IsDeparted) .Where(s => s.Schedule.Station.ESTW.Stations.Any(s2 => Runtime.VisibleStations.Contains(s2))) .GroupBy(s => new { s.Schedule.Station.ShortSymbol, s.Schedule.Time }) .Select(g => g.FirstOrDefault()); Schedules = new ObservableCollection <LiveSchedule>(candidates); SelectedSchedule = Schedules.FirstOrDefault(s => s.Schedule.Station.ShortSymbol == schedule.Station.ShortSymbol && s.Schedule.Time == schedule.Time); m_ArrivalChanged = false; m_DepartureChanged = false; }
public MainViewModel() { m_NewCommand = new CommandHandler <string>(__New, true); m_OpenCommand = new CommandHandler(__Open, true); m_SaveCommand = new CommandHandler(__Save, false); m_SaveAsCommand = new CommandHandler(__SaveAs, false); m_SettingsCommand = new CommandHandler(__Settings, true); m_EstwOnlineCommand = new CommandHandler(__StartEstwOnline, true); m_ExitCommand = new CommandHandler(__Exit, true); m_EstwSelectionCommand = new CommandHandler(__ShowEstwSelectionWindow, false); m_TrainProgressInformationCommand = new CommandHandler(__ShowTrainProgressInformationWindow, false); m_TimeTableCommand = new CommandHandler <Station>(__ShowTimeTableWindow, true); m_TrainScheduleCommand = new CommandHandler(__ShowTrainScheduleWindow, false); m_SystemStateCommand = new CommandHandler(__ShowSystemStateWindow, false); m_SaveLayoutCommand = new CommandHandler(__SaveLayout, true); m_ClearChildWindowsCommand = new CommandHandler(__ClearChildWindows, true); m_ShowHelpCommand = new CommandHandler(__ShowHelp, true); m_ShowQuickStartHelpCommand = new CommandHandler(__ShowQuickStartHelp, true); m_AboutCommand = new CommandHandler(__ShowAboutWindow, true); m_DebugModeCommand = new CommandHandler(__ToggleDebugMode, true); m_InitializationBll = new InitializationBLL(); m_LiveDataBll = new LiveDataBLL(); m_SettingsBll = new SettingsBLL(); m_SerializationBll = new SerializationBLL(); m_ChildViewModels = new List <ViewModelBase>(); ChildWindows = new ObservableCollection <ChildWindow>(); Runtime.VisibleStationsChanged += __VisibleStationsChanged; var AreaResult = m_InitializationBll.GetAreaInformation(); if (AreaResult.Succeeded) { Areas = AreaResult.Result.ToObservableCollection(); } else { ShowMessage(AreaResult); Areas = new ObservableCollection <Area>(); } var SettingsResult = m_SettingsBll.AreSettingsComplete(); if (SettingsResult.Succeeded) { if (!SettingsResult.Result) { __Settings(); } } else { ShowMessage(SettingsResult); } StatusBarText = "Herzlich willkommen!"; }
public DelayInfoViewModel(DelayInfo Delay) : base() { CurrentDelay = Delay; SaveCommand = new CommandHandler(__Save, false); m_LiveDataBll = new LiveDataBLL(); AllDelayReasons = DelayReason.GetAllDelayReasons(); }
public ExpectedDelayViewModel(TrainInformation train, Schedule schedule) { m_Train = train; SaveCommand = new CommandHandler(__Save, false); m_LiveDataBll = new LiveDataBLL(); var candidates = train.Schedules.Where((s1, i1) => !train.Schedules.Skip(i1 + 1).Any(s2 => s2.IsArrived)) // Must be first criterion due to indizes .Where(s => s.Schedule.Handling != eHandling.Destination && !s.IsDeparted) .Where(s => s.Schedule.Station.ESTW.Stations.Any(s2 => Runtime.VisibleStations.Contains(s2))) .GroupBy(s => new { s.Schedule.Station.ShortSymbol, s.Schedule.Time }) .Select(g => g.FirstOrDefault()); Schedules = new ObservableCollection <LiveSchedule>(candidates); SelectedSchedule = Schedules.FirstOrDefault(s => s.Schedule.Station.ShortSymbol == schedule.Station.ShortSymbol && s.Schedule.Time == schedule.Time); }
public TrackChangeViewModel(TrainInformation train, Schedule schedule) { m_Train = train; SaveCommand = new CommandHandler(__Save, false); m_LiveDataBll = new LiveDataBLL(); var candidates = train.Schedules.Where((s1, i1) => !train.Schedules.Skip(i1 + 1).Any(s2 => s2.IsArrived)) // Must be first criterion due to indizes .Where(s => !s.IsArrived && (s.Schedule.Track == null || s.Schedule.Track.IsPlatform)) .Where(s => s.Schedule.Station.ESTW.Stations.Any(s2 => Runtime.VisibleStations.Contains(s2))) .GroupBy(s => new { s.Schedule.Station.ShortSymbol, s.Schedule.Time }) .Select(g => g.FirstOrDefault()); Schedules = new ObservableCollection <LiveSchedule>(candidates); SelectedSchedule = Schedules.FirstOrDefault(s => s.Schedule.Station.ShortSymbol == schedule.Station.ShortSymbol && s.Schedule.Time == schedule.Time); SelectedTrack = SelectedSchedule?.LiveTrack; }
public DelayInfoViewModel(DelayInfo Delay) : base() { CurrentDelay = Delay; SaveCommand = new CommandHandler(__Save, false); m_LiveDataBll = new LiveDataBLL(); if (Delay.Schedule.Schedule.Station.ESTW.InfrastructureManager == eInfrastructureManager.DB) { AllDelayReasons = DelayReason.GetDBDelayReasons(); } else if (Delay.Schedule.Schedule.Station.ESTW.InfrastructureManager == eInfrastructureManager.OEBB) { AllDelayReasons = DelayReason.GetOEBBDelayReasons(); } }
public TrainScheduleViewModel(Dispatcher Dispatcher, Train Train, Area Area) { this.Dispatcher = Dispatcher; CurrentTrain = Train; m_Area = Area; m_LiveDataBll = new LiveDataBLL(); m_CalculationBll = new CalculationBLL(); m_SettingsBll = new SettingsBLL(); Stations = new ObservableCollection <TrainScheduleStationViewModel>(); OpenTrainScheduleCommand = new CommandHandler <int?>(__OpenTrainSchedule, true); EditCommand = new CommandHandler(__EnterEditMode, true); DelayJustificationCommand = new CommandHandler(__ShowDelayJustificationWindow, false); ShowTrainCompositionCommand = new CommandHandler(__ShowTrainComposition, Train.Composition.IsNotNullOrWhiteSpace()); CloseCommand = new CommandHandler(OnCloseWindow, true); SaveCommand = new CommandHandler(__Save, true); CancelCommand = new CommandHandler(__ExitEditMode, true); CancelTrainCommand = new CommandHandler(__CancelTrain, true); if (Area != null) { Refresh(Area); } }