public override void BuildGenero(Genero genero) { materialDiscografico.Genero = genero; }
public abstract void BuildGenero(Genero genero);
static void Main(string[] args) { int numeroDeCancion = 1; // MATERIAL DISCOGRAFICO String nombre; Double precio; int stock; // AUTOR Autor autor; String nombreArtista; String descripcionArtista; // GENERO Genero genero; String descripcionGenero; // TIPO MATERIAL DISCOGRAFICO String nombreMaterialDiscografico; // CANCIONES List <Cancion> canciones = new List <Cancion>(); Cancion cancion; String nombreCancion; int duracionSegundos; char respuesta; // MATERIAL DISCOGRAFICO Console.Write("Ingrese el nombre del nuevo material: "); nombre = Console.ReadLine(); Console.Write("Ingrese el precio del nuevo material: "); precio = Convert.ToDouble(Console.ReadLine()); Console.Write("Ingrese el stock del nuevo material: "); stock = Convert.ToInt32(Console.ReadLine()); // AUTOR Console.Write("Ingrese el nombre del artista: "); nombreArtista = Console.ReadLine(); Console.Write("Ingrese descripcion del artista: "); descripcionArtista = Console.ReadLine(); autor = new Autor(nombreArtista, descripcionArtista); // GENERO Console.Write("Ingrese el nombre del genero: "); descripcionGenero = Console.ReadLine(); genero = new Genero(descripcionGenero); do { // CANCIONES Console.WriteLine("\nCancion " + numeroDeCancion.ToString()); Console.Write("Ingrese el nombre de la canción: "); nombreCancion = Console.ReadLine(); Console.Write("Ingrese la duracion de la cancion en segundos: "); duracionSegundos = Convert.ToInt32(Console.ReadLine()); cancion = new Cancion(nombreCancion, duracionSegundos); canciones.Add(cancion); numeroDeCancion++; Console.Write("Desea seguir agregando canciones? (S/N): "); respuesta = Console.ReadKey().KeyChar; Console.ReadKey(); } while (respuesta == 'S'); // BUILDER MATERIAL DISCOGRAFICO MaterialDiscograficoBuilder materialDiscograficoBuilder; Director director = new Director(); Console.Write("Ingrese DISCO (D) O VINILO (V): "); respuesta = Console.ReadKey().KeyChar; Console.Clear(); if (respuesta == 'D') { materialDiscograficoBuilder = new DiscoCompactoBuilder(); } else { materialDiscograficoBuilder = new ViniloBuilder(); } director.Construir(materialDiscograficoBuilder, nombre, precio, stock, genero, autor, canciones); // MOSTRAR DATOS Console.WriteLine(materialDiscograficoBuilder.MaterialDiscografico.reportarDatos()); Console.ReadKey(); }
static void Main(string[] args) { int numeroDeCancion = 1; // MATERIAL DISCOGRAFICO String nombre; Double precio; int stock; // AUTOR Autor autor; String nombreArtista; String descripcionArtista; // GENERO Genero genero; String descripcionGenero; // TIPO MATERIAL DISCOGRAFICO TipoMaterialDiscografico tipoMaterialDiscografico; String nombreMaterialDiscografico; // CANCIONES List <Cancion> canciones = new List <Cancion>(); Cancion cancion; String nombreCancion; int duracionSegundos; char respuesta; // MATERIAL DISCOGRAFICO Console.Write("Ingrese el nombre del nuevo material: "); nombre = Console.ReadLine(); Console.Write("Ingrese el precio del nuevo material: "); precio = Convert.ToDouble(Console.ReadLine()); Console.Write("Ingrese el stock del nuevo material: "); stock = Convert.ToInt32(Console.ReadLine()); // AUTOR Console.Write("Ingrese el nombre del artista: "); nombreArtista = Console.ReadLine(); Console.Write("Ingrese descripcion del artista: "); descripcionArtista = Console.ReadLine(); autor = new Autor(nombreArtista, descripcionArtista); // GENERO Console.Write("Ingrese el nombre del genero: "); descripcionGenero = Console.ReadLine(); genero = new Genero(descripcionGenero); // TIPO MATERIAL DISCOGRAFICO Console.Write("Ingrese el nombre del tipo de material discografico: "); nombreMaterialDiscografico = Console.ReadLine(); tipoMaterialDiscografico = new TipoMaterialDiscografico(nombreMaterialDiscografico); do { // CANCIONES Console.WriteLine("\nCancion " + numeroDeCancion.ToString()); Console.Write("Ingrese el nombre de la canción: "); nombreCancion = Console.ReadLine(); Console.Write("Ingrese la duracion de la cancion en segundos: "); duracionSegundos = Convert.ToInt32(Console.ReadLine()); cancion = new Cancion(nombreCancion, duracionSegundos); canciones.Add(cancion); numeroDeCancion++; Console.Write("Desea seguir agregando canciones? (S/N): "); respuesta = Console.ReadKey().KeyChar; Console.ReadKey(); } while (respuesta == 'S'); Console.Clear(); // BUILDER MATERIAL DISCOGRAFICO MaterialDiscograficoBuilder builderMaterialDiscografico = new MaterialDiscograficoBuilder(); MaterialDiscografico materialDiscografico = builderMaterialDiscografico .ConNombre(nombre) .TienePrecio(precio) .EnStock(stock) .ComoAutor(autor) .ComoCanciones(canciones) .ComoGenero(genero) .ComoTipoMaterialDiscografico(tipoMaterialDiscografico) .BuildMaterialDiscografico(); // REPORTAR Console.Write(materialDiscografico.reportarDatos()); Console.ReadKey(); }
public void Construir(MaterialDiscograficoBuilder materialDiscograficoBuilder, String nombre, Double precio, int stock, Genero genero, Autor autor, List <Cancion> canciones) { materialDiscograficoBuilder.BuildNombre(nombre); materialDiscograficoBuilder.BuildPrecio(precio); materialDiscograficoBuilder.BuildStock(stock); materialDiscograficoBuilder.BuildGenero(genero); materialDiscograficoBuilder.BuildAutor(autor); materialDiscograficoBuilder.BuildCanciones(canciones); }