Exemple #1
0
        public static RecordingDataSet.Recording FindByRecordingId(RecordingDataSet recordingDataSet, long recordingId)
        {
            SqlConnection connection = null;
            RecordingDataSet.Recording recording = null;
            try
            {
                //connection = new SqlConnection(ConfigurationSettings.AppSettings.Get("Catalog.Connection"));
                connection = new SqlConnection("Data Source=DAVEXPLAPTOP;Initial Catalog=catalog;Integrated Security=True");
                connection.Open();

                RecordingGateway recordingGateway = new RecordingGateway(connection);
                recording = recordingGateway.FindById(recordingId, recordingDataSet);
                if (recording != null)
                {
                    long artistId = recording.ArtistId;
                    ArtistGateway artistGateway = new ArtistGateway(connection);
                    RecordingDataSet.Artist artist = artistGateway.FindById(artistId, recordingDataSet);

                    long labelId = recording.LabelId;
                    LabelGateway labelGateway = new LabelGateway(connection);
                    RecordingDataSet.Label label = labelGateway.FindById(labelId, recordingDataSet);

                    GenreGateway genreGateway = new GenreGateway(connection);
                    TrackGateway trackGateway = new TrackGateway(connection);
                    foreach (RecordingDataSet.Track track in trackGateway.FindByRecordingId(recordingId, recordingDataSet))
                    {
                        artistId = track.ArtistId;
                        long genreId = track.GenreId;
                        artist = artistGateway.FindById(artistId, recordingDataSet);
                        RecordingDataSet.Genre genre = genreGateway.FindById(genreId, recordingDataSet);
                    }

                    ReviewGateway reviewGateway = new ReviewGateway(connection);
                    ReviewerGateway reviewerGateway = new ReviewerGateway(connection);
                    foreach (RecordingDataSet.Review review in reviewGateway.FindByRecordingId(recordingId, recordingDataSet))
                    {
                        long reviewerId = review.ReviewerId;
                        RecordingDataSet.Reviewer reviewer = reviewerGateway.FindById(reviewerId, recordingDataSet);
                    }
                }
            }
            finally
            {
                if (connection != null)
                    connection.Close();
            }
            return recording;
        }
 public void pass_connection_to_gateway_setup_data_set()
 {
     recordingDataSet = new RecordingDataSet();
     gateway = new GenreGateway(Connection);
     genreId = gateway.Insert(recordingDataSet, GenreName);
 }
        public void SetUp_a_known_recording_then_verify_it_brings_back_the_same_data()
        {
            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");

            trackId1 = trackGateway.Insert(recordingDataSet, "Track Title", 120);
            trackId2 = trackGateway.Insert(recordingDataSet, "Track Title", 130);

            RecordingDataSet.Recording recording = recordingGateway.FindById(recordingId, recordingDataSet);
            RecordingDataSet.Review review = reviewGateway.FindById(reviewId, recordingDataSet);
            RecordingDataSet.Track track1 = trackGateway.FindById(trackId1, recordingDataSet);
            RecordingDataSet.Track track2 = trackGateway.FindById(trackId2, 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;
            track1.Recording = recording;
            track1.Artist = artist;
            track1.Genre = genre;

            track2.Recording = recording;
            track2.Artist = artist;
            track2.Genre = genre;

            review.Recording = recording;
            review.Reviewer = reviewer;

            // only these as they are in the 'middle' and depend??
            recordingGateway.Update(recordingDataSet);
            trackGateway.Update(recordingDataSet);
            reviewGateway.Update(recordingDataSet);

            RecordingDataSet loadedDataSet = new RecordingDataSet();
            loadedRecording = Catalog.FindByRecordingId(loadedDataSet, recordingId);
        }