Files
tm_app/lib/view_models/your_tenders_view_model.dart
T
2025-08-11 15:52:13 +03:30

38 lines
1.1 KiB
Dart

import 'package:flutter/material.dart';
import 'package:tm_app/core/utils/result.dart';
import 'package:tm_app/data/repositories/your_tenders_repository.dart';
import 'package:tm_app/data/services/model/your_tender_model_request/your_tenders_request_model.dart';
import 'package:tm_app/data/services/model/your_tender_model_response/your_tender_model_response.dart';
class YourTendersViewModel with ChangeNotifier {
final YourTendersRepository yourTendersRepository;
YourTendersViewModel({required this.yourTendersRepository}) {
getTenders();
}
bool isLoading = false;
String? errorMessage;
YourTendersResponseModel? data;
Future<void> getTenders() async {
isLoading = true;
notifyListeners();
final result = await yourTendersRepository.getYourTenders(
request: const YourTendersRequestModel(id: '1'),
);
switch (result) {
case Ok<YourTendersResponseModel>():
data = result.value;
break;
case Error<YourTendersResponseModel>():
errorMessage = result.error.toString();
break;
}
isLoading = false;
notifyListeners();
}
}