removed hardcoded status feedback and submission mode
This commit is contained in:
@@ -7,6 +7,7 @@ import 'package:tm_app/data/services/model/liked_tenders_response/liked_tenders_
|
||||
import 'package:tm_app/data/services/model/tender_approvals_toggle_response/tender_approvals_toggle_response.dart';
|
||||
import 'package:tm_app/view_models/home_view_model.dart';
|
||||
|
||||
import '../core/constants/tender_approval_status.dart';
|
||||
import '../data/services/model/feedback_response/feedback_response.dart';
|
||||
import '../data/services/model/request_models/tender_feedback_request_model/tender_feedback_request_model.dart';
|
||||
import '../data/services/model/tender_approvals_by_id_response/tender_approvals_by_id_response.dart';
|
||||
@@ -245,12 +246,14 @@ class LikedTendersViewModel with ChangeNotifier {
|
||||
|
||||
/// Check if tender is submitted
|
||||
bool isTenderSubmitted(String tenderId) {
|
||||
return getApprovalStatusForTenderId(tenderId) == 'submitted';
|
||||
return getApprovalStatusForTenderId(tenderId) ==
|
||||
TenderApprovalStatus.submitted.value;
|
||||
}
|
||||
|
||||
/// Check if tender is rejected
|
||||
bool isTenderRejected(String tenderId) {
|
||||
return getApprovalStatusForTenderId(tenderId) == 'rejected';
|
||||
return getApprovalStatusForTenderId(tenderId) ==
|
||||
TenderApprovalStatus.rejected.value;
|
||||
}
|
||||
|
||||
Future<void> submitTenderApproval({
|
||||
@@ -268,12 +271,15 @@ class LikedTendersViewModel with ChangeNotifier {
|
||||
final existingApproval = getApprovalStatusForTender(tenderId);
|
||||
|
||||
if (existingApproval != null) {
|
||||
if (existingApproval.status == 'submitted') {
|
||||
if (existingApproval.status == TenderApprovalStatus.submitted.value) {
|
||||
// Remove from list if already submitted
|
||||
tenderApprovals.removeWhere((a) => a.tenderId == tenderId);
|
||||
} else if (existingApproval.status == 'rejected') {
|
||||
} else if (existingApproval.status ==
|
||||
TenderApprovalStatus.rejected.value) {
|
||||
// Change rejected to submitted
|
||||
final updatedApproval = existingApproval.copyWith(status: 'submitted');
|
||||
final updatedApproval = existingApproval.copyWith(
|
||||
status: TenderApprovalStatus.submitted.value,
|
||||
);
|
||||
final index = tenderApprovals.indexWhere((a) => a.tenderId == tenderId);
|
||||
if (index != -1) {
|
||||
tenderApprovals[index] = updatedApproval;
|
||||
@@ -283,7 +289,7 @@ class LikedTendersViewModel with ChangeNotifier {
|
||||
// Add new approval with submitted status
|
||||
final newApproval = TenderApprovalsData(
|
||||
id: null,
|
||||
status: 'submitted',
|
||||
status: TenderApprovalStatus.submitted.value,
|
||||
tenderId: tenderId,
|
||||
companyId: null,
|
||||
submissionMode: submissionMode,
|
||||
@@ -298,7 +304,7 @@ class LikedTendersViewModel with ChangeNotifier {
|
||||
// Make server request
|
||||
final result = await _tendersRepository.toggleApprovals(
|
||||
tenderId: tenderId,
|
||||
status: 'submitted',
|
||||
status: TenderApprovalStatus.submitted.value,
|
||||
submissionMode: submissionMode,
|
||||
);
|
||||
|
||||
@@ -334,12 +340,15 @@ class LikedTendersViewModel with ChangeNotifier {
|
||||
final existingApproval = getApprovalStatusForTender(tenderId);
|
||||
|
||||
if (existingApproval != null) {
|
||||
if (existingApproval.status == 'rejected') {
|
||||
if (existingApproval.status == TenderApprovalStatus.rejected.value) {
|
||||
// Remove from list if already rejected
|
||||
tenderApprovals.removeWhere((a) => a.tenderId == tenderId);
|
||||
} else if (existingApproval.status == 'submitted') {
|
||||
} else if (existingApproval.status ==
|
||||
TenderApprovalStatus.submitted.value) {
|
||||
// Change submitted to rejected
|
||||
final updatedApproval = existingApproval.copyWith(status: 'rejected');
|
||||
final updatedApproval = existingApproval.copyWith(
|
||||
status: TenderApprovalStatus.rejected.value,
|
||||
);
|
||||
final index = tenderApprovals.indexWhere((a) => a.tenderId == tenderId);
|
||||
if (index != -1) {
|
||||
tenderApprovals[index] = updatedApproval;
|
||||
@@ -349,7 +358,7 @@ class LikedTendersViewModel with ChangeNotifier {
|
||||
// Add new approval with rejected status
|
||||
final newApproval = TenderApprovalsData(
|
||||
id: null,
|
||||
status: 'rejected',
|
||||
status: TenderApprovalStatus.rejected.value,
|
||||
tenderId: tenderId,
|
||||
companyId: null,
|
||||
submissionMode: submissionMode,
|
||||
@@ -364,7 +373,7 @@ class LikedTendersViewModel with ChangeNotifier {
|
||||
// Make server request
|
||||
final result = await _tendersRepository.toggleApprovals(
|
||||
tenderId: tenderId,
|
||||
status: 'rejected',
|
||||
status: TenderApprovalStatus.rejected.value,
|
||||
submissionMode: submissionMode,
|
||||
);
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ import 'package:tm_app/data/repositories/tenders_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';
|
||||
|
||||
import '../core/constants/tender_approval_status.dart';
|
||||
import '../data/services/model/tender_approvals_by_id_response/tender_approvals_by_id_response.dart';
|
||||
import '../data/services/model/tender_approvals_data/tender_approvals_data.dart';
|
||||
import '../data/services/model/tender_approvals_toggle_response/tender_approvals_toggle_response.dart';
|
||||
@@ -73,7 +74,7 @@ class TenderDetailViewModel with ChangeNotifier {
|
||||
notifyListeners();
|
||||
final result = await _tendersRepository.toggleApprovals(
|
||||
tenderId: tenderId,
|
||||
status: 'submitted',
|
||||
status: TenderApprovalStatus.submitted.value,
|
||||
submissionMode: submissionMode,
|
||||
);
|
||||
switch (result) {
|
||||
@@ -102,7 +103,7 @@ class TenderDetailViewModel with ChangeNotifier {
|
||||
notifyListeners();
|
||||
final result = await _tendersRepository.toggleApprovals(
|
||||
tenderId: tenderId,
|
||||
status: 'rejected',
|
||||
status: TenderApprovalStatus.rejected.value,
|
||||
submissionMode: submissionMode,
|
||||
);
|
||||
switch (result) {
|
||||
|
||||
@@ -8,6 +8,7 @@ import 'package:tm_app/data/services/model/tender_approvals_toggle_data/tender_a
|
||||
import 'package:tm_app/data/services/model/tender_approvals_toggle_response/tender_approvals_toggle_response.dart';
|
||||
import 'package:tm_app/data/services/model/tenders/tenders_response/tenders_response.dart';
|
||||
|
||||
import '../core/constants/tender_submision_mode.dart';
|
||||
import '../core/utils/result.dart';
|
||||
import '../data/services/model/tender_approvals_by_id_response/tender_approvals_by_id_response.dart';
|
||||
import '../data/services/model/tender_approvals_data/tender_approvals_data.dart';
|
||||
@@ -420,7 +421,10 @@ class TendersViewModel with ChangeNotifier {
|
||||
status: _tenderApprovalToggleData!.status!,
|
||||
tenderId: _tenderApprovalToggleData!.tenderId,
|
||||
companyId: _tenderApprovalToggleData!.companyId,
|
||||
submissionMode: _tenderApprovalToggleData!.submissionMode,
|
||||
submissionMode:
|
||||
(_tenderApprovalToggleData!.submissionMode?.isNotEmpty == true)
|
||||
? _tenderApprovalToggleData!.submissionMode
|
||||
: TenderSubmissionMode.selfApply.value,
|
||||
createdAt: _tenderApprovalToggleData!.createdAt,
|
||||
tender: null, // Tender data is not included in toggle response
|
||||
);
|
||||
|
||||
@@ -6,6 +6,8 @@ import 'package:tm_app/data/services/model/liked_tenders_response/liked_tenders_
|
||||
import 'package:tm_app/data/services/model/tender_approvals_response/tender_approvals_response.dart';
|
||||
import 'package:tm_app/views/your_tenders/strings/your_tenders_strings.dart';
|
||||
|
||||
import '../core/constants/tender_approval_status.dart';
|
||||
import '../core/constants/tender_feedback.dart';
|
||||
import '../data/services/model/request_models/get_tenders_request_model/get_tenders_request_model.dart';
|
||||
import '../data/services/model/request_models/tender_feedback_request_model/tender_feedback_request_model.dart';
|
||||
|
||||
@@ -201,7 +203,7 @@ class YourTendersViewModel with ChangeNotifier {
|
||||
await getTenders(requestModel: requestModel);
|
||||
} else if (selectedStatus == YourTendersStrings.tendersSubmitted) {
|
||||
final requestModel = GetTendersRequestModel(
|
||||
status: 'submitted',
|
||||
status: TenderApprovalStatus.submitted.value,
|
||||
createdFrom: startDateUnix,
|
||||
createdTo: endDateUnix,
|
||||
limit: _tendersLimit,
|
||||
@@ -272,7 +274,7 @@ class YourTendersViewModel with ChangeNotifier {
|
||||
await getTenders(requestModel: requestModel, reset: true);
|
||||
} else if (selectedStatus == YourTendersStrings.tendersSubmitted) {
|
||||
final requestModel = GetTendersRequestModel(
|
||||
status: 'submitted',
|
||||
status: TenderApprovalStatus.submitted.value,
|
||||
createdFrom: startDateUnix,
|
||||
createdTo: endDateUnix,
|
||||
limit: _tendersLimit,
|
||||
@@ -280,9 +282,15 @@ class YourTendersViewModel with ChangeNotifier {
|
||||
);
|
||||
await getTenders(requestModel: requestModel, reset: true);
|
||||
} else if (selectedStatus == YourTendersStrings.likeTenders) {
|
||||
await getTendersFeedback(feedbackType: 'like', reset: true);
|
||||
await getTendersFeedback(
|
||||
feedbackType: TenderFeedback.liked.value,
|
||||
reset: true,
|
||||
);
|
||||
} else if (selectedStatus == YourTendersStrings.dislikeTenders) {
|
||||
await getTendersFeedback(feedbackType: 'dislike', reset: true);
|
||||
await getTendersFeedback(
|
||||
feedbackType: TenderFeedback.disliked.value,
|
||||
reset: true,
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user