/// <summary> /// Crea un objeto usuario y lo guarda en la DB /// </summary> /// <param name="nombre">Nombre del usuario</param> /// <param name="dni">DNI del usuario</param> /// <param name="email">email del usuario</param> public void Nuevo(string nombre, int dni, string email) { if (string.IsNullOrEmpty(nombre) || string.IsNullOrEmpty(email)) { throw new Exception("Debe completar todos los campos"); } if (_usuarios.BuscarPorDni(dni) != null) { throw new Exception("Ya existe un usuario con ese dni"); } if (_usuarios.BuscarPorEmail(email) != null) { throw new Exception("Ya existe usuario con ese email"); } Usuario oUsuario = new Usuario(nombre, Convert.ToInt32(dni), email); _usuarios.Agregar(oUsuario); }
/// <summary> /// Agrega un rol estudiante en la DB. Si el usuario no existe, tambien lo crea. /// </summary> /// <param name="dni">DNI del estudiante</param> /// <param name="nombre">Nombre del estudiante</param> /// <param name="email">Email del estudiante</param> /// <param name="director_id">ID del director asociado que crea al estudiante.</param> public void Nuevo(int dni, string nombre, string email, int director_id) { if (String.IsNullOrEmpty(nombre) || String.IsNullOrEmpty(email)) { throw new Exception("Debe completar todos los campos"); } TipoRol oTipo = _tipos.BuscarPorNombre("Estudiante"); Usuario director = _usuarios.BuscarPorId(director_id), oUser = _usuarios.BuscarPorDni(dni); director.ListaRoles = roles.TraerActivos(director_id); Establecimiento oEstablecimiento = director.ListaRoles.First(p => p.Tipo.Nombre == "Director").Establecimiento; NivelEducativo oNivel = director.ListaRoles.First(p => p.Tipo.Nombre == "Director").Nivel; if (oUser == null) { if (_usuarios.BuscarPorEmail(email) != null) { throw new Exception("Ya existe un estudiante con ese email"); } oUser = new Usuario(nombre, dni, email); oUser.Id = _usuarios.Nuevo(oUser); } if (roles.EsEstudiante(oUser.Id, _establecimientos_niveles.BuscarPorParametros(oEstablecimiento.Id, oNivel.Id))) { throw new Exception("Este usuario ya tiene el rol estudiante en su institucion."); } Rol oRol = new Rol(oTipo, oUser, oEstablecimiento, oNivel); roles.Nuevo(oRol); }