Fixed your tender and recommendedTenders in home
This commit is contained in:
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:tm_app/core/utils/result.dart';
|
||||
import 'package:tm_app/data/services/model/home/home_request/home_request_model.dart';
|
||||
import 'package:tm_app/data/services/model/recommended_tenders_response/recommended_tenders_response.dart';
|
||||
import 'package:tm_app/data/services/model/tender_approvals_response/tender_approvals_response.dart';
|
||||
import 'package:tm_app/data/services/model/tender_data/tender_data.dart';
|
||||
|
||||
import '../data/repositories/home_repository.dart';
|
||||
@@ -11,14 +12,15 @@ class HomeViewModel with ChangeNotifier {
|
||||
final HomeRepository _homeRepository;
|
||||
|
||||
HomeViewModel({required HomeRepository homeRepository})
|
||||
: _homeRepository = homeRepository {
|
||||
: _homeRepository = homeRepository {
|
||||
getHome(homeRequestModel: HomeRequestModel(id: '1'));
|
||||
getHomeRecommandTenders(reset: true);
|
||||
getYourTenders();
|
||||
}
|
||||
|
||||
bool _isLoading = false;
|
||||
String? _errorMessage;
|
||||
HomeResponseModel? _homeResponse;
|
||||
TenderApprovalsResponse? data;
|
||||
|
||||
bool get isLoading => _isLoading;
|
||||
String? get errorMessage => _errorMessage;
|
||||
@@ -97,4 +99,36 @@ class HomeViewModel with ChangeNotifier {
|
||||
_isLoadingMore = false;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
Future<void> getYourTenders() async {
|
||||
_isLoading = true;
|
||||
notifyListeners();
|
||||
|
||||
final result = await _homeRepository.getYourTenders();
|
||||
|
||||
switch (result) {
|
||||
case Ok<TenderApprovalsResponse>():
|
||||
data = result.value;
|
||||
_errorMessage = null;
|
||||
|
||||
if (data?.data?.isEmpty ?? true) {
|
||||
await getHomeRecommandTenders(reset: true);
|
||||
} else {
|
||||
_tenders.clear();
|
||||
_tenders.addAll(
|
||||
data!.data!
|
||||
.map((e) => e.tender)
|
||||
.whereType<TenderData>(),
|
||||
);
|
||||
}
|
||||
|
||||
case Error<TenderApprovalsResponse>():
|
||||
_errorMessage = result.error.toString();
|
||||
await getHomeRecommandTenders(reset: true);
|
||||
break;
|
||||
}
|
||||
|
||||
_isLoading = false;
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user