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_data/tender_data.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; TenderData? _tenderDetail; bool get isLoading => _isLoading; String? get errorMessage => _errorMessage; TenderData? get tenderDetail => _tenderDetail; Future getTenderDetail({required String id}) async { _isLoading = true; _errorMessage = null; notifyListeners(); final result = await _tenderDetailRepository.getTenderDetail(tenderId: id); switch (result) { case Ok(): _tenderDetail = result.value.data; break; case Error(): _errorMessage = result.error.toString(); break; } _isLoading = false; notifyListeners(); } }