Beispiel #1
0
        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 { };
        }
Beispiel #2
0
        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();
        }