You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
diplomatic-quarter/lib/core/viewModels/pharmacyModule/lacum-viewmodel.dart

108 lines
3.5 KiB
Dart

import 'dart:async';
4 years ago
import 'dart:convert';
5 years ago
import 'dart:typed_data';
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/LacumAccountInformation.dart';
import 'package:diplomaticquarterapp/core/service/parmacyModule/lacum-service.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import '../../../locator.dart';
import '../base_view_model.dart';
class LacumViewModel extends BaseViewModel {
LacumService _lacumService = locator<LacumService>();
LacumAccountInformation? get lacumInformation => _lacumService.lacumInformation;
5 years ago
LacumAccountInformation? get lacumGroupInformation => _lacumService.lacumGroupInformation;
5 years ago
String get successMsg => _lacumService.successMsg;
4 years ago
Future getLacumData(String identificationNo) async {
await getLacumAccountData(identificationNo);
getLacumGroupData(identificationNo);
5 years ago
}
4 years ago
Future getLacumAccountData(String identificationNo) async {
5 years ago
setState(ViewState.Busy);
4 years ago
await _lacumService.getLacumAccountInformation(identificationNo);
5 years ago
if (_lacumService.hasError) {
error = _lacumService.error!;
5 years ago
setState(ViewState.Error);
} else {
setState(ViewState.Idle);
}
}
4 years ago
Future getLacumGroupData(String identificationNo) async {
5 years ago
setState(ViewState.Busy);
4 years ago
await _lacumService.getLacumGroupInformation(identificationNo);
5 years ago
if (_lacumService.hasError) {
error = _lacumService.error!;
5 years ago
setState(ViewState.Error);
} else {
setState(ViewState.Idle);
}
}
4 years ago
Future makeAccountActivate(String identificationNo) async {
5 years ago
setState(ViewState.Busy);
await _lacumService.makeAccountActivate();
if (_lacumService.hasError) {
error = _lacumService.error!;
5 years ago
setState(ViewState.Error);
} else {
lacumGroupInformation?.lakumInquiryInformationObjVersion?.accountStatus = "Active";
4 years ago
getLacumAccountData(identificationNo);
5 years ago
}
}
4 years ago
Future makeAccountDeactivate(String identificationNo) async {
5 years ago
setState(ViewState.Busy);
await _lacumService.makeAccountDeactivate();
if (_lacumService.hasError) {
error = _lacumService.error!;
5 years ago
setState(ViewState.Error);
} else {
lacumGroupInformation!.lakumInquiryInformationObjVersion!.accountStatus = "Cancelled";
4 years ago
getLacumAccountData(identificationNo);
5 years ago
}
}
Future createLakumAccount(String name, String phone) async {
setState(ViewState.BusyLocal);
await _lacumService.createLakumAccount(name, phone, lacumInformation!.yahalaAccountNo!, lacumInformation!.identificationNo!, null);
5 years ago
if (_lacumService.hasError) {
error = _lacumService.error!;
setState(ViewState.ErrorLocal);
5 years ago
} else {
setState(ViewState.Idle);
}
}
String formatCreatedDateToString() {
DateTime createdDate = DateUtil.convertStringToDate(lacumGroupInformation!.lakumInquiryInformationObjVersion!.createdDate!);
5 years ago
return DateUtil.getFormattedDate(createdDate, "MMM dd,yyyy");
}
Uint8List convertBase64ToBarCodeImage() {
try {
final _byteImage = base64Decode(lacumGroupInformation!.lakumInquiryInformationObjVersion!.barCode!.split(',').last);
5 years ago
return _byteImage;
} catch (e) {
print(e);
return Uint8List(0);
5 years ago
}
}
setLakumData(LacumAccountInformation lacumInformation, LacumAccountInformation lacumGroupInformation) {
5 years ago
_lacumService.lacumInformation = lacumInformation;
_lacumService.lacumGroupInformation = lacumGroupInformation;
}
clearLakumGroupData() {
5 years ago
_lacumService.lacumGroupInformation = null;
}
}