public void AddReviewWithoutExistingReviewer() { int rating = 1; string content = "Review content"; RecordingDataSet.Review review = Catalog.AddReview(recordingDataSet, reviewerName, content, rating, Recording.Id); Assert.IsNotNull(review); RecordingDataSet loadedFromDBDataSet = new RecordingDataSet(); RecordingDataSet.Recording loadedFromDBRecording = Catalog.FindByRecordingId(loadedFromDBDataSet, Recording.Id); Assert.AreEqual(1, loadedFromDBRecording.GetReviews().Length); RecordingDataSet.Review loadedFromDBReview = loadedFromDBRecording.GetReviews()[0]; ReviewGateway reviewGateway = new ReviewGateway(Connection); reviewGateway.Delete(loadedFromDBDataSet, loadedFromDBReview.Id); ReviewerGateway ReviewerGateway = new ReviewerGateway(Connection); long reviewerId = review.ReviewerId; ReviewerGateway.Delete(recordingDataSet, reviewerId); }
public override void Insert() { recordingDataSet = new RecordingDataSet(); recordingGateway = new RecordingGateway(Connection); trackGateway = new TrackGateway(Connection); reviewGateway = new ReviewGateway(Connection); reviewerGateway = new ReviewerGateway(Connection); labelGateway = new LabelGateway(Connection); artistGateway = new ArtistGateway(Connection); genreGateway = new GenreGateway(Connection); artistId = artistGateway.Insert(recordingDataSet, "Artist"); labelId = labelGateway.Insert(recordingDataSet, "Label"); genreId = genreGateway.Insert(recordingDataSet, "Genre"); reviewerId = reviewerGateway.Insert(recordingDataSet, "Reviewer"); recordingId = recordingGateway.Insert(recordingDataSet, "Recording Title", new DateTime(1999, 1, 12), artistId, labelId); reviewId = reviewGateway.Insert(recordingDataSet, 1, "Review"); trackId = trackGateway.Insert(recordingDataSet, "Track Title", 120); RecordingDataSet.Recording recording = recordingGateway.FindById(recordingId, recordingDataSet); RecordingDataSet.Review review = reviewGateway.FindById(reviewId, recordingDataSet); RecordingDataSet.Track track = trackGateway.FindById(trackId, recordingDataSet); RecordingDataSet.Label label = labelGateway.FindById(labelId, recordingDataSet); RecordingDataSet.Genre genre = genreGateway.FindById(genreId, recordingDataSet); RecordingDataSet.Artist artist = artistGateway.FindById(artistId, recordingDataSet); RecordingDataSet.Reviewer reviewer = reviewerGateway.FindById(reviewerId, recordingDataSet); // setup the relationships recording.Artist = artist; recording.Label = label; track.Recording = recording; track.Artist = artist; track.Genre = genre; review.Recording = recording; review.Reviewer = reviewer; recordingGateway.Update(recordingDataSet); trackGateway.Update(recordingDataSet); reviewGateway.Update(recordingDataSet); RecordingDataSet loadedDataSet = new RecordingDataSet(); loadedRecording = Catalog.FindByRecordingId(loadedDataSet, recordingId); }
public ReviewDto AddReview(string reviewerName, string content, int rating, long recordingId) { RecordingDataSet.Review review = AddReviewToRecording(reviewerName, content, rating, recordingId); return(RecordingAssembler.WriteReview(review)); }
public override void CustomizeRecording() { reviewGateway = new ReviewGateway(Connection); reviewId = reviewGateway.Insert(RecordingDataSet, 1, "Review"); RecordingDataSet.Review review = reviewGateway.FindById(reviewId, RecordingDataSet); review.Recording = Recording; reviewGateway.Update(RecordingDataSet); }
public void DeleteReviewFromDatabase() { RecordingDataSet emptyDataSet = new RecordingDataSet(); long deletedReviewId = gateway.Insert(emptyDataSet, 1, "Deleted Review"); gateway.Delete(emptyDataSet, deletedReviewId); RecordingDataSet.Review deleletedReview = gateway.FindById(deletedReviewId, emptyDataSet); Assert.IsNull(deleletedReview); }
public void RetrieveReviewFromDatabase() { RecordingDataSet loadedFromDB = new RecordingDataSet(); RecordingDataSet.Review loadedReview = gateway.FindById(reviewId, loadedFromDB); Assert.AreEqual(reviewId, loadedReview.Id); Assert.AreEqual(rating, loadedReview.Rating); Assert.AreEqual(content, loadedReview.Content); }
public ReviewDto AddReview(string reviewerName, string content, int rating, long recordingId) { RecordingDataSet dataSet = new RecordingDataSet(); RecordingDataSet.Review review = Catalog.AddReview(dataSet, reviewerName, content, rating, recordingId); return(RecordingAssembler.WriteReview(review)); }
public static RecordingDataSet.Review AddReview(RecordingDataSet dataSet, string name, string content, int rating, long recordingId) { SqlConnection connection = null; RecordingDataSet.Review review = null; try { connection = new SqlConnection( ConfigurationSettings.AppSettings.Get("Catalog.Connection")); connection.Open(); RecordingDataSet.Recording recording = FindByRecordingId(dataSet, recordingId); ReviewerGateway reviewerGateway = new ReviewerGateway(connection); RecordingDataSet.Reviewer reviewer = reviewerGateway.FindByName(name, dataSet); if (reviewer == null) { long reviewerId = reviewerGateway.Insert(dataSet, name); reviewer = reviewerGateway.FindById(reviewerId, dataSet); } foreach (RecordingDataSet.Review existingReview in recording.GetReviews()) { if (existingReview.Reviewer.Name.Equals(name)) { throw new ExistingReviewException(existingReview.Id); } } ReviewGateway reviewGateway = new ReviewGateway(connection); long reviewId = reviewGateway.Insert(dataSet, rating, content); review = reviewGateway.FindById(reviewId, dataSet); review.ReviewerId = reviewer.Id; review.Recording = recording; reviewGateway.Update(dataSet); } finally { if (connection != null) { connection.Close(); } } return(review); }
public static ReviewDto WriteReview(RecordingDataSet.Review review) { ReviewDto reviewDto = new ReviewDto(); reviewDto.id = review.Id; reviewDto.reviewContent = review.Content; reviewDto.rating = review.Rating; reviewDto.reviewerName = review.Reviewer.Name; return(reviewDto); }
public new void SetUp() { base.SetUp(); reviewGateway = new ReviewGateway(Connection); reviewId = reviewGateway.Insert(RecordingDataSet, 1, "Review"); RecordingDataSet.Review review = reviewGateway.FindById(reviewId, RecordingDataSet); review.Recording = Recording; reviewGateway.Update(RecordingDataSet); }
FindById(long reviewId, RecordingDataSet recordingDataSet) { reviewCommand.Parameters["@id"].Value = reviewId; reviewAdapter.Fill(recordingDataSet, recordingDataSet.Reviews.TableName); DataRow[] rows = recordingDataSet.Reviews.Select(String.Format("id={0}", reviewId)); if (rows.Length < 1) { return(null); } RecordingDataSet.Review review = (RecordingDataSet.Review)rows[0]; return(review); }
public void AddReviewWithoutExistingReviewer() { int rating = 1; string content = "Review content"; RecordingDataSet.Review review = Catalog.AddReview(recordingDataSet, reviewerName, content, rating, recordingId); Assert.IsNotNull(review); RecordingDataSet loadedFromDBDataSet = new RecordingDataSet(); RecordingDataSet.Recording loadedFromDBRecording = Catalog.FindByRecordingId(loadedFromDBDataSet, recordingId); Assert.AreEqual(1, loadedFromDBRecording.GetReviews().Length); }
public void UpdateRatingFieldInReview() { int modifiedRating = 2; RecordingDataSet.Review review = recordingDataSet.Reviews[0]; review.Rating = modifiedRating; gateway.Update(recordingDataSet); RecordingDataSet updatedDataSet = new RecordingDataSet(); RecordingDataSet.Review updatedReview = gateway.FindById(reviewId, updatedDataSet); Assert.AreEqual(modifiedRating, updatedReview.Rating); }
public void UpdateReviewFieldInReview() { string modifiedContent = "Modified Content"; RecordingDataSet.Review review = recordingDataSet.Reviews[0]; review.Content = modifiedContent; gateway.Update(recordingDataSet); RecordingDataSet updatedDataSet = new RecordingDataSet(); RecordingDataSet.Review updatedReview = gateway.FindById(reviewId, updatedDataSet); Assert.AreEqual(modifiedContent, updatedReview.Content); }
public long Insert(RecordingDataSet recordingDataSet, int rating, string content) { long reviewId = IdGenerator.GetNextId(recordingDataSet.Reviews.TableName, connection); RecordingDataSet.Review reviewRow = recordingDataSet.Reviews.NewReview(); reviewRow.Id = reviewId; reviewRow.Rating = rating; reviewRow.Content = content; recordingDataSet.Reviews.AddReview(reviewRow); reviewAdapter.Update(recordingDataSet, recordingDataSet.Reviews.TableName); return(reviewId); }
public void MakeReview() { RecordingDataSet recordingDataSet = new RecordingDataSet(); reviewer = recordingDataSet.Reviewers.NewReviewer(); reviewer.Id = 1; reviewer.Name = "Reviewer"; recordingDataSet.Reviewers.AddReviewer(reviewer); review = recordingDataSet.Reviews.NewReview(); review.Id = 1; review.Content = "Review Content"; review.Rating = 2; review.Reviewer = reviewer; recordingDataSet.Reviews.AddReview(review); reviewDto = RecordingAssembler.WriteReview(review); }
public void AddTwoReviewsWithExistingReviewer() { int rating = 1; string content = "Review content"; ReviewerGateway reviewerGateway = new ReviewerGateway(Connection); long reviewerId = reviewerGateway.Insert(recordingDataSet, reviewerName); RecordingDataSet.Reviewer reviewer = reviewerGateway.FindById(reviewerId, recordingDataSet); RecordingDataSet.Review reviewOne = Catalog.AddReview(recordingDataSet, reviewerName, content, rating, Recording.Id); try { RecordingDataSet.Review reviewTwo = Catalog.AddReview(recordingDataSet, reviewerName, content, rating, Recording.Id); Assert.Fail("Expected an ExistingReviewException"); } catch (ExistingReviewException exception) { Assert.AreEqual(reviewOne.Id, exception.ExistingId); } finally { RecordingDataSet dbDataSet = new RecordingDataSet(); RecordingDataSet.Recording dbRecording = Catalog.FindByRecordingId(dbDataSet, Recording.Id); RecordingDataSet.Review[] reviews = dbRecording.GetReviews(); ReviewGateway reviewGateway = new ReviewGateway(Connection); foreach (RecordingDataSet.Review existingReview in reviews) { reviewGateway.Delete(dbDataSet, existingReview.Id); } reviewerGateway.Delete(recordingDataSet, reviewerId); } }
public void AddReviewWithExistingReviewer() { int rating = 1; string content = "Review content"; ReviewerGateway reviewerGateway = new ReviewerGateway(Connection); long reviewerId = reviewerGateway.Insert(recordingDataSet, reviewerName); RecordingDataSet.Reviewer reviewer = reviewerGateway.FindById(reviewerId, recordingDataSet); RecordingDataSet.Review review = Catalog.AddReview(recordingDataSet, reviewerName, content, rating, recordingId); Assert.IsNotNull(review); RecordingDataSet loadedFromDBDataSet = new RecordingDataSet(); RecordingDataSet.Recording loadedFromDBRecording = Catalog.FindByRecordingId(loadedFromDBDataSet, recordingId); Assert.AreEqual(1, loadedFromDBRecording.GetReviews().Length); }
public void DeleteReview() { int rating = 1; string content = "Review content"; ReviewerGateway reviewerGateway = new ReviewerGateway(Connection); long reviewerId = reviewerGateway.Insert(recordingDataSet, reviewerName); RecordingDataSet.Reviewer reviewer = reviewerGateway.FindById(reviewerId, recordingDataSet); RecordingDataSet.Review review = Catalog.AddReview(recordingDataSet, reviewerName, content, rating, recordingId); Catalog.DeleteReview(review.Id); RecordingDataSet loadedFromDB = new RecordingDataSet(); RecordingDataSet.Recording loadedFromDBRecording = Catalog.FindByRecordingId(loadedFromDB, recordingId); Assert.AreEqual(0, loadedFromDBRecording.GetReviews().Length); }
public void AddTwoReviewsWithExistingReviewer() { int rating = 1; string content = "Review content"; ReviewerGateway reviewerGateway = new ReviewerGateway(Connection); long reviewerId = reviewerGateway.Insert(recordingDataSet, reviewerName); RecordingDataSet.Reviewer reviewer = reviewerGateway.FindById(reviewerId, recordingDataSet); RecordingDataSet.Review reviewOne = Catalog.AddReview(recordingDataSet, reviewerName, content, rating, recordingId); try { RecordingDataSet.Review reviewTwo = Catalog.AddReview(recordingDataSet, reviewerName, content, rating, recordingId); Assert.Fail("Expected an ExistingReviewException"); } catch (ExistingReviewException exception) { Assert.AreEqual(reviewOne.Id, exception.ExistingId); } }
public void Execute() { SqlConnection connection = TransactionManager.Transaction().Connection; RecordingDataSet.Recording recording = FindByRecordingId(dataSet, recordingId); ReviewerGateway reviewerGateway = new ReviewerGateway(connection); RecordingDataSet.Reviewer reviewer = reviewerGateway.FindByName(name, dataSet); if (reviewer == null) { long reviewerId = reviewerGateway.Insert(dataSet, name); reviewer = reviewerGateway.FindById(reviewerId, dataSet); } foreach (RecordingDataSet.Review existingReview in recording.GetReviews()) { if (existingReview.Reviewer.Name.Equals(name)) { throw new ExistingReviewException(existingReview.Id); } } ReviewGateway reviewGateway = new ReviewGateway(connection); long reviewId = reviewGateway.Insert(dataSet, rating, content); review = reviewGateway.FindById(reviewId, dataSet); review.ReviewerId = reviewer.Id; review.Recording = recording; reviewGateway.Update(dataSet); }
public void ReviewerId() { RecordingDataSet recordingDataSet = new RecordingDataSet(); ReviewGateway reviewGateway = new ReviewGateway(Connection); long reviewId = reviewGateway.Insert(recordingDataSet, 1, "Review Content"); ReviewerGateway reviewerGateway = new ReviewerGateway(Connection); long reviewerId = reviewerGateway.Insert(recordingDataSet, "Reviewer Name"); RecordingDataSet.Review review = reviewGateway.FindById(reviewId, recordingDataSet); review.ReviewerId = reviewerId; reviewGateway.Update(recordingDataSet); Assert.AreEqual(reviewerId, review.Reviewer.Id); reviewGateway.Delete(recordingDataSet, reviewId); reviewerGateway.Delete(recordingDataSet, reviewerId); }
public static RecordingDataSet.Recording Make() { RecordingDataSet dataSet = new RecordingDataSet(); RecordingDataSet.Recording recording = dataSet.Recordings.NewRecording(); recording.Id = 1; recording.Title = "Title"; recording.ReleaseDate = DateTime.Today; RecordingDataSet.Label label = dataSet.Labels.NewLabel(); label.Id = 1; label.Name = "Label"; dataSet.Labels.AddLabel(label); RecordingDataSet.Artist artist = dataSet.Artists.NewArtist(); artist.Id = 1; artist.Name = "Artist"; dataSet.Artists.AddArtist(artist); recording.Label = label; recording.Artist = artist; dataSet.Recordings.AddRecording(recording); RecordingDataSet.Genre genre = dataSet.Genres.NewGenre(); genre.Id = 1; genre.Name = "Genre"; dataSet.Genres.AddGenre(genre); int trackCount = 2; ArrayList tracks = new ArrayList(trackCount); for (int i = 0; i < trackCount; i++) { RecordingDataSet.Track track = dataSet.Tracks.NewTrack(); track.Recording = recording; track.Id = i + 1; track.Title = "Track Title"; track.Duration = 100; track.Genre = genre; track.Artist = artist; dataSet.Tracks.AddTrack(track); tracks.Add(track); } RecordingDataSet.Reviewer reviewer = dataSet.Reviewers.NewReviewer(); reviewer.Id = 1; reviewer.Name = "Reviewer"; dataSet.Reviewers.AddReviewer(reviewer); int reviewCount = 3; ArrayList reviews = new ArrayList(reviewCount); for (int j = 0; j < reviewCount; j++) { RecordingDataSet.Review review = dataSet.Reviews.NewReview(); review.Id = j + 1; review.Content = "Review Content"; review.Rating = j + 1; review.Reviewer = reviewer; review.Recording = recording; dataSet.Reviews.AddReview(review); reviews.Add(review); } return(recording); }
public void Delete(RecordingDataSet recordingDataSet, long reviewId) { RecordingDataSet.Review loadedReview = FindById(reviewId, recordingDataSet); loadedReview.Delete(); reviewAdapter.Update(recordingDataSet, recordingDataSet.Reviews.TableName); }