/// <summary> /// Edit existing Course /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void EditCourse_Click(object sender, RoutedEventArgs e) { bool exitCancel = false; bool normalExit = true; Window window = new Window() { Title = "Create course", ResizeMode = ResizeMode.NoResize, WindowStartupLocation = WindowStartupLocation.CenterScreen }; window.Loaded += delegate(object o, RoutedEventArgs args) { LanguageSelection language = new LanguageSelection() { VerticalAlignment = VerticalAlignment.Stretch, HorizontalAlignment = HorizontalAlignment.Stretch, }; window.Width = language.Width + 15; window.Height = language.Height + 40; window.Content = language; language.button.Click += delegate(object obj, RoutedEventArgs Args) { LanguageSelection control = (LanguageSelection)window.Content; long id = _courseImagesCache[_selectedLanguage.Name]; string nation = control.GetSelectedNation(); string selectedLanguage = _languages.GetLanguageName(nation); if (selectedLanguage != null) { if (!ExistingCourse(control.GetSelectedLanguageIcon())) { _courseImagesCache.Remove(_selectedLanguage.Name); _courseImagesCache[control.GetSelectedLanguageIcon()] = id; _contentManager.EditCourse(id, selectedLanguage, control.GetSelectedLanguageIcon()); _selectedLanguage.Source = new BitmapImage(new Uri(control.GetSelectedLanguageIcon())); exitCancel = false; normalExit = false; window.Close(); } else { MessageBox.Show("Course already exists!"); exitCancel = true; normalExit = true; } } }; }; window.Closing += delegate(object o, CancelEventArgs args) { if (!normalExit) { if (exitCancel) { args.Cancel = true; } } }; window.ShowDialog(); }