added logic for detail

This commit is contained in:
llsajjad
2025-08-09 19:26:56 +03:30
parent 83ca169059
commit d0afc23be1
18 changed files with 1051 additions and 150 deletions
@@ -0,0 +1,34 @@
import 'dart:convert';
import 'package:dio/dio.dart';
import 'package:tm_app/core/utils/logger.dart';
import 'package:tm_app/core/utils/result.dart';
import 'package:tm_app/data/services/mock_data/tender_detail_mock.dart';
import 'package:tm_app/data/services/model/tender_detail_response/tender_detail_response_model.dart';
import 'package:tm_app/data/services/network_manager.dart';
class TenderDetailService {
TenderDetailService({required NetworkManager networkManager})
: _networkManager = networkManager;
final NetworkManager _networkManager;
Future<Result<TenderDetailResponseModel>> getTenderDetail({required String id}) async {
try {
await Future.delayed(Duration(seconds: 2)); // شبیه سازی لود
appLogger.info('get tender detail success');
return Result.ok(
TenderDetailResponseModel.fromJson(
jsonDecode(tenderDetailMockData)['data'],
),
);
} on DioException catch (e) {
appLogger.error('get tender detail failed: $e');
return Result.error(e);
} on Exception catch (e, stackTrace) {
appLogger.error('get tender detail failed: $e', stackTrace: stackTrace);
return Result.error(Exception(e));
}
}
}