//Lägger till en roll genom att anropa en lagrad procedur som skapar ett id och lägger till det användaren har skrivit in public void InsertStarring(Starring starring) { using (SqlConnection conn = CreateConnection()) { try { SqlCommand cmd = new SqlCommand("appSchema.usp_InsertStarring", conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@MovieID", SqlDbType.Int, 4).Value = starring.MovieID; cmd.Parameters.Add("@ActorID", SqlDbType.Int, 4).Value = starring.ActorID; cmd.Parameters.Add("@Character", SqlDbType.VarChar, 40).Value = starring.Character; cmd.Parameters.Add("@StarringID", SqlDbType.Int, 4).Direction = ParameterDirection.Output; conn.Open(); cmd.ExecuteNonQuery(); starring.StarringID = (int)cmd.Parameters["@StarringID"].Value; } catch { throw new ApplicationException("An error occured while adding the character to the database."); } } }
public void TestStarring() { Assert.IsNotNull(Starring.GetAll()); var item1 = Starring.GetAll().FirstOrDefault(obj => obj.ActorId == 2 && obj.MovieId == 1); var item2 = Starring.GetAll().FirstOrDefault(obj => obj.ActorId == 2 && obj.MovieId == 2); Assert.IsNotNull(item1); Assert.IsNull(item2); }
//Lägger till en roll i databasen och visar ett meddelande att det är gjort, om något går fel så visas ett felmeddelande public void ActorListView_InsertItem() { try { var item = new Starring(); TryUpdateModel(item); if (ModelState.IsValid) { item.MovieID = MovieID; Service.SaveStarring(item); this.SetTempData("SuccessMessage", "Rollen lades till"); Response.RedirectToRoute("MovieDetails"); } } catch { ModelState.AddModelError(String.Empty, String.Format("Ett fel inträffade när rollen skulle läggas till")); } }
//Uppdatera en roll genom att anropa en procedur som hämtar id och uppdaterar det som som användaren har skrivit in på det id som är hämtat public void UpdateCharacter(Starring starring) { using (SqlConnection conn = CreateConnection()) { try { SqlCommand cmd = new SqlCommand("appSchema.usp_UpdateCharacter", conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@StarringID", SqlDbType.Int, 4).Value = starring.StarringID; cmd.Parameters.Add("@ActorID", SqlDbType.Int, 4).Value = starring.ActorID; cmd.Parameters.Add("@Character", SqlDbType.VarChar, 40).Value = starring.Character; conn.Open(); cmd.ExecuteNonQuery(); } catch { throw new ApplicationException("An error occured while updating a character in the database."); } } }