public Autor(string nombre, string apellido, DateTime fechaDeNacimiento, IServicioEditorial servicioEditorial) { if (nombre == null) { throw new ArgumentNullException(nameof(nombre), "Nombre no puede ser null."); } if (apellido == null) { throw new ArgumentNullException(nameof(apellido), "Apellido no puede ser null."); } if (string.IsNullOrWhiteSpace(nombre)) { throw new ArgumentException("Nombre no puede ser un string vacío.", nameof(nombre)); } if (string.IsNullOrWhiteSpace(apellido)) { throw new ArgumentException("Apellido no puede ser un string vacío.", nameof(apellido)); } if (fechaDeNacimiento < DateTime.MinValue) { throw new ArgumentException($"Fecha de nacimiento no puede ser menor a {DateTime.MinValue.ToString("dd-MM-yyyy")}.", nameof(fechaDeNacimiento)); } if (servicioEditorial == null) { throw new ArgumentNullException(nameof(servicioEditorial), "Servicio editorial no puede ser null."); } Nombre = nombre; Apellido = apellido; FechaDeNacimiento = fechaDeNacimiento; Edad = CalcularEdad(fechaDeNacimiento); _servicioEditorial = servicioEditorial; LibroAgregado += delegate { }; LibroEliminado += delegate { }; ErrorAgregandoLibro += delegate { }; }
public Autor(string nombre, string apellido, DateTime fechaDeNacimiento, IEnumerable <Libro> libros, IServicioEditorial servicioEditorial) : this(nombre, apellido, fechaDeNacimiento, servicioEditorial) { if (libros == null) { throw new ArgumentNullException(nameof(libros), "Libros no puede ser null."); } if (libros.Count() == 0) { throw new ArgumentException(nameof(libros), "Libros no puede ser una colección vacía."); } _libros = libros.ToList(); }