schedule_view_model.dart 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import 'package:computo_lite/services/services.dart';
  2. import 'package:computo_lite/viewmodels/login_view_model.dart';
  3. import 'package:firebase_auth/firebase_auth.dart';
  4. import 'package:http/http.dart' as http;
  5. import 'dart:convert';
  6. import '../data/session/session_storage.dart';
  7. const List<int> idsTipoBodegaDisabled = [0, 1, 2, 3, 4, 5, 7, 9, 10, 11, 13];
  8. class ScheduleViewModel {
  9. final BaseService _services = BaseService();
  10. //final LoginViewModel _loginViewModel = LoginViewModel.instance();
  11. Future<List<Map<String, dynamic>>> getSchedules(
  12. List<int> ignoreIds, List<String> idsTipoAgenda, int idTipoAgenda) async {
  13. try {
  14. String url =
  15. "agenda?limite=-1&ordenar=nombre.asc&idTipoAgenda=$idTipoAgenda&idTipoAgenda2=${idsTipoAgenda.join(",")}";
  16. //User? userAuth = _loginViewModel.getUserAuth();
  17. String? userToken = await SessionStorage().getToken();
  18. http.Response? jsonResponse = await _services.get(url);
  19. Map<String, dynamic> response = json.decode(jsonResponse!.body);
  20. return List<Map<String, dynamic>>.from(response["resultado"])
  21. .where((Map<String, dynamic> agenda) =>
  22. !ignoreIds.contains(agenda["idAgenda"]))
  23. .toList();
  24. } catch (e) {
  25. print(e);
  26. return [];
  27. }
  28. }
  29. Future<List<Map<String, dynamic>>> getTiposAgenda() async {
  30. String url = "agenda/tipo-agenda?ordenar=idTipoAsistente.desc";
  31. String? userToken = await SessionStorage().getToken();
  32. http.Response? jsonResponse = await _services.get(url);
  33. Map<String, dynamic> response = json.decode(jsonResponse!.body);
  34. List<Map<String, dynamic>> tipos =
  35. List<Map<String, dynamic>>.from(response["resultado"]);
  36. return tipos
  37. .where((Map<String, dynamic> agenda) =>
  38. !idsTipoBodegaDisabled.contains(agenda["id"]))
  39. .toList();
  40. }
  41. }