createAndGetDelivery method
Implementation
Future<Delivery> createAndGetDelivery({
required String poNumber,
required String? material,
Options? getUnitsOfMeasureOptions,
Options? getDeliveriesOptions,
Json? getDeliveryCSRFExtra,
Json? createDeliveryExtra,
}) async {
await Future.delayed(
Duration(seconds: 5),
); // Create delivery fails without waiting (time error)
String deliveryNumber = await createDelivery(
poNumber: poNumber,
getDeliveryCSRFExtra: getDeliveryCSRFExtra,
createDeliveryExtra: createDeliveryExtra,
);
Delivery? delivery = await getDelivery(
deliveryNumber: deliveryNumber,
getDeliveriesOptions: getDeliveriesOptions,
);
if (delivery == null) {
throw Exception('Delivery not found');
}
if (material != null) {
List<UnitOfMeasuresDto> recalculationUOMs =
await UOMService(
client: _deliveryApiProvider.client,
).loadUnitOfMeasures(
material: material,
getUnitsOfMeasureOptions: getUnitsOfMeasureOptions,
);
delivery = delivery.fillWithUOM(recalculationUOMs: recalculationUOMs);
}
return delivery;
}