33namespace Library
44{
55 /// <summary>
6- /// Representa un administrador dentro del sistema.
7- /// Implementa la interfaz <see cref="IUsuario"/> y permite gestionar usuarios
8- /// (crearlos, suspenderlos, eliminarlos y mostrarlos) mediante el <see cref="GestorUsuarios"/>.
6+ /// Representa un administrador del sistema.
7+ /// Puede crear y administrar usuarios.
98 /// </summary>
10- public class Administrador : IUsuario
9+ public class Administrador : UsuarioBase
1110 {
12- /// <summary>
13- /// Identificador único del administrador.
14- /// </summary>
15- public int Id { get ; set ; }
16-
17- /// <summary>
18- /// Indica si el administrador está activo.
19- /// </summary>
20- public bool Activo { get ; set ; }
21-
22- /// <summary>
23- /// Fecha en que se creó el administrador.
24- /// </summary>
25- public DateTime FechaCreacion { get ; set ; }
11+ public Administrador ( bool activo , DateTime fechaCreacion )
12+ : base ( activo , fechaCreacion ) { }
2613
2714 /// <summary>
28- /// Constructor de la clase <see cref="Administrador"/> .
15+ /// Solicita crear un nuevo vendedor .
2916 /// </summary>
30- /// <param name="activo">Estado de actividad del administrador.</param>
31- /// <param name="fechaCreacion">Fecha de creación del administrador.</param>
32- public Administrador ( bool activo , DateTime fechaCreacion )
17+ public Vendedor CrearVendedor ( )
3318 {
34- Activo = activo ;
35- FechaCreacion = fechaCreacion ;
36- Id = 0 ; // se puede asignar luego desde GestorUsuarios si se desea
19+ return GestorUsuarios . Instancia . CrearVendedor ( true , DateTime . Now ) ;
3720 }
3821
3922 /// <summary>
40- /// Crea un nuevo usuario activo y lo agrega al <see cref="GestorUsuarios"/> .
23+ /// Solicita crear otro administrador .
4124 /// </summary>
42- /// <param name="nombre">Nombre del nuevo usuario.</param>
43- /// <param name="apellido">Apellido del nuevo usuario.</param>
44- /// <param name="email">Correo electrónico del nuevo usuario.</param>
45- /// <returns>El usuario recién creado.</returns>
46- public Usuario CrearUsuario ( string nombre , string apellido , string email )
25+ public Administrador CrearAdministrador ( )
4726 {
48- // Por ahora, ignoramos nombre/apellido/email (como en tu comentario)
49- int nuevoId = GestorUsuarios . Instancia . AgregarUsuario ( true , DateTime . Now ) ;
50- Usuario nuevo = GestorUsuarios . Instancia . ObtenerUsuario ( nuevoId ) ;
51-
52- Console . WriteLine ( $ "Usuario creado con ID { nuevo . Id } .") ;
53- return nuevo ;
27+ return GestorUsuarios . Instancia . CrearAdministrador ( true , DateTime . Now ) ;
5428 }
5529
5630 /// <summary>
57- /// Suspende un usuario existente estableciendo su estado como inactivo .
31+ /// Suspende a un usuario (Activa = false) .
5832 /// </summary>
59- /// <param name="idUsuario">ID del usuario a suspender .</param >
60- public void SuspenderUsuario ( int idUsuario )
33+ /// <returns>true si la operación tuvo éxito .</returns >
34+ public bool SuspenderUsuario ( int idUsuario )
6135 {
62- Usuario usuario = GestorUsuarios . Instancia . ObtenerUsuario ( idUsuario ) ;
63-
64- if ( usuario != null )
65- {
66- usuario . Activo = false ;
67- Console . WriteLine ( $ "Usuario { idUsuario } suspendido.") ;
68- }
69- else
70- {
71- Console . WriteLine ( $ "No se encontró el usuario con ID { idUsuario } .") ;
72- }
36+ return GestorUsuarios . Instancia . ActualizarActivo ( idUsuario , false ) ;
7337 }
7438
7539 /// <summary>
76- /// Elimina un usuario del sistema utilizando el <see cref="GestorUsuarios"/> .
40+ /// Elimina a un usuario del sistema.
7741 /// </summary>
78- /// <param name="idUsuario">ID del usuario a eliminar.</param>
79- public void EliminarUsuario ( int idUsuario )
42+ public bool EliminarUsuario ( int idUsuario )
8043 {
81- bool eliminado = GestorUsuarios . Instancia . EliminarUsuario ( idUsuario ) ;
82-
83- if ( eliminado )
84- Console . WriteLine ( $ "Usuario { idUsuario } eliminado correctamente.") ;
85- else
86- Console . WriteLine ( $ "No se pudo eliminar: usuario { idUsuario } no encontrado.") ;
44+ return GestorUsuarios . Instancia . EliminarUsuario ( idUsuario ) ;
8745 }
8846
8947 /// <summary>
90- /// Muestra en consola todos los usuarios gestionados por el <see cref="GestorUsuarios"/> .
48+ /// Devuelve la lista de usuarios registrados en el sistema .
9149 /// </summary>
92- public void MostrarUsuarios ( )
50+ public System . Collections . Generic . List < IUsuario > ObtenerUsuarios ( )
9351 {
94- GestorUsuarios . Instancia . MostrarTodosUsuarios ( ) ;
52+ return GestorUsuarios . Instancia . ObtenerTodos ( ) ;
9553 }
9654 }
97- }
55+ }
0 commit comments