public ActionResult Edit(int id, IFormCollection collection, ExerciseEditViewModel viewModel) { try { using (SqlConnection conn = Connection) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = @"UPDATE Exercise SET ExerciseName = @exerciseName, ExerciseLang = @exerciseLang WHERE Id = @id"; cmd.Parameters.Add(new SqlParameter("@exerciseName", viewModel.exercise.ExerciseName)); cmd.Parameters.Add(new SqlParameter("@exerciseLang", viewModel.exercise.ExerciseLang)); cmd.Parameters.Add(new SqlParameter("@id", id)); int rowsaffected = cmd.ExecuteNonQuery(); if (rowsaffected > 0) { return(RedirectToAction(nameof(Index))); } throw new Exception("no rows affected"); } } } catch { return(View()); } }
public ActionResult Create(ExerciseEditViewModel exercise) { try { using (SqlConnection conn = Connection) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = @"INSERT INTO Exercise (Name, Language) OUTPUT INSERTED.Id VALUES (@name, @language)"; cmd.Parameters.Add(new SqlParameter("@name", exercise.Name)); cmd.Parameters.Add(new SqlParameter("@language", exercise.Language)); var id = (int)cmd.ExecuteScalar(); exercise.ExerciseId = id; return(RedirectToAction(nameof(Index))); } } } catch (Exception ex) { return(View()); } }
public ActionResult Edit(int id, ExerciseEditViewModel exercise) { try { using (SqlConnection conn = Connection) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = @"UPDATE Exercise SET Name = @name, Language = @language WHERE Id = @id"; cmd.Parameters.Add(new SqlParameter("@name", exercise.Name)); cmd.Parameters.Add(new SqlParameter("@language", exercise.Language)); cmd.Parameters.Add(new SqlParameter("@id", id)); var rowsAffected = cmd.ExecuteNonQuery(); if (rowsAffected < 1) { return(NotFound()); } } } return(RedirectToAction(nameof(Index))); } catch (Exception ex) { return(View()); } }
public ActionResult Edit(int id, ExerciseEditViewModel viewModel) { try { using (SqlConnection conn = Connection) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = @"UPDATE Exercise SET exerciseName = @exerciseName, exerciseLanguage = @exerciseLanguage WHERE id = @id"; cmd.Parameters.Add(new SqlParameter("@exerciseName", viewModel.Exercise.ExerciseName)); cmd.Parameters.Add(new SqlParameter("@exerciseLanguage", viewModel.Exercise.ExerciseLanguage)); cmd.Parameters.Add(new SqlParameter("@id", id)); cmd.ExecuteNonQuery(); return(RedirectToAction(nameof(Index))); } } } catch { return(View()); } }
public void ExerciseCompositeViewModel_Receives_Cancel_Message_From_ExerciseEditViewModel() { ViewModelLocator compositeRoot = new ViewModelLocator(); var viewModelFactory = compositeRoot.ViewModelFactory; var exerciseService = new Mock <IExerciseService>(); var dialogService = new Mock <IDialogViewService>(); var exercise = new Exercise { Id = 2, Title = "Existing Exercise" }; exerciseService.Setup(srv => srv.Get(It.IsAny <int>())) .Returns(exercise); var exerciseManagementViewModel = new ExerciseManagementViewModel(exerciseService.Object, dialogService.Object); var exerciseEditViewModel = new ExerciseEditViewModel(dialogService.Object); var viewModel = new MockExerciseCompositeViewModel(viewModelFactory, exerciseService.Object, exerciseManagementViewModel, exerciseEditViewModel); exerciseEditViewModel.StartEdit(exercise); exerciseEditViewModel.CancelCommand.Execute(null); Assert.IsTrue(viewModel.EndEditinExerciseCalled); Assert.That(viewModel.EndEditOperation, Is.EqualTo(EditorCloseOperation.Canceled)); }
public void ExerciseCompositeViewModel_Receives_Save_Message_From_ExerciseEditViewModel() { var exerciseService = new Mock <IExerciseService>(); var dialogService = new Mock <IDialogViewService>(); var exercise = new Exercise { Id = 0, Title = "New Exercise" }; exerciseService.Setup(srv => srv.Get(It.IsAny <int>())) .Returns(exercise); var exerciseManagementViewModel = new ExerciseManagementViewModel(exerciseService.Object, dialogService.Object); var exerciseEditViewModel = new ExerciseEditViewModel(dialogService.Object); var viewModelFactory = new Mock <IViewModelFactory>(); var viewModel = new MockExerciseCompositeViewModel(viewModelFactory.Object, exerciseService.Object, exerciseManagementViewModel, exerciseEditViewModel); exerciseEditViewModel.StartEdit(exercise); exerciseEditViewModel.SaveCommand.Execute(null); Assert.IsTrue(viewModel.EndEditinExerciseCalled); Assert.That(viewModel.EndEditOperation, Is.EqualTo(EditorCloseOperation.Saved)); }
public void ExerciseCompositeViewModel_Calls_Add_On_Service_When_Exercise_Saved_AsNew() { var dialogService = new Mock <IDialogViewService>(); var exerciseService = new Mock <IExerciseService>(); var exercise = new Exercise { Id = 0, Title = "New Exercise" }; exerciseService.Setup(srv => srv.Get(It.IsAny <int>())) .Returns(exercise); var exerciseManagementViewModel = new ExerciseManagementViewModel(exerciseService.Object, dialogService.Object); var exerciseEditViewModel = new ExerciseEditViewModel(dialogService.Object); var viewModelFactory = new Mock <IViewModelFactory>(); var viewModel = new ExerciseCompositeViewModel(viewModelFactory.Object, exerciseService.Object, exerciseManagementViewModel, exerciseEditViewModel); exerciseEditViewModel.StartEdit(exercise); exerciseEditViewModel.SaveCommand.Execute(null); exerciseService.Verify(svc => svc.Add(It.IsAny <Exercise>()), Times.Once, "IExerciseService.Add was not called."); }
// GET: Exercises/Edit/5 public ActionResult Edit(int id) { Exercise exercise = GetExerciseById(id); ExerciseEditViewModel viewModel = new ExerciseEditViewModel(); viewModel.Exercise = exercise; return(View(viewModel)); }
// GET: ExercisesController/Create public ActionResult Create() { var viewModel = new ExerciseEditViewModel(); { }; return(View(viewModel)); }
// GET: Exercises/Edit/5 public ActionResult Edit(int id) { var viewModel = new ExerciseEditViewModel() { exercise = GetExerciseById(id), }; return(View(viewModel)); }
// GET: ExercisesController/Edit/5 public ActionResult Edit(int id) { var exercise = GetExerciseById(id); var viewModel = new ExerciseEditViewModel() { ExerciseId = exercise.Id, Name = exercise.Name, Language = exercise.Language, }; return(View(viewModel)); }
// GET: Exercises/Edit/5 public ActionResult Edit(int id) { Exercise exercise = GetExerciseById(id); if (exercise == null) { return(NotFound()); } ExerciseEditViewModel viewModel = new ExerciseEditViewModel { Exercise = exercise }; return(View(viewModel)); }
// GET: Exercise/Delete/5 public ActionResult Delete(int id) { Exercise exercise = GetExerciseById(id); if (exercise == null) { return(NotFound()); } ExerciseEditViewModel viewModel = new ExerciseEditViewModel { ExerciseName = exercise.Name, ExerciseLanguage = exercise.Language }; return(View(viewModel)); }
public ExerciseCompositeViewModel( IViewModelFactory viewModelFactory, IExerciseService exerciseService, ExerciseManagementViewModel exerciseManagementViewModel, ExerciseEditViewModel exerciseEditViewModel ) { this.viewModelFactory = viewModelFactory; this.exerciseService = exerciseService; this.exerciseSearchViewModel = exerciseManagementViewModel; this.exerciseEditViewModel = exerciseEditViewModel; Messenger.Default.Register <StartEditingExerciseMessage>(this, (m) => StartEditingExercise(m.Exercise)); Messenger.Default.Register <EndEditingExerciseMessage>(this, (m) => EndEditingExercise(m.Exercise, m.Operation, m.LifeCycleState)); Messenger.Default.Register <CancelledExerciseRecordingMessage>(this, (m) => RecordingCancelled()); Messenger.Default.Register <SavedExerciseRecordingMessage>(this, (m) => RecordingSaved()); Messenger.Default.Register <StartPracticingExerciseMessage>(this, (m) => StartPracticingExercise(m.ExerciseId)); NavigationCommand = new RelayCommand <string>((str) => CurrentViewModel = exerciseSearchViewModel); CurrentViewModel = exerciseSearchViewModel; }
public MockExerciseCompositeViewModel(IViewModelFactory viewModelFactory, IExerciseService exerciseService, ExerciseManagementViewModel exerciseSearchViewModel, ExerciseEditViewModel exerciseEditViewModel) : base(viewModelFactory, exerciseService, exerciseSearchViewModel, exerciseEditViewModel) { }