import 'package:flutter/material.dart'; import 'package:tm_app/core/utils/result.dart'; import 'package:tm_app/data/repositories/tender_detail_repository.dart'; import 'package:tm_app/data/services/model/tender_detail_response/tender_detail_response_model.dart'; class TenderDetailViewModel with ChangeNotifier { final TenderDetailRepository _tenderDetailRepository; TenderDetailViewModel({required TenderDetailRepository tenderDetailRepository}) : _tenderDetailRepository = tenderDetailRepository; bool _isLoading = false; String? _errorMessage; TenderDetailResponseModel? _tenderDetail; bool get isLoading => _isLoading; String? get errorMessage => _errorMessage; TenderDetailResponseModel? get tenderDetail => _tenderDetail; Future getTenderDetail({required String id}) async { _isLoading = true; _errorMessage = null; notifyListeners(); final result = await _tenderDetailRepository.getTenderDetail(id: id); switch (result) { case Ok(): _tenderDetail = result.value; break; case Error(): _errorMessage = result.error.toString(); break; } _isLoading = false; notifyListeners(); } }