added cache for categories
This commit is contained in:
parent
753c730588
commit
1aa7410e2e
14 changed files with 195 additions and 63 deletions
|
|
@ -7,7 +7,7 @@ import 'package:pharmacy_mobile/functions/barcode_scan_function.dart';
|
|||
import 'package:pharmacy_mobile/functions/checkresult_function.dart';
|
||||
import 'package:pharmacy_mobile/tables/ref_categories.dart';
|
||||
import 'package:pharmacy_mobile/tables/ref_generic_names.dart';
|
||||
import 'package:pharmacy_mobile/tables/ref_manufactorers.dart';
|
||||
import 'package:pharmacy_mobile/tables/ref_manufacturers.dart';
|
||||
import 'package:pharmacy_mobile/tables/ref_medicines.dart';
|
||||
import 'package:pharmacy_mobile/tables/ref_types.dart';
|
||||
import 'package:pharmacy_mobile/tables/storage.dart';
|
||||
|
|
@ -39,7 +39,7 @@ class _AddMedicinePageState extends State<AddMedicinePage> {
|
|||
final _refGenericNames = RefGenericNames();
|
||||
final _refCategories = RefCategories();
|
||||
final _refTypes = RefTypes();
|
||||
final _refManufactorer = RefManufactorers();
|
||||
final _refManufacturer = RefManufacturers();
|
||||
final _refMedicines = RefMedicines();
|
||||
final _storage = Storage();
|
||||
final _nameController = TextEditingController();
|
||||
|
|
@ -51,8 +51,8 @@ class _AddMedicinePageState extends State<AddMedicinePage> {
|
|||
late String _selectedCategory = '';
|
||||
late List _typeList = [];
|
||||
late String _selectedType = '';
|
||||
late List _manufactorerList = [];
|
||||
late String _selectedManufactorer = '';
|
||||
late List _manufacturerList = [];
|
||||
late String _selectedManufacturer = '';
|
||||
late String uuid = '';
|
||||
late bool imageUploaded = false;
|
||||
late String imageUrl = '';
|
||||
|
|
@ -71,10 +71,10 @@ class _AddMedicinePageState extends State<AddMedicinePage> {
|
|||
});
|
||||
}
|
||||
|
||||
Future<void> _getManufactorer() async {
|
||||
_manufactorerList = await _refManufactorer.getList();
|
||||
Future<void> _getManufacturer() async {
|
||||
_manufacturerList = await _refManufacturer.getList();
|
||||
setState(() {
|
||||
checkResult(context, _manufactorerList, 'Manufactorer');
|
||||
checkResult(context, _manufacturerList, 'Manufacturer');
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -82,7 +82,7 @@ class _AddMedicinePageState extends State<AddMedicinePage> {
|
|||
if (await InternetConnectionChecker.instance.hasConnection) {
|
||||
await _getGenerics();
|
||||
await _getTypes();
|
||||
await _getManufactorer();
|
||||
await _getManufacturer();
|
||||
|
||||
// final sample = await _refMedicines.getList2();
|
||||
} else {
|
||||
|
|
@ -110,8 +110,8 @@ class _AddMedicinePageState extends State<AddMedicinePage> {
|
|||
_selectedType = type;
|
||||
}
|
||||
|
||||
void _updateManufactorer(dynamic manufactorer) {
|
||||
_selectedManufactorer = manufactorer;
|
||||
void _updateManufacturer(dynamic manufacturer) {
|
||||
_selectedManufacturer = manufacturer;
|
||||
}
|
||||
|
||||
Future<void> _scanBarcode() async {
|
||||
|
|
@ -142,10 +142,10 @@ class _AddMedicinePageState extends State<AddMedicinePage> {
|
|||
final medName = _nameController.text;
|
||||
final medGenericUUID = await _refGenericNames.getUUID(_selectedGeneric);
|
||||
final medTypeUUID = await _refTypes.getUUID(_selectedType);
|
||||
final medManufactorerUUID = await _refManufactorer.getUUID(_selectedManufactorer);
|
||||
final medManufacturerUUID = await _refManufacturer.getUUID(_selectedManufacturer);
|
||||
|
||||
await _refMedicines.postMedicine(
|
||||
uuid, medName, medManufactorerUUID, medGenericUUID, medTypeUUID, encrpytedBarcode);
|
||||
uuid, medName, medManufacturerUUID, medGenericUUID, medTypeUUID, encrpytedBarcode);
|
||||
} else {
|
||||
if (mounted) {
|
||||
showNotification(context, 'Error: No Internet Connection', false);
|
||||
|
|
@ -177,13 +177,19 @@ class _AddMedicinePageState extends State<AddMedicinePage> {
|
|||
uploaded = await _storage.uploadImage(context, storageName, webpImage, '$imageName.webp');
|
||||
}
|
||||
|
||||
setState(() {
|
||||
if (!uploaded) {
|
||||
if (mounted) {
|
||||
showNotification(context, 'Image Upload failed, try again.', false);
|
||||
}
|
||||
if (!uploaded) {
|
||||
if (mounted) {
|
||||
showNotification(context, 'Image Upload failed, try again.', false);
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (imageName.isNotEmpty) {
|
||||
final url = await _getImageUrl('$imageName.webp');
|
||||
setState(() {
|
||||
imageUrl = url;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Future<Uint8List> _webpConvert(Uint8List file) async {
|
||||
|
|
@ -197,6 +203,11 @@ class _AddMedicinePageState extends State<AddMedicinePage> {
|
|||
return result;
|
||||
}
|
||||
|
||||
Future<String> _getImageUrl(String imageName) async {
|
||||
final image = await _storage.getImageURL('ref_medicines_images', imageName);
|
||||
return image;
|
||||
}
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
autoRun();
|
||||
|
|
@ -213,8 +224,8 @@ class _AddMedicinePageState extends State<AddMedicinePage> {
|
|||
_selectedCategory = '';
|
||||
_typeList = [];
|
||||
_selectedType = '';
|
||||
_manufactorerList = [];
|
||||
_selectedManufactorer = '';
|
||||
_manufacturerList = [];
|
||||
_selectedManufacturer = '';
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
|
|
@ -265,10 +276,10 @@ class _AddMedicinePageState extends State<AddMedicinePage> {
|
|||
),
|
||||
const Gap(16),
|
||||
DropDownWidget(
|
||||
label: 'Manufactorer',
|
||||
list: _manufactorerList,
|
||||
listTitle: 'manufactorer_name',
|
||||
onChanged: _updateManufactorer,
|
||||
label: 'Manufacturer',
|
||||
list: _manufacturerList,
|
||||
listTitle: 'manufacturer_name',
|
||||
onChanged: _updateManufacturer,
|
||||
),
|
||||
const Gap(16),
|
||||
InputFormWidget(label: 'Barcode', controller: _barcodeController),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue