/// <summary> /// Marca como activo el rol especificado /// </summary> /// <param name="id">ID del rol a activar</param> public void Reactivar(int id) { Rol oRol = _roles.BuscarPorId(id); if (oRol == null) { throw new Exception("No existe rol con ese ID"); } if (DateTime.Compare(oRol.Tipo.Borrado, DateTime.Now) < 0) { throw new Exception("No se puede activar un rol cuyo tipo está desactivado"); } if (DateTime.Compare(oRol.Usuario.Borrado, DateTime.Now) < 0) { throw new Exception("No se puede activar un rol cuyo usuario está desactivado"); } if (oRol.Establecimiento != null) { if (DateTime.Compare(oRol.Establecimiento.Borrado, DateTime.Now) < 0) { throw new Exception("No se puede activar un rol cuyo establecimiento está desactivado"); } } if (oRol.Nivel != null) { if (DateTime.Compare(oRol.Nivel.Borrado, DateTime.Now) < 0) { throw new Exception("No se puede activar un rol cuyo nivel está desactivado"); } } if (_roles.TieneRolActivo(oRol.Usuario.Id, oRol.Tipo.Id)) { throw new Exception("El usuario ya tiene ese rol activo"); } _roles.Reactivar(id); }