-- ══════════════════════════════════════════════════════════════════
-- DATOS INICIALES: Banda
-- ══════════════════════════════════════════════════════════════════

USE Banda;
GO

-- ══════════════════════════════════════════════════════════════════
-- ARTISTAS
-- ══════════════════════════════════════════════════════════════════

INSERT INTO Artista (Nombre, Descripcion, FotoRuta, IndMiembro, Orden) VALUES
(N'7THCA', NULL, NULL, 0, 0);
DECLARE @Id7THCA INT = SCOPE_IDENTITY();

INSERT INTO Artista (Nombre, Descripcion, FotoRuta, IndMiembro, Orden) VALUES
(N'Claudio González',
 N'El cerebro detrás de las capas atmosféricas de 7THCA. Claudio fusiona el piano clásico con la síntesis moderna para crear paisajes sonoros expansivos. Su enfoque en la composición se basa en la estructura armónica y la experimentación digital, definiendo el color característico de la banda.',
 NULL, 1, 1);
DECLARE @IdClaudio INT = SCOPE_IDENTITY();

INSERT INTO Artista (Nombre, Descripcion, FotoRuta, IndMiembro, Orden) VALUES
(N'Jorge Albornoz',
 N'El pulso orgánico y la fuerza rítmica del dúo. Jorge aporta la calidez de las cuerdas, desde bajos profundos hasta guitarras con texturas progresivas. Como co-compositor, Jorge integra elementos del rock y el jazz dentro de las estructuras electrónicas, dando a la música una energía única y humana.',
 NULL, 1, 2);
DECLARE @IdJorge INT = SCOPE_IDENTITY();

INSERT INTO Artista (Nombre, Descripcion, FotoRuta, IndMiembro, Orden) VALUES
(N'Lucy Bellalta', N'Joven cantante talentosa, grabó la voz de la versión acústica de Just Another Day.', NULL, 0, 0);
DECLARE @IdLucy INT = SCOPE_IDENTITY();

-- ══════════════════════════════════════════════════════════════════
-- ARTISTA ROL
-- ══════════════════════════════════════════════════════════════════

DECLARE @IdRolSintetizadores INT = (SELECT IdRol FROM Rol WHERE Descripcion = N'Sintetizadores');
DECLARE @IdRolGuitarras      INT = (SELECT IdRol FROM Rol WHERE Descripcion = N'Guitarras');
DECLARE @IdRolComposicion    INT = (SELECT IdRol FROM Rol WHERE Descripcion = N'Composición');

INSERT INTO ArtistaRol (IdArtista, IdRol) VALUES (@IdClaudio, @IdRolSintetizadores);
INSERT INTO ArtistaRol (IdArtista, IdRol) VALUES (@IdClaudio, @IdRolComposicion);
INSERT INTO ArtistaRol (IdArtista, IdRol) VALUES (@IdJorge,   @IdRolGuitarras);
INSERT INTO ArtistaRol (IdArtista, IdRol) VALUES (@IdJorge,   @IdRolComposicion);

-- ══════════════════════════════════════════════════════════════════
-- ÁLBUMES
-- ══════════════════════════════════════════════════════════════════

DECLARE @IdTipoSingle INT = (SELECT IdTipoAlbum FROM TipoAlbum WHERE Descripcion = N'Single');
DECLARE @IdTipoAlbum  INT = (SELECT IdTipoAlbum FROM TipoAlbum WHERE Descripcion = N'Álbum');

-- Singles lanzados (aparecen en Últimos Lanzamientos)
INSERT INTO Album (Titulo, IdTipoAlbum, FechaLanzamiento, PortadaRuta, IndUltimosLanzamientos) VALUES
(N'Just Another Day', @IdTipoSingle, NULL, NULL, 1);
DECLARE @IdSingleJAD INT = SCOPE_IDENTITY();

INSERT INTO Album (Titulo, IdTipoAlbum, FechaLanzamiento, PortadaRuta, IndUltimosLanzamientos) VALUES
(N'Just Another Day (Acústico)', @IdTipoSingle, NULL, NULL, 1);
DECLARE @IdSingleJADAc INT = SCOPE_IDENTITY();

-- Álbumes (aún no lanzados)
INSERT INTO Album (Titulo, IdTipoAlbum, FechaLanzamiento, PortadaRuta, IndUltimosLanzamientos) VALUES
(N'The Midnight Drive', @IdTipoAlbum, NULL, NULL, 0);
DECLARE @IdAlbumMD INT = SCOPE_IDENTITY();

INSERT INTO Album (Titulo, IdTipoAlbum, FechaLanzamiento, PortadaRuta, IndUltimosLanzamientos) VALUES
(N'Life', @IdTipoAlbum, NULL, NULL, 0);
DECLARE @IdAlbumLife INT = SCOPE_IDENTITY();

-- ══════════════════════════════════════════════════════════════════
-- ÁLBUM — ARTISTAS (créditos)
-- ══════════════════════════════════════════════════════════════════

DECLARE @IdTCPrincipal INT = (SELECT IdTipoCredito FROM TipoCredito WHERE Descripcion = N'Artista Principal');
DECLARE @IdTCInvitado  INT = (SELECT IdTipoCredito FROM TipoCredito WHERE Descripcion = N'Artista Invitado');

INSERT INTO AlbumArtista (IdAlbum, IdArtista, IdTipoCredito) VALUES (@IdSingleJAD,   @Id7THCA, @IdTCPrincipal);
INSERT INTO AlbumArtista (IdAlbum, IdArtista, IdTipoCredito) VALUES (@IdSingleJADAc, @Id7THCA, @IdTCPrincipal);
INSERT INTO AlbumArtista (IdAlbum, IdArtista, IdTipoCredito) VALUES (@IdSingleJADAc, @IdLucy,  @IdTCInvitado);
INSERT INTO AlbumArtista (IdAlbum, IdArtista, IdTipoCredito) VALUES (@IdAlbumMD,     @Id7THCA, @IdTCPrincipal);
INSERT INTO AlbumArtista (IdAlbum, IdArtista, IdTipoCredito) VALUES (@IdAlbumLife,   @Id7THCA, @IdTCPrincipal);

-- ══════════════════════════════════════════════════════════════════
-- CANCIONES
-- ══════════════════════════════════════════════════════════════════

DECLARE @IdEstadoDisponible   INT = (SELECT IdTipoEstadoCancion FROM TipoEstadoCancion WHERE Descripcion = N'Disponible');
DECLARE @IdEstadoProximamente INT = (SELECT IdTipoEstadoCancion FROM TipoEstadoCancion WHERE Descripcion = N'Próximamente');

INSERT INTO Cancion (Titulo, IdTipoEstadoCancion, DuracionSegundos, AudioRuta) VALUES
(N'Just Another Day', @IdEstadoDisponible, 222, N'assets/audio/just-another-day.mp3');
DECLARE @IdCancionJAD INT = SCOPE_IDENTITY();

INSERT INTO Cancion (Titulo, IdTipoEstadoCancion, DuracionSegundos, AudioRuta) VALUES
(N'Just Another Day (Acústico)', @IdEstadoDisponible, 245, N'assets/audio/just-another-day-acustico.mp3');
DECLARE @IdCancionJADAc INT = SCOPE_IDENTITY();

INSERT INTO Cancion (Titulo, IdTipoEstadoCancion, DuracionSegundos, AudioRuta) VALUES
(N'The Midnight Drive', @IdEstadoProximamente, 317, NULL);
DECLARE @IdCancionMD INT = SCOPE_IDENTITY();

INSERT INTO Cancion (Titulo, IdTipoEstadoCancion, DuracionSegundos, AudioRuta) VALUES
(N'Permanent Postcard', @IdEstadoProximamente, NULL, NULL);
DECLARE @IdCancionPP INT = SCOPE_IDENTITY();

INSERT INTO Cancion (Titulo, IdTipoEstadoCancion, DuracionSegundos, AudioRuta) VALUES
(N'The Ascent', @IdEstadoProximamente, 363, NULL);
DECLARE @IdCancionAscent INT = SCOPE_IDENTITY();

-- ══════════════════════════════════════════════════════════════════
-- ÁLBUM — CANCIONES (tracklist)
-- Una canción puede pertenecer a su single Y al álbum
-- ══════════════════════════════════════════════════════════════════

-- Singles
INSERT INTO AlbumCancion (IdAlbum, IdCancion, NumeroPista) VALUES (@IdSingleJAD,   @IdCancionJAD,    1);
INSERT INTO AlbumCancion (IdAlbum, IdCancion, NumeroPista) VALUES (@IdSingleJADAc, @IdCancionJADAc,  1);

-- Álbum "The Midnight Drive"
INSERT INTO AlbumCancion (IdAlbum, IdCancion, NumeroPista) VALUES (@IdAlbumMD, @IdCancionMD, 1);
INSERT INTO AlbumCancion (IdAlbum, IdCancion, NumeroPista) VALUES (@IdAlbumMD, @IdCancionPP, 2);

-- Álbum "Life" (las mismas canciones del single + The Ascent)
INSERT INTO AlbumCancion (IdAlbum, IdCancion, NumeroPista) VALUES (@IdAlbumLife, @IdCancionJAD,    1);
INSERT INTO AlbumCancion (IdAlbum, IdCancion, NumeroPista) VALUES (@IdAlbumLife, @IdCancionJADAc,  2);
INSERT INTO AlbumCancion (IdAlbum, IdCancion, NumeroPista) VALUES (@IdAlbumLife, @IdCancionAscent, 3);

-- ══════════════════════════════════════════════════════════════════
-- CANCIÓN — ARTISTAS (créditos)
-- ══════════════════════════════════════════════════════════════════

DECLARE @IdTCCompositor INT = (SELECT IdTipoCredito FROM TipoCredito WHERE Descripcion = N'Compositor');

-- Just Another Day
INSERT INTO CancionArtista (IdCancion, IdArtista, IdTipoCredito) VALUES (@IdCancionJAD, @Id7THCA,   @IdTCPrincipal);
INSERT INTO CancionArtista (IdCancion, IdArtista, IdTipoCredito) VALUES (@IdCancionJAD, @IdClaudio, @IdTCCompositor);
INSERT INTO CancionArtista (IdCancion, IdArtista, IdTipoCredito) VALUES (@IdCancionJAD, @IdJorge,   @IdTCCompositor);

-- Just Another Day (Acústico)
INSERT INTO CancionArtista (IdCancion, IdArtista, IdTipoCredito) VALUES (@IdCancionJADAc, @Id7THCA, @IdTCPrincipal);
INSERT INTO CancionArtista (IdCancion, IdArtista, IdTipoCredito) VALUES (@IdCancionJADAc, @IdLucy,  @IdTCInvitado);

-- The Midnight Drive
INSERT INTO CancionArtista (IdCancion, IdArtista, IdTipoCredito) VALUES (@IdCancionMD, @Id7THCA, @IdTCPrincipal);

-- Permanent Postcard
INSERT INTO CancionArtista (IdCancion, IdArtista, IdTipoCredito) VALUES (@IdCancionPP, @Id7THCA, @IdTCPrincipal);

-- The Ascent
INSERT INTO CancionArtista (IdCancion, IdArtista, IdTipoCredito) VALUES (@IdCancionAscent, @Id7THCA, @IdTCPrincipal);

-- ══════════════════════════════════════════════════════════════════
-- VIDEOS
-- YoutubeId pendiente de confirmar
-- ══════════════════════════════════════════════════════════════════

INSERT INTO Video (Titulo, YoutubeId, IdCancion, FechaPublicacion) VALUES
(N'Just Another Day (w/lyrics)',                       NULL, @IdCancionJAD,   NULL);

INSERT INTO Video (Titulo, YoutubeId, IdCancion, FechaPublicacion) VALUES
(N'Just Another Day – Acústico (feat. Lucy Bellalta)', NULL, @IdCancionJADAc, NULL);
GO
