Aidra Driver 1.3.5+68
Aidra Driver - Your path to green energy
Loading...
Searching...
No Matches
documents_service.dart
Go to the documentation of this file.
1import 'package:aidra_drive/core/UI/widgets/delivery_voucher_pdf.dart';
2import 'package:flutter/material.dart';
3
4import '../common/models/collection_voucher_document_model.dart';
5import '../common/models/manifest_document.dart';
6import '../ui/widgets/collection_voucher_pdf.dart';
7import '../ui/widgets/custom_snackbar.dart';
8import '../ui/widgets/manifest_pdf.dart';
9import '../ui/theme/color_palette.dart';
10import '../ui/widgets/loading.dart';
11import '../api/api_endpoints.dart';
12import '../api/api_client.dart';
13import 'service_locator.dart';
14
17
19
21 static final instance = _instance;
22
23 Future<void> getManifestDocument(String reference, BuildContext context) async {
24 final loadingOverlay = _showLoadingOverlay(context);
25
26 try {
27 final response = await apiClient.get(
28 url: ApiEndpoints.getManifestDocument(reference: reference),
29 );
30 loadingOverlay.remove();
31 final manifest = ManifestDocument.fromJson(response);
32 await generateManifest(manifest);
33 } catch (e) {
34 loadingOverlay.remove();
35
36 if (context.mounted) {
38 "Unable to retrieve manifest document.");
39 }
40 }
41 }
42
45 BuildContext context,
46 ) async {
47 final loadingOverlay = _showLoadingOverlay(context);
48 try {
49 final response = await apiClient.get(
50 url: ApiEndpoints.getManifestDocument(reference: reference),
51 );
52 loadingOverlay.remove();
53 final manifest = ManifestDocument.fromJson(response);
54 await generateDeliveryVoucher(manifest);
55 } catch (e) {
56 loadingOverlay.remove();
57 if (context.mounted) {
59 context,
61 "Unable to retrieve manifest document.",
62 );
63 }
64 }
65 }
66
68 String reference, BuildContext context) async {
69 final loadingOverlay = _showLoadingOverlay(context);
70
71 try {
72 final response = await apiClient.get(
73 url: ApiEndpoints.getCollectionVoucherDocument(reference: reference),
74 );
75
76 loadingOverlay.remove();
77
78 final voucher = CollectionVoucherDocumentModel.fromJson(response);
79 await generateCollectionVoucher(voucher);
80 } catch (e) {
81 loadingOverlay.remove();
82
83 if (context.mounted) {
85 "Unable to retrieve collection voucher document.");
86 }
87 }
88 }
89
90 OverlayEntry _showLoadingOverlay(BuildContext context) {
91 final overlay = OverlayEntry(
92 builder: (context) => Container(
93 color: Colors.black.withValues(alpha: 0.5),
94 child: Loading(),
95 ),
96 );
97
98 if (context.mounted) {
99 Overlay.of(context).insert(overlay);
100 }
101
102 return overlay;
103 }
104}
factory CollectionVoucherDocumentModel fromJson(Map< String, dynamic > json)
static const orange
static ScaffoldFeatureController< SnackBar, SnackBarClosedReason > display(final BuildContext context, final Color color, final String message,)
Future< void > getCollectionVoucherDocument(String reference, BuildContext context) async
Future< void > getManifestDocument(String reference, BuildContext context) async
OverlayEntry _showLoadingOverlay(BuildContext context)
DocumentsService _()
static final DocumentsService _instance
Future< void > getDeliveryVoucherDocument(String reference, BuildContext context,) async
factory ManifestDocument fromJson(Map< String, dynamic > json)
Future< void > generateCollectionVoucher(CollectionVoucherDocumentModel model) async
final Widget child
class Partner String
Future< void > generateDeliveryVoucher(ManifestDocument manifest,) async
final Color color
Definition failures.dart:1
Future generateManifest(ManifestDocument manifest,) async
final sl