public void AddSong(Song song, int albumId)
        {
            using (var conn = CreateConnection())
            {
                SqlCommand cmd = new SqlCommand("addSongWithAlbum", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@songName", SqlDbType.VarChar, 50).Value = song.SongName;
                cmd.Parameters.Add("@songLength", SqlDbType.Int, 4).Value = song.Length;
                cmd.Parameters.Add("@bandName", SqlDbType.VarChar, 50).Value = song.BandName;
                cmd.Parameters.Add("@albumId", SqlDbType.Int, 4).Value = albumId;
                cmd.Parameters.Add("@trackNr", SqlDbType.TinyInt, 1).Value = song.TrackNr;
                cmd.Parameters.Add("@songId", SqlDbType.Int, 4).Direction = ParameterDirection.Output;

                conn.Open();
                cmd.ExecuteNonQuery();

                song.SongId = (int)cmd.Parameters["@songId"].Value;
            }
        }
 public void saveSong(Song song, int albumId)
 {
     ICollection<ValidationResult> validationResult;
     if (!song.Validate(out validationResult))
     {
         var vx = new ValidationException("Objectet klarade inte validering.");
         vx.Data.Add("validationResult", validationResult);
         throw vx;
     }
     if (song.SongId == 0)
     {
         Song.AddSong(song, albumId);
     }
     else
     {
         Song.UpdateSong(song, albumId);
     }
 }
        public void UpdateSong(Song song, int albumId)
        {
            using (var conn = CreateConnection())
            {
                SqlCommand cmd = new SqlCommand("updateSong", conn);
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add("@songId", SqlDbType.Int, 4).Value = song.SongId;
                cmd.Parameters.Add("@songName", SqlDbType.VarChar, 50).Value = song.SongName;
                cmd.Parameters.Add("@bandName", SqlDbType.VarChar, 50).Value = song.BandName;
                cmd.Parameters.Add("@length", SqlDbType.Int, 2).Value = song.Length;
                cmd.Parameters.Add("@trackNr", SqlDbType.TinyInt, 1).Value = song.TrackNr;

                conn.Open();
                cmd.ExecuteNonQuery();
            }
        }