private void StartButton_Click(object sender, RoutedEventArgs e) { MissionType type = new MissionType(); Mission mission = new Mission(); Resource res = new Resource(); float progress = 0; missionRepo.GetAllMissions().ForEach(m => { if (missionsListBox.SelectedItem != null) { if (m.MissionName == missionsListBox.SelectedItem.ToString()) { type = m.MissionType; mission = m; } } }); pausedRepo.GetAllMissions().ForEach(pM => { if (mission.Id == pM.MissionId) { progress = pM.Progress; pausedRepo.DeleteMission(pM.Id); } }); if (resourcesListBox.SelectedItem != null) { string str = resourcesListBox.SelectedValue.ToString(); resourceRepo.GetAllResources().ForEach(r => { if (r.ResourceName == str) { res = r; } }); } ViewModel?.StopMission(); ViewModel = new DefaultViewModel(); /*------Добавление нового типа------*/ if (type.GetType() == typeof(ExcavationType)) { DataContext = ViewModel = new ExcavationVIewModel(progress, mission, res); } else if (type.GetType() == typeof(SurvivalType)) { DataContext = ViewModel = new SurvivalViewModel(progress, mission, res); } else { DataContext = ViewModel = new DefaultViewModel(); } /*----------------------------------*/ ViewModel.onMissionStop += onMissionStopHandler; ViewModel.StartMission(); }
public void PauseMission(int missionId, int progress) { var pausedMission = new PausedMission(); pausedMission.MissionId = missionId; pausedMission.Progress = progress; _pausedMissionRepository.GetAllMissions().ForEach(m => { if (m.MissionId == missionId) { pausedMission.Id = m.Id; _pausedMissionRepository.UpdateMission(pausedMission); return; } }); _pausedMissionRepository.CreateMission(pausedMission); }