puntaje pro
This commit is contained in:
@@ -9,6 +9,8 @@ import 'package:prosappco/src/components/pop_appbar.dart';
|
||||
import 'package:prosappco/src/models/score_model.dart';
|
||||
import 'package:prosappco/src/screens/professional_info.dart';
|
||||
|
||||
import '../models/score_model2.dart';
|
||||
|
||||
class ProfessionalScreen extends StatefulWidget {
|
||||
const ProfessionalScreen({super.key});
|
||||
|
||||
@@ -29,7 +31,7 @@ class Professional {
|
||||
final String cityName;
|
||||
final String ubicacion;
|
||||
final List<String> professionalEspecializado;
|
||||
final ScoreModel puntuacion;
|
||||
final ScoresModel scores;
|
||||
|
||||
Professional({
|
||||
required this.professionalRef,
|
||||
@@ -38,7 +40,7 @@ class Professional {
|
||||
required this.cityName,
|
||||
required this.ubicacion,
|
||||
required this.professionalEspecializado,
|
||||
required this.puntuacion,
|
||||
required this.scores,
|
||||
});
|
||||
|
||||
String getEspecializaciones() {
|
||||
@@ -56,6 +58,42 @@ class Professional {
|
||||
' professionalEspecializado: ${getEspecializaciones()}\n'
|
||||
'}';
|
||||
}
|
||||
|
||||
static Future<Professional?> getProfessional(String uid) async {
|
||||
var photo = '...';
|
||||
final FirebaseStorage storage = FirebaseStorage.instance;
|
||||
|
||||
try {
|
||||
DocumentSnapshot user =
|
||||
await FirebaseFirestore.instance.collection('users').doc(uid).get();
|
||||
|
||||
Map<String, dynamic> data = user.data() as Map<String, dynamic>;
|
||||
|
||||
photo = await AuthenticationRepository.instance.getPhoto(user.id);
|
||||
|
||||
if (data['estado'] == 'activo') {
|
||||
List<String> especializaciones;
|
||||
|
||||
especializaciones = (data['especializaciones'] as List<dynamic>)
|
||||
.map((e) => e.toString())
|
||||
.toList();
|
||||
|
||||
Professional professional = Professional(
|
||||
name: data['name'],
|
||||
professionName: data['profesion'],
|
||||
cityName: data['city'],
|
||||
professionalRef: storage.ref().child(photo),
|
||||
professionalEspecializado: especializaciones,
|
||||
ubicacion: data['ubicacion'] ?? '',
|
||||
scores: await ScoresModel.scoreFrom(uid, true),
|
||||
);
|
||||
return professional;
|
||||
}
|
||||
} catch (e) {
|
||||
print('Error al obtener profesionales: $e');
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
Future<List<Professional>> getProfessionals() async {
|
||||
@@ -84,7 +122,7 @@ Future<List<Professional>> getProfessionals() async {
|
||||
professionalRef: storage.ref().child(_photo),
|
||||
professionalEspecializado: especializaciones,
|
||||
ubicacion: data['ubicacion'] ?? '',
|
||||
puntuacion: await ScoreModel.fromJson(data['puntuacion'], true),
|
||||
scores: await ScoresModel.scoreTo(user.id, true),
|
||||
);
|
||||
professionals.add(professional);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user