Commit 7210793a authored by Sai Srinivas's avatar Sai Srinivas
Browse files

17-09

parent 185e0896
...@@ -5,27 +5,29 @@ class approveRejectPaymentRequestResponse { ...@@ -5,27 +5,29 @@ class approveRejectPaymentRequestResponse {
String? error; String? error;
String? message; String? message;
approveRejectPaymentRequestResponse( approveRejectPaymentRequestResponse({
{this.paymentAccounts, this.paymentAccounts,
this.paymentRequestDetails, this.paymentRequestDetails,
this.paymentModes, this.paymentModes,
this.error, this.error,
this.message}); this.message,
});
approveRejectPaymentRequestResponse.fromJson(Map<String, dynamic> json) { approveRejectPaymentRequestResponse.fromJson(Map<String, dynamic> json) {
if (json['payment_accounts'] != null) { if (json['payment_accounts'] != null) {
paymentAccounts = <PaymentAccounts>[]; paymentAccounts = <PaymentAccounts>[];
json['payment_accounts'].forEach((v) { json['payment_accounts'].forEach((v) {
paymentAccounts!.add(new PaymentAccounts.fromJson(v)); paymentAccounts!.add(PaymentAccounts.fromJson(v));
}); });
} }
paymentRequestDetails = json['payment_request_details'] != null paymentRequestDetails =
? new PaymentRequestDetails.fromJson(json['payment_request_details']) json['payment_request_details'] != null
: null; ? PaymentRequestDetails.fromJson(json['payment_request_details'])
: null;
if (json['payment_modes'] != null) { if (json['payment_modes'] != null) {
paymentModes = <PaymentModes>[]; paymentModes = <PaymentModes>[];
json['payment_modes'].forEach((v) { json['payment_modes'].forEach((v) {
paymentModes!.add(new PaymentModes.fromJson(v)); paymentModes!.add(PaymentModes.fromJson(v));
}); });
} }
error = json['error']; error = json['error'];
...@@ -33,20 +35,19 @@ class approveRejectPaymentRequestResponse { ...@@ -33,20 +35,19 @@ class approveRejectPaymentRequestResponse {
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>(); final Map<String, dynamic> data = <String, dynamic>{};
if (this.paymentAccounts != null) { if (paymentAccounts != null) {
data['payment_accounts'] = data['payment_accounts'] =
this.paymentAccounts!.map((v) => v.toJson()).toList(); paymentAccounts!.map((v) => v.toJson()).toList();
} }
if (this.paymentRequestDetails != null) { if (paymentRequestDetails != null) {
data['payment_request_details'] = this.paymentRequestDetails!.toJson(); data['payment_request_details'] = paymentRequestDetails!.toJson();
} }
if (this.paymentModes != null) { if (paymentModes != null) {
data['payment_modes'] = data['payment_modes'] = paymentModes!.map((v) => v.toJson()).toList();
this.paymentModes!.map((v) => v.toJson()).toList();
} }
data['error'] = this.error; data['error'] = error;
data['message'] = this.message; data['message'] = message;
return data; return data;
} }
} }
...@@ -65,10 +66,10 @@ class PaymentAccounts { ...@@ -65,10 +66,10 @@ class PaymentAccounts {
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>(); final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = this.id; data['id'] = id;
data['name'] = this.name; data['name'] = name;
data['account_balance'] = this.accountBalance; data['account_balance'] = accountBalance;
return data; return data;
} }
} }
...@@ -88,20 +89,21 @@ class PaymentRequestDetails { ...@@ -88,20 +89,21 @@ class PaymentRequestDetails {
String? bankAccountNumber; String? bankAccountNumber;
String? bankUpiId; String? bankUpiId;
PaymentRequestDetails( PaymentRequestDetails({
{this.id, this.id,
this.accountId, this.accountId,
this.requestingPurpose, this.requestingPurpose,
this.description, this.description,
this.amount, this.amount,
this.requestedAmount, this.requestedAmount,
this.paymentRequestModeId, this.paymentRequestModeId,
this.bankName, this.bankName,
this.bankBranchName, this.bankBranchName,
this.bankIfscCode, this.bankIfscCode,
this.bankAccountHolderName, this.bankAccountHolderName,
this.bankAccountNumber, this.bankAccountNumber,
this.bankUpiId}); this.bankUpiId,
});
PaymentRequestDetails.fromJson(Map<String, dynamic> json) { PaymentRequestDetails.fromJson(Map<String, dynamic> json) {
id = json['id']; id = json['id'];
...@@ -120,20 +122,20 @@ class PaymentRequestDetails { ...@@ -120,20 +122,20 @@ class PaymentRequestDetails {
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>(); final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = this.id; data['id'] = id;
data['account_id'] = this.accountId; data['account_id'] = accountId;
data['requesting_purpose'] = this.requestingPurpose; data['requesting_purpose'] = requestingPurpose;
data['description'] = this.description; data['description'] = description;
data['amount'] = this.amount; data['amount'] = amount;
data['requested_amount'] = this.requestedAmount; data['requested_amount'] = requestedAmount;
data['payment_request_mode_id'] = this.paymentRequestModeId; data['payment_request_mode_id'] = paymentRequestModeId;
data['bank_name'] = this.bankName; data['bank_name'] = bankName;
data['bank_branch_name'] = this.bankBranchName; data['bank_branch_name'] = bankBranchName;
data['bank_ifsc_code'] = this.bankIfscCode; data['bank_ifsc_code'] = bankIfscCode;
data['bank_account_holder_name'] = this.bankAccountHolderName; data['bank_account_holder_name'] = bankAccountHolderName;
data['bank_account_number'] = this.bankAccountNumber; data['bank_account_number'] = bankAccountNumber;
data['bank_upi_id'] = this.bankUpiId; data['bank_upi_id'] = bankUpiId;
return data; return data;
} }
} }
...@@ -150,9 +152,9 @@ class PaymentModes { ...@@ -150,9 +152,9 @@ class PaymentModes {
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>(); final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = this.id; data['id'] = id;
data['name'] = this.name; data['name'] = name;
return data; return data;
} }
} }
...@@ -29,7 +29,6 @@ import 'package:share_plus/share_plus.dart'; ...@@ -29,7 +29,6 @@ import 'package:share_plus/share_plus.dart';
import 'package:printing/printing.dart'; import 'package:printing/printing.dart';
class Paymentreceiptsprovider extends ChangeNotifier { class Paymentreceiptsprovider extends ChangeNotifier {
bool _showMoreDetails = false; bool _showMoreDetails = false;
List<ReceiptsList> _receiptsList = []; List<ReceiptsList> _receiptsList = [];
ReceiptDetails _receiptDetails = ReceiptDetails(); ReceiptDetails _receiptDetails = ReceiptDetails();
...@@ -63,9 +62,9 @@ class Paymentreceiptsprovider extends ChangeNotifier { ...@@ -63,9 +62,9 @@ class Paymentreceiptsprovider extends ChangeNotifier {
DateTime? _date; DateTime? _date;
String? _formattedDate; String? _formattedDate;
String? _formattedDateToSend; String? _formattedDateToSend;
List<Accounts> _accounts = []; final List<Accounts> _accounts = [];
List<PaymentModes> _paymentModes = []; final List<PaymentModes> _paymentModes = [];
List<String> _requestingPurposes = []; final List<String> _requestingPurposes = [];
List<Accounts> _receiptAccounts = []; List<Accounts> _receiptAccounts = [];
...@@ -114,14 +113,15 @@ class Paymentreceiptsprovider extends ChangeNotifier { ...@@ -114,14 +113,15 @@ class Paymentreceiptsprovider extends ChangeNotifier {
// Date picker methods // Date picker methods
set showMoreDetails(bool value){ set showMoreDetails(bool value) {
_showMoreDetails = value; _showMoreDetails = value;
notifyListeners(); notifyListeners();
} }
set selectreceiptAccounts(Accounts? value) { set selectreceiptAccounts(Accounts? value) {
_selectedreceiptAccounts = value; _selectedreceiptAccounts = value;
_receiptAccountID = value!.id!; _receiptAccountID = value!.id!;
_receiptAccountValue = value!.name!; _receiptAccountValue = value.name!;
selectAccountError = null; selectAccountError = null;
notifyListeners(); notifyListeners();
} }
...@@ -129,7 +129,7 @@ class Paymentreceiptsprovider extends ChangeNotifier { ...@@ -129,7 +129,7 @@ class Paymentreceiptsprovider extends ChangeNotifier {
set selectreceiptPaymentAccounts(ReceiptAccounts? value) { set selectreceiptPaymentAccounts(ReceiptAccounts? value) {
_selectreceiptPaymentAccounts = value; _selectreceiptPaymentAccounts = value;
_receiptPaymentAccountsID = value!.id!; _receiptPaymentAccountsID = value!.id!;
_receiptPaymentAccountsValue = value!.name!; _receiptPaymentAccountsValue = value.name!;
selectPaymentAccountError = null; selectPaymentAccountError = null;
notifyListeners(); notifyListeners();
} }
...@@ -137,7 +137,7 @@ class Paymentreceiptsprovider extends ChangeNotifier { ...@@ -137,7 +137,7 @@ class Paymentreceiptsprovider extends ChangeNotifier {
set selectreceiptPaymentModes(PaymentModes? value) { set selectreceiptPaymentModes(PaymentModes? value) {
_selectreceiptPaymentModes = value; _selectreceiptPaymentModes = value;
_receiptPaymentModesID = value!.id!; _receiptPaymentModesID = value!.id!;
_receiptPaymentModesValues = value!.name!; _receiptPaymentModesValues = value.name!;
paymentModeError = null; paymentModeError = null;
notifyListeners(); notifyListeners();
} }
...@@ -291,7 +291,7 @@ class Paymentreceiptsprovider extends ChangeNotifier { ...@@ -291,7 +291,7 @@ class Paymentreceiptsprovider extends ChangeNotifier {
set selectedPayment(PaymentModes? value) { set selectedPayment(PaymentModes? value) {
_selectedPayment = value; _selectedPayment = value;
_paymentModeId = value!.id!; _paymentModeId = value!.id!;
_paymentModeValue = value!.name!; _paymentModeValue = value.name!;
selectPaymentError = null; selectPaymentError = null;
notifyListeners(); notifyListeners();
...@@ -334,7 +334,7 @@ class Paymentreceiptsprovider extends ChangeNotifier { ...@@ -334,7 +334,7 @@ class Paymentreceiptsprovider extends ChangeNotifier {
debugPrint("added"); debugPrint("added");
_image = File(galleryImage!.path); _image = File(galleryImage!.path);
_imageName = File(galleryImage!.name); _imageName = File(galleryImage.name);
_image_picked = 1; _image_picked = 1;
FileError = null; FileError = null;
notifyListeners(); notifyListeners();
...@@ -356,7 +356,7 @@ class Paymentreceiptsprovider extends ChangeNotifier { ...@@ -356,7 +356,7 @@ class Paymentreceiptsprovider extends ChangeNotifier {
debugPrint("Jenny: bytes:$bytes, kb:$kb, mb: $mb"); debugPrint("Jenny: bytes:$bytes, kb:$kb, mb: $mb");
_image = File(galleryImage!.path); _image = File(galleryImage!.path);
_imageName = File(galleryImage!.name); _imageName = File(galleryImage.name);
_image_picked = 1; _image_picked = 1;
FileError = null; FileError = null;
notifyListeners(); notifyListeners();
...@@ -366,7 +366,6 @@ class Paymentreceiptsprovider extends ChangeNotifier { ...@@ -366,7 +366,6 @@ class Paymentreceiptsprovider extends ChangeNotifier {
} }
} }
bool _isLoadingMore = false; bool _isLoadingMore = false;
bool get isLoadingMore => _isLoadingMore; bool get isLoadingMore => _isLoadingMore;
...@@ -386,11 +385,11 @@ class Paymentreceiptsprovider extends ChangeNotifier { ...@@ -386,11 +385,11 @@ class Paymentreceiptsprovider extends ChangeNotifier {
} }
Future<void> paymentsListAPI( Future<void> paymentsListAPI(
BuildContext context, BuildContext context,
String from, String from,
String to, { String to, {
bool append = false, bool append = false,
}) async { }) async {
try { try {
var prov = Provider.of<HomescreenNotifier>(context, listen: false); var prov = Provider.of<HomescreenNotifier>(context, listen: false);
...@@ -410,7 +409,9 @@ class Paymentreceiptsprovider extends ChangeNotifier { ...@@ -410,7 +409,9 @@ class Paymentreceiptsprovider extends ChangeNotifier {
to, to,
_currentPage.toString(), _currentPage.toString(),
); );
debugPrint('empId: ${prov.empId}, session: ${prov.session}, pageNumber: $_currentPage'); debugPrint(
'empId: ${prov.empId}, session: ${prov.session}, pageNumber: $_currentPage',
);
if (data != null && data.error == "0") { if (data != null && data.error == "0") {
if (append) { if (append) {
...@@ -488,7 +489,7 @@ class Paymentreceiptsprovider extends ChangeNotifier { ...@@ -488,7 +489,7 @@ class Paymentreceiptsprovider extends ChangeNotifier {
notifyListeners(); notifyListeners();
} }
} }
} catch (e, s) {} } catch (e) {}
} }
Future<void> addReceiptPaymentRequestionViewAPI(context) async { Future<void> addReceiptPaymentRequestionViewAPI(context) async {
...@@ -523,15 +524,14 @@ class Paymentreceiptsprovider extends ChangeNotifier { ...@@ -523,15 +524,14 @@ class Paymentreceiptsprovider extends ChangeNotifier {
notifyListeners(); notifyListeners();
} else {} } else {}
} }
} catch (e, s) {} } catch (e) {}
} }
Future<void> addReceiptPaymentRequestionSubmitAPI( Future<void> addReceiptPaymentRequestionSubmitAPI(
context, context,
receipt_date, receiptDate,
) async { ) async {
try { try {
if (!validatereceiptForm(context)) { if (!validatereceiptForm(context)) {
return; return;
} }
...@@ -550,7 +550,7 @@ class Paymentreceiptsprovider extends ChangeNotifier { ...@@ -550,7 +550,7 @@ class Paymentreceiptsprovider extends ChangeNotifier {
descController.text, descController.text,
_receiptPaymentModesID, _receiptPaymentModesID,
amountController.text, amountController.text,
receipt_date, receiptDate,
paymentReferenceController.text, paymentReferenceController.text,
bankNameController.text, bankNameController.text,
bankBranchController.text, bankBranchController.text,
...@@ -575,7 +575,7 @@ class Paymentreceiptsprovider extends ChangeNotifier { ...@@ -575,7 +575,7 @@ class Paymentreceiptsprovider extends ChangeNotifier {
_submitClicked = false; _submitClicked = false;
notifyListeners(); notifyListeners();
} }
} catch (e, s) { } catch (e) {
_submitClicked = false; _submitClicked = false;
notifyListeners(); notifyListeners();
} }
...@@ -643,10 +643,8 @@ class Paymentreceiptsprovider extends ChangeNotifier { ...@@ -643,10 +643,8 @@ class Paymentreceiptsprovider extends ChangeNotifier {
if (await Permission.storage.request().isGranted || if (await Permission.storage.request().isGranted ||
await Permission.manageExternalStorage.request().isGranted) { await Permission.manageExternalStorage.request().isGranted) {
final dir = await getApplicationDocumentsDirectory(); final dir = await getApplicationDocumentsDirectory();
if (dir != null) { print('Using Downloads receiptory: ${dir.path}');
print('Using Downloads receiptory: ${dir.path}'); return dir.path;
return dir.path;
}
} }
} }
} catch (e) { } catch (e) {
...@@ -1013,7 +1011,6 @@ class Paymentreceiptsprovider extends ChangeNotifier { ...@@ -1013,7 +1011,6 @@ class Paymentreceiptsprovider extends ChangeNotifier {
), ),
), ),
onPressed: () { onPressed: () {
Navigator.pop(context); Navigator.pop(context);
}, },
), ),
...@@ -1026,7 +1023,7 @@ class Paymentreceiptsprovider extends ChangeNotifier { ...@@ -1026,7 +1023,7 @@ class Paymentreceiptsprovider extends ChangeNotifier {
), ),
), ),
onPressed: () { onPressed: () {
setDate(_date ?? DateTime.now() ); setDate(_date ?? DateTime.now());
Navigator.pop(context); Navigator.pop(context);
}, },
), ),
......
...@@ -18,8 +18,7 @@ import 'package:provider/provider.dart'; ...@@ -18,8 +18,7 @@ import 'package:provider/provider.dart';
import '../../Utils/commonServices.dart'; import '../../Utils/commonServices.dart';
class Paymentrequisitionpaymentslistprovider extends ChangeNotifier{ class Paymentrequisitionpaymentslistprovider extends ChangeNotifier {
bool _showMoreDetails = false; bool _showMoreDetails = false;
List<PaymentsList> _paymentsList = []; List<PaymentsList> _paymentsList = [];
PaymentDetails _paymentDetails = PaymentDetails(); PaymentDetails _paymentDetails = PaymentDetails();
...@@ -33,7 +32,7 @@ class Paymentrequisitionpaymentslistprovider extends ChangeNotifier{ ...@@ -33,7 +32,7 @@ class Paymentrequisitionpaymentslistprovider extends ChangeNotifier{
bool get isLoading => _isLoading; bool get isLoading => _isLoading;
bool get showMoreDetails => _showMoreDetails; bool get showMoreDetails => _showMoreDetails;
set showMoreDetails(bool value){ set showMoreDetails(bool value) {
_showMoreDetails = value; _showMoreDetails = value;
notifyListeners(); notifyListeners();
} }
...@@ -57,11 +56,11 @@ class Paymentrequisitionpaymentslistprovider extends ChangeNotifier{ ...@@ -57,11 +56,11 @@ class Paymentrequisitionpaymentslistprovider extends ChangeNotifier{
} }
Future<void> paymentsListAPI( Future<void> paymentsListAPI(
BuildContext context, BuildContext context,
String from, String from,
String to, { String to, {
bool append = false, bool append = false,
}) async { }) async {
try { try {
var prov = Provider.of<HomescreenNotifier>(context, listen: false); var prov = Provider.of<HomescreenNotifier>(context, listen: false);
...@@ -81,7 +80,9 @@ class Paymentrequisitionpaymentslistprovider extends ChangeNotifier{ ...@@ -81,7 +80,9 @@ class Paymentrequisitionpaymentslistprovider extends ChangeNotifier{
to, to,
_currentPage.toString(), // pass page number _currentPage.toString(), // pass page number
); );
debugPrint('empId: ${prov.empId}, session: ${prov.session}, pageNumber: $_currentPage'); debugPrint(
'empId: ${prov.empId}, session: ${prov.session}, pageNumber: $_currentPage',
);
if (data != null && data.error == "0") { if (data != null && data.error == "0") {
if (append) { if (append) {
...@@ -113,24 +114,47 @@ class Paymentrequisitionpaymentslistprovider extends ChangeNotifier{ ...@@ -113,24 +114,47 @@ class Paymentrequisitionpaymentslistprovider extends ChangeNotifier{
await paymentsListAPI(context, from, to, append: true); await paymentsListAPI(context, from, to, append: true);
} }
Future<void> paymentsListDetailsAPI(context,paymentId) async { Future<void> paymentsListDetailsAPI(context, paymentId) async {
try{ try {
var prov = Provider.of<HomescreenNotifier>(context,listen: false); var prov = Provider.of<HomescreenNotifier>(context, listen: false);
final data = await ApiCalling.paymentRequisitionPaymentDetailsAPI(prov.empId, prov.session,paymentId); final data = await ApiCalling.paymentRequisitionPaymentDetailsAPI(
if(data!=null){ prov.empId,
if(data.error=="0"){ prov.session,
_paymentDetails = data.paymentDetails??PaymentDetails( paymentId,
accountId: "-", );
accountName: "-", if (data != null) {
amount: "-", if (data.error == "0") {
attachmentDirFilePath: "-", _paymentDetails =
attachmentViewFileName: "-", data.paymentDetails ??
createdDatetime: "-", PaymentDetails(
description: "-", accountId: "-",
id: "-", accountName: "-",
updatedDatetime: "-", amount: "-",
refType: "-",refId: "-",paymentRemarks: "-",paymentReferenceNumber: "-",paymentModeId: "-",paymentEmployeeName: "-",paymentDate: "-",paymentAccountName: "-",paymentAccountId: "-",mode: "-",isExists: "-",createdEmployeeId: "-",bankUpiId: "-",bankName: "-",bankIfscCode:"-",bankBranchName: "-",bankAccountNumber: "-",bankAccountHolderName:"-" , attachmentDirFilePath: "-",
); attachmentViewFileName: "-",
createdDatetime: "-",
description: "-",
id: "-",
updatedDatetime: "-",
refType: "-",
refId: "-",
paymentRemarks: "-",
paymentReferenceNumber: "-",
paymentModeId: "-",
paymentEmployeeName: "-",
paymentDate: "-",
paymentAccountName: "-",
paymentAccountId: "-",
mode: "-",
isExists: "-",
createdEmployeeId: "-",
bankUpiId: "-",
bankName: "-",
bankIfscCode: "-",
bankBranchName: "-",
bankAccountNumber: "-",
bankAccountHolderName: "-",
);
_headings = [ _headings = [
"From Account", "From Account",
"Payment Mode", "Payment Mode",
...@@ -146,31 +170,29 @@ class Paymentrequisitionpaymentslistprovider extends ChangeNotifier{ ...@@ -146,31 +170,29 @@ class Paymentrequisitionpaymentslistprovider extends ChangeNotifier{
"Bank UPI ID", "Bank UPI ID",
"Payment Reference Number", "Payment Reference Number",
"Created Date Time", "Created Date Time",
"Updated Date Time" "Updated Date Time",
]; ];
_subHeadings = [ _subHeadings = [
_paymentDetails.paymentAccountName??"-", _paymentDetails.paymentAccountName ?? "-",
_paymentDetails.mode??"-", _paymentDetails.mode ?? "-",
_paymentDetails.paymentEmployeeName??"-", _paymentDetails.paymentEmployeeName ?? "-",
_paymentDetails.attachmentDirFilePath??"-", _paymentDetails.attachmentDirFilePath ?? "-",
_paymentDetails.paymentDate??"-", _paymentDetails.paymentDate ?? "-",
_paymentDetails.paymentRemarks??"-", _paymentDetails.paymentRemarks ?? "-",
_paymentDetails.bankName??"-", _paymentDetails.bankName ?? "-",
_paymentDetails.bankBranchName??"-", _paymentDetails.bankBranchName ?? "-",
_paymentDetails.bankIfscCode??"-", _paymentDetails.bankIfscCode ?? "-",
_paymentDetails.bankAccountHolderName??"-", _paymentDetails.bankAccountHolderName ?? "-",
_paymentDetails.bankAccountNumber??"-", _paymentDetails.bankAccountNumber ?? "-",
_paymentDetails.bankUpiId??"-", _paymentDetails.bankUpiId ?? "-",
_paymentDetails.paymentReferenceNumber??"-", _paymentDetails.paymentReferenceNumber ?? "-",
_paymentDetails.createdDatetime??"-", _paymentDetails.createdDatetime ?? "-",
_paymentDetails.updatedDatetime??"-" _paymentDetails.updatedDatetime ?? "-",
]; ];
notifyListeners(); notifyListeners();
} }
} }
}catch(e,s){ } catch (e) {}
}
} }
List<List<String>> prepareExportData() { List<List<String>> prepareExportData() {
...@@ -188,24 +210,23 @@ class Paymentrequisitionpaymentslistprovider extends ChangeNotifier{ ...@@ -188,24 +210,23 @@ class Paymentrequisitionpaymentslistprovider extends ChangeNotifier{
]; ];
final rows = final rows =
paymentsList paymentsList
.map( .map(
(item) => (item) => [
[ item.id ?? '',
item.id ?? '', item.payAccount ?? '',
item.payAccount ?? '', item.amount ?? '',
item.amount ?? '', item.bankName ?? "",
item.bankName??"", item.bankBranchName ?? '',
item.bankBranchName ?? '', item.bankAccountNumber ?? '',
item.bankAccountNumber ?? '', item.description ?? '',
item.description ?? '', item.requestMode ?? '',
item.requestMode ?? '', item.paymentReferenceNumber ?? '',
item.paymentReferenceNumber ?? '', item.createdEmployee ?? '',
item.createdEmployee ?? '', item.createdDatetime ?? '',
item.createdDatetime ?? '', ],
], )
) .toList();
.toList();
return [headers, ...rows]; return [headers, ...rows];
} }
...@@ -233,17 +254,11 @@ class Paymentrequisitionpaymentslistprovider extends ChangeNotifier{ ...@@ -233,17 +254,11 @@ class Paymentrequisitionpaymentslistprovider extends ChangeNotifier{
try { try {
if (Platform.isAndroid) { if (Platform.isAndroid) {
// Request storage permission for Android // Request storage permission for Android
if (await Permission.storage if (await Permission.storage.request().isGranted ||
.request() await Permission.manageExternalStorage.request().isGranted) {
.isGranted ||
await Permission.manageExternalStorage
.request()
.isGranted) {
final dir = await getApplicationDocumentsDirectory(); final dir = await getApplicationDocumentsDirectory();
if (dir != null) { print('Using Downloads directory: ${dir.path}');
print('Using Downloads directory: ${dir.path}'); return dir.path;
return dir.path;
}
} }
} }
} catch (e) { } catch (e) {
...@@ -373,4 +388,4 @@ class Paymentrequisitionpaymentslistprovider extends ChangeNotifier{ ...@@ -373,4 +388,4 @@ class Paymentrequisitionpaymentslistprovider extends ChangeNotifier{
_headings = []; _headings = [];
_subHeadings = []; _subHeadings = [];
} }
} }
\ No newline at end of file
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
...@@ -22,7 +21,10 @@ class LeaveApplicationDetailsProvider extends ChangeNotifier { ...@@ -22,7 +21,10 @@ class LeaveApplicationDetailsProvider extends ChangeNotifier {
String? get errorMessage => _errorMessage; String? get errorMessage => _errorMessage;
/// Fetch leave application details /// Fetch leave application details
Future<void> fetchLeaveApplicationDetails(BuildContext context, String leaveRequestId) async { Future<void> fetchLeaveApplicationDetails(
BuildContext context,
String leaveRequestId,
) async {
_isLoading = true; _isLoading = true;
_errorMessage = null; _errorMessage = null;
_response = null; _response = null;
...@@ -51,19 +53,22 @@ class LeaveApplicationDetailsProvider extends ChangeNotifier { ...@@ -51,19 +53,22 @@ class LeaveApplicationDetailsProvider extends ChangeNotifier {
} }
Future<void> leaveRequestRejectApprove( Future<void> leaveRequestRejectApprove(
BuildContext context, { BuildContext context, {
required String mode, required String mode,
required String type, required String type,
required String remarks, required String remarks,
required String id, required String id,
}) async { }) async {
_isSubmitting = true; _isSubmitting = true;
_errorMessage = null; _errorMessage = null;
_StatusResponse = null; _StatusResponse = null;
notifyListeners(); notifyListeners();
try { try {
final homeProvider = Provider.of<HomescreenNotifier>(context, listen: false); final homeProvider = Provider.of<HomescreenNotifier>(
context,
listen: false,
);
final result = await ApiCalling.leaveRequestRejectApproveAPI( final result = await ApiCalling.leaveRequestRejectApproveAPI(
homeProvider.session, homeProvider.session,
...@@ -80,7 +85,6 @@ class LeaveApplicationDetailsProvider extends ChangeNotifier { ...@@ -80,7 +85,6 @@ class LeaveApplicationDetailsProvider extends ChangeNotifier {
if (result.error != null && result.error!.isNotEmpty) { if (result.error != null && result.error!.isNotEmpty) {
_errorMessage = result.error; _errorMessage = result.error;
} else { } else {
// Show success snack bar // Show success snack bar
ScaffoldMessenger.of(context).showSnackBar( ScaffoldMessenger.of(context).showSnackBar(
SnackBar( SnackBar(
...@@ -103,11 +107,10 @@ class LeaveApplicationDetailsProvider extends ChangeNotifier { ...@@ -103,11 +107,10 @@ class LeaveApplicationDetailsProvider extends ChangeNotifier {
notifyListeners(); notifyListeners();
} }
/// Clear the current response data /// Clear the current response data
void clearData() { void clearData() {
_response = null; _response = null;
_errorMessage = null; _errorMessage = null;
notifyListeners(); notifyListeners();
} }
} }
\ No newline at end of file
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:generp/Models/hrmModels/attendanceRequestDetailsResponse.dart'; import 'package:generp/Models/hrmModels/attendanceRequestDetailsResponse.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import '../../Models/hrmModels/attendanceRequestListResponse.dart';
import '../../Models/ordersModels/commonResponse.dart'; import '../../Models/ordersModels/commonResponse.dart';
import '../../services/api_calling.dart'; import '../../services/api_calling.dart';
import '../HomeScreenNotifier.dart'; import '../HomeScreenNotifier.dart';
class AttendanceDetailsProvider extends ChangeNotifier { class AttendanceDetailsProvider extends ChangeNotifier {
attendanceRequestDetailsResponse? _response; attendanceRequestDetailsResponse? _response;
bool _isLoading = false; bool _isLoading = false;
...@@ -24,7 +20,7 @@ class AttendanceDetailsProvider extends ChangeNotifier { ...@@ -24,7 +20,7 @@ class AttendanceDetailsProvider extends ChangeNotifier {
bool get isLoading => _isLoading; bool get isLoading => _isLoading;
String? get errorMessage => _errorMessage; String? get errorMessage => _errorMessage;
Future<void> fetchAttendanceRequestDetail(context,String requestId) async { Future<void> fetchAttendanceRequestDetail(context, String requestId) async {
_isLoading = true; _isLoading = true;
_errorMessage = null; _errorMessage = null;
_response = null; _response = null;
...@@ -32,7 +28,11 @@ class AttendanceDetailsProvider extends ChangeNotifier { ...@@ -32,7 +28,11 @@ class AttendanceDetailsProvider extends ChangeNotifier {
try { try {
final provider = Provider.of<HomescreenNotifier>(context, listen: false); final provider = Provider.of<HomescreenNotifier>(context, listen: false);
final result = await ApiCalling.attendanceRequestDetailAPI(provider.empId, provider.session, requestId); final result = await ApiCalling.attendanceRequestDetailAPI(
provider.empId,
provider.session,
requestId,
);
if (result != null) { if (result != null) {
_response = result; _response = result;
...@@ -46,20 +46,24 @@ class AttendanceDetailsProvider extends ChangeNotifier { ...@@ -46,20 +46,24 @@ class AttendanceDetailsProvider extends ChangeNotifier {
_isLoading = false; _isLoading = false;
notifyListeners(); notifyListeners();
} }
Future<void> rejectApproveAttendanceRequest( Future<void> rejectApproveAttendanceRequest(
BuildContext context, { BuildContext context, {
required String mode, required String mode,
required String type, required String type,
required String remarks, required String remarks,
required String id, required String id,
}) async { }) async {
_isSubmitting = true; _isSubmitting = true;
_errorMessage = null; _errorMessage = null;
_RejectResponse = null; _RejectResponse = null;
notifyListeners(); notifyListeners();
try { try {
final homeProvider = Provider.of<HomescreenNotifier>(context, listen: false); final homeProvider = Provider.of<HomescreenNotifier>(
context,
listen: false,
);
print("############################+++++++++++++++++##########"); print("############################+++++++++++++++++##########");
final result = await ApiCalling.attendanceRequestApproveRejectAPI( final result = await ApiCalling.attendanceRequestApproveRejectAPI(
...@@ -92,5 +96,4 @@ class AttendanceDetailsProvider extends ChangeNotifier { ...@@ -92,5 +96,4 @@ class AttendanceDetailsProvider extends ChangeNotifier {
_isSubmitting = false; _isSubmitting = false;
notifyListeners(); notifyListeners();
} }
} }
import 'dart:io'; import 'dart:io';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
...@@ -46,7 +45,12 @@ class Attendancelistprovider extends ChangeNotifier { ...@@ -46,7 +45,12 @@ class Attendancelistprovider extends ChangeNotifier {
DateTime? get selectedDate => _selectedDate; DateTime? get selectedDate => _selectedDate;
// Type options for filter // Type options for filter
final List<String> typeOptions = ["All", "Check In", "Check Out", "Check In/Out"]; final List<String> typeOptions = [
"All",
"Check In",
"Check Out",
"Check In/Out",
];
// Date range options for filter // Date range options for filter
final List<String> dateRangeOptions = [ final List<String> dateRangeOptions = [
...@@ -66,14 +70,24 @@ class Attendancelistprovider extends ChangeNotifier { ...@@ -66,14 +70,24 @@ class Attendancelistprovider extends ChangeNotifier {
DateTime yesterday = today.subtract(const Duration(days: 1)); DateTime yesterday = today.subtract(const Duration(days: 1));
// normalize (remove time part) // normalize (remove time part)
DateTime normalizedSelected = DateTime(_selectedDate!.year, _selectedDate!.month, _selectedDate!.day); DateTime normalizedSelected = DateTime(
_selectedDate!.year,
_selectedDate!.month,
_selectedDate!.day,
);
DateTime normalizedToday = DateTime(today.year, today.month, today.day); DateTime normalizedToday = DateTime(today.year, today.month, today.day);
DateTime normalizedYesterday = DateTime(yesterday.year, yesterday.month, yesterday.day); DateTime normalizedYesterday = DateTime(
yesterday.year,
yesterday.month,
yesterday.day,
);
return normalizedSelected == normalizedToday || normalizedSelected == normalizedYesterday; return normalizedSelected == normalizedToday ||
normalizedSelected == normalizedYesterday;
} }
String? validateManualAttendance({//its working or not String? validateManualAttendance({
//its working or not
required String type, required String type,
required String? checkInTime, required String? checkInTime,
required String? checkInLoc, required String? checkInLoc,
...@@ -123,13 +137,18 @@ class Attendancelistprovider extends ChangeNotifier { ...@@ -123,13 +137,18 @@ class Attendancelistprovider extends ChangeNotifier {
return null; // everything ok return null; // everything ok
} }
CommonResponse? _RejectResponse; CommonResponse? _RejectResponse;
CommonResponse? get RejectResponse => _RejectResponse; CommonResponse? get RejectResponse => _RejectResponse;
/// Fetch attendance request list with filters /// Fetch attendance request list with filters
Future<void> fetchAttendanceRequests(BuildContext context, mode, Future<void> fetchAttendanceRequests(
{String? type, String? dateRange, DateTimeRange? customRange}) async { BuildContext context,
mode, {
String? type,
String? dateRange,
DateTimeRange? customRange,
}) async {
_isLoading = true; _isLoading = true;
_errorMessage = null; _errorMessage = null;
notifyListeners(); notifyListeners();
...@@ -143,7 +162,10 @@ class Attendancelistprovider extends ChangeNotifier { ...@@ -143,7 +162,10 @@ class Attendancelistprovider extends ChangeNotifier {
if (customRange != null) _customDateRange = customRange; if (customRange != null) _customDateRange = customRange;
// Calculate date range based on selection // Calculate date range based on selection
final dateParams = _getDateRangeParams(_selectedDateRange, _customDateRange); final dateParams = _getDateRangeParams(
_selectedDateRange,
_customDateRange,
);
// Convert "All" type to empty string for API // Convert "All" type to empty string for API
final apiType = _selectedType == "All" ? "" : _selectedType; final apiType = _selectedType == "All" ? "" : _selectedType;
...@@ -154,10 +176,12 @@ class Attendancelistprovider extends ChangeNotifier { ...@@ -154,10 +176,12 @@ class Attendancelistprovider extends ChangeNotifier {
apiType, apiType,
dateParams['from']!, dateParams['from']!,
dateParams['to']!, dateParams['to']!,
mode mode,
); );
debugPrint('Fetching attendance from: ${dateParams['from']} to: ${dateParams['to']}'); debugPrint(
'Fetching attendance from: ${dateParams['from']} to: ${dateParams['to']}',
);
if (result != null) { if (result != null) {
_response = result; _response = result;
...@@ -178,26 +202,29 @@ class Attendancelistprovider extends ChangeNotifier { ...@@ -178,26 +202,29 @@ class Attendancelistprovider extends ChangeNotifier {
/// --- Add Attendance Request --- /// --- Add Attendance Request ---
Future<void> addAttendanceRequest( Future<void> addAttendanceRequest(
BuildContext context, { BuildContext context, {
required String process, required String process,
required String type, required String type,
required String loc, required String loc,
required String checkDate, required String checkDate,
String? checkInTime, String? checkInTime,
String? checkInLoc, String? checkInLoc,
File? checkInProof, File? checkInProof,
String? checkOutTime, String? checkOutTime,
String? checkOutLoc, String? checkOutLoc,
File? checkOutProof, File? checkOutProof,
String? note, String? note,
}) async { }) async {
_isSubmitting = true; _isSubmitting = true;
_errorMessage = null; _errorMessage = null;
_addResponse = null; _addResponse = null;
notifyListeners(); notifyListeners();
try { try {
final homeProvider = Provider.of<HomescreenNotifier>(context, listen: false); final homeProvider = Provider.of<HomescreenNotifier>(
context,
listen: false,
);
final result = await ApiCalling.addAttendanceRequestAPI( final result = await ApiCalling.addAttendanceRequestAPI(
sessionId: homeProvider.session, sessionId: homeProvider.session,
...@@ -275,15 +302,14 @@ class Attendancelistprovider extends ChangeNotifier { ...@@ -275,15 +302,14 @@ class Attendancelistprovider extends ChangeNotifier {
notifyListeners(); notifyListeners();
} }
/// Apply filters coming from bottom sheet /// Apply filters coming from bottom sheet
void updateFiltersFromSheet( void updateFiltersFromSheet(
mode, mode,
BuildContext context, { BuildContext context, {
required String type, required String type,
required String selectedValue, required String selectedValue,
DateTimeRange? customRange, DateTimeRange? customRange,
}) { }) {
_selectedType = type; _selectedType = type;
_selectedDateRange = selectedValue; _selectedDateRange = selectedValue;
_customDateRange = customRange; _customDateRange = customRange;
...@@ -304,8 +330,12 @@ class Attendancelistprovider extends ChangeNotifier { ...@@ -304,8 +330,12 @@ class Attendancelistprovider extends ChangeNotifier {
} }
/// Set date range filter and refresh data /// Set date range filter and refresh data
void setDateRangeFilter(BuildContext context, String dateRange, mode, void setDateRangeFilter(
{DateTimeRange? customRange}) { BuildContext context,
String dateRange,
mode, {
DateTimeRange? customRange,
}) {
_selectedDateRange = dateRange; _selectedDateRange = dateRange;
if (customRange != null) { if (customRange != null) {
_customDateRange = customRange; _customDateRange = customRange;
...@@ -334,7 +364,10 @@ class Attendancelistprovider extends ChangeNotifier { ...@@ -334,7 +364,10 @@ class Attendancelistprovider extends ChangeNotifier {
} }
/// Get date range parameters for API /// Get date range parameters for API
Map<String, String> _getDateRangeParams(String dateRange, DateTimeRange? customRange) { Map<String, String> _getDateRangeParams(
String dateRange,
DateTimeRange? customRange,
) {
final now = DateTime.now(); final now = DateTime.now();
final formatter = DateFormat("dd MMM yyyy"); final formatter = DateFormat("dd MMM yyyy");
late DateTime from; late DateTime from;
...@@ -379,10 +412,7 @@ class Attendancelistprovider extends ChangeNotifier { ...@@ -379,10 +412,7 @@ class Attendancelistprovider extends ChangeNotifier {
to = now; to = now;
} }
return { return {"from": formatter.format(from), "to": formatter.format(to)};
"from": formatter.format(from),
"to": formatter.format(to),
};
} }
/// Format date for display /// Format date for display
...@@ -429,76 +459,80 @@ class Attendancelistprovider extends ChangeNotifier { ...@@ -429,76 +459,80 @@ class Attendancelistprovider extends ChangeNotifier {
showCupertinoModalPopup<void>( showCupertinoModalPopup<void>(
context: context, context: context,
builder: (BuildContext context) => Container( builder:
height: 250, (BuildContext context) => Container(
padding: const EdgeInsets.only(top: 6.0), height: 250,
margin: EdgeInsets.only( padding: const EdgeInsets.only(top: 6.0),
bottom: MediaQuery.of(context).viewInsets.bottom, margin: EdgeInsets.only(
), bottom: MediaQuery.of(context).viewInsets.bottom,
color: CupertinoColors.systemBackground.resolveFrom(context), ),
child: SafeArea( color: CupertinoColors.systemBackground.resolveFrom(context),
top: false, child: SafeArea(
child: Column( top: false,
children: [ child: Column(
// Cancel + Done Buttons children: [
SizedBox( // Cancel + Done Buttons
height: 55, SizedBox(
child: Row( height: 55,
mainAxisAlignment: MainAxisAlignment.spaceBetween, child: Row(
children: [ mainAxisAlignment: MainAxisAlignment.spaceBetween,
CupertinoButton( children: [
child: Text( CupertinoButton(
'Cancel', child: Text(
style: TextStyle( 'Cancel',
fontFamily: "JakartaMedium", style: TextStyle(
color: AppColors.app_blue, fontFamily: "JakartaMedium",
color: AppColors.app_blue,
),
),
onPressed: () => Navigator.pop(context),
), ),
), CupertinoButton(
onPressed: () => Navigator.pop(context), child: Text(
), 'Done',
CupertinoButton( style: TextStyle(
child: Text( fontFamily: "JakartaMedium",
'Done', color: AppColors.app_blue,
style: TextStyle( ),
fontFamily: "JakartaMedium", ),
color: AppColors.app_blue, onPressed: () {
// Ensure we save only date without time
final pickedDate = _selectedDate ?? today;
setSelectedDate(
DateTime(
pickedDate.year,
pickedDate.month,
pickedDate.day,
),
);
Navigator.pop(context);
},
), ),
), ],
onPressed: () { ),
// Ensure we save only date without time ),
final pickedDate = _selectedDate ?? today; // Cupertino Date Picker
setSelectedDate(DateTime( Expanded(
pickedDate.year, child: CupertinoDatePicker(
pickedDate.month, dateOrder: DatePickerDateOrder.dmy,
pickedDate.day, initialDateTime: _selectedDate ?? today,
)); minimumDate: today.subtract(const Duration(days: 2)),
Navigator.pop(context); maximumDate: today,
mode: CupertinoDatePickerMode.date,
use24hFormat: true,
showDayOfWeek: true,
onDateTimeChanged: (DateTime newDate) {
// Always normalize new date to midnight
setSelectedDate(
DateTime(newDate.year, newDate.month, newDate.day),
);
}, },
), ),
], ),
), ],
), ),
// Cupertino Date Picker ),
Expanded(
child: CupertinoDatePicker(
dateOrder: DatePickerDateOrder.dmy,
initialDateTime: _selectedDate ?? today,
minimumDate: today.subtract(const Duration(days: 2)),
maximumDate: today,
mode: CupertinoDatePickerMode.date,
use24hFormat: true,
showDayOfWeek: true,
onDateTimeChanged: (DateTime newDate) {
// Always normalize new date to midnight
setSelectedDate(DateTime(newDate.year, newDate.month, newDate.day));
},
),
),
],
), ),
),
),
); );
} }
} }
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
...@@ -32,7 +31,8 @@ class HrmAccessiblePagesProvider extends ChangeNotifier { ...@@ -32,7 +31,8 @@ class HrmAccessiblePagesProvider extends ChangeNotifier {
if (result != null) { if (result != null) {
_response = result; _response = result;
if (_response?.pagesAccessible == null || _response!.pagesAccessible!.isEmpty) { if (_response?.pagesAccessible == null ||
_response!.pagesAccessible!.isEmpty) {
_errorMessage = "No accessible pages found!"; _errorMessage = "No accessible pages found!";
} }
} else { } else {
......
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:generp/Models/ordersModels/commonResponse.dart'; import 'package:generp/Models/ordersModels/commonResponse.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
...@@ -39,7 +38,12 @@ class LeaveApplicationListProvider extends ChangeNotifier { ...@@ -39,7 +38,12 @@ class LeaveApplicationListProvider extends ChangeNotifier {
final TextEditingController reasonController = TextEditingController(); final TextEditingController reasonController = TextEditingController();
// Status options for filter // Status options for filter
final List<String> statusOptions = ["All", "Requested", "Approved", "Rejected"]; final List<String> statusOptions = [
"All",
"Requested",
"Approved",
"Rejected",
];
// Date range options for filter // Date range options for filter
final List<String> dateRangeOptions = [ final List<String> dateRangeOptions = [
...@@ -63,8 +67,13 @@ class LeaveApplicationListProvider extends ChangeNotifier { ...@@ -63,8 +67,13 @@ class LeaveApplicationListProvider extends ChangeNotifier {
DateTime? get selectedDate => _selectedDate; DateTime? get selectedDate => _selectedDate;
/// Fetch leave application list with filters /// Fetch leave application list with filters
Future<void> fetchLeaveApplications(BuildContext context, mode, Future<void> fetchLeaveApplications(
{String? status, String? dateRange, DateTimeRange? customRange}) async { BuildContext context,
mode, {
String? status,
String? dateRange,
DateTimeRange? customRange,
}) async {
_isLoading = true; _isLoading = true;
_errorMessage = null; _errorMessage = null;
notifyListeners(); notifyListeners();
...@@ -76,31 +85,38 @@ class LeaveApplicationListProvider extends ChangeNotifier { ...@@ -76,31 +85,38 @@ class LeaveApplicationListProvider extends ChangeNotifier {
final filterDateRange = dateRange ?? _selectedDateRange; final filterDateRange = dateRange ?? _selectedDateRange;
final filterCustomRange = customRange ?? _customDateRange; final filterCustomRange = customRange ?? _customDateRange;
final dateParams = _getDateRangeParams(filterDateRange, filterCustomRange); final dateParams = _getDateRangeParams(
filterDateRange,
filterCustomRange,
);
final result = await ApiCalling.leaveApplicationListAPI( final result = await ApiCalling.leaveApplicationListAPI(
provider.session, provider.session,
provider.empId, provider.empId,
dateParams['from']!, dateParams['from']!,
dateParams['to']!, dateParams['to']!,
mode mode,
); );
debugPrint( debugPrint(
'Fetching leave applications from: ${dateParams['from']} to: ${dateParams['to']}'); 'Fetching leave applications from: ${dateParams['from']} to: ${dateParams['to']}',
);
if (result != null) { if (result != null) {
_response = result; _response = result;
if (filterStatus != "All" && _response?.requestList != null) { if (filterStatus != "All" && _response?.requestList != null) {
_response!.requestList = _response!.requestList! _response!.requestList =
.where((item) => _response!.requestList!
item.status?.toLowerCase() == filterStatus.toLowerCase()) .where(
.toList(); (item) =>
item.status?.toLowerCase() ==
filterStatus.toLowerCase(),
)
.toList();
} }
if (_response?.requestList == null || if (_response?.requestList == null || _response!.requestList!.isEmpty) {
_response!.requestList!.isEmpty) {
_errorMessage = "No leave applications found!"; _errorMessage = "No leave applications found!";
} }
} else { } else {
...@@ -117,21 +133,24 @@ class LeaveApplicationListProvider extends ChangeNotifier { ...@@ -117,21 +133,24 @@ class LeaveApplicationListProvider extends ChangeNotifier {
/// --- Add Leave Request --- /// --- Add Leave Request ---
Future<void> addLeaveRequest( Future<void> addLeaveRequest(
BuildContext context, { BuildContext context, {
required String fromDate, required String fromDate,
required String fromTime, required String fromTime,
required String toDate, required String toDate,
required String toTime, required String toTime,
required String leaveType, required String leaveType,
required String reason, required String reason,
}) async { }) async {
_isSubmitting = true; _isSubmitting = true;
_errorMessage = null; _errorMessage = null;
_addResponse = null; _addResponse = null;
notifyListeners(); notifyListeners();
try { try {
final homeProvider = Provider.of<HomescreenNotifier>(context, listen: false); final homeProvider = Provider.of<HomescreenNotifier>(
context,
listen: false,
);
final result = await ApiCalling.leaveRequestAddAPI( final result = await ApiCalling.leaveRequestAddAPI(
homeProvider.session, homeProvider.session,
...@@ -197,7 +216,9 @@ class LeaveApplicationListProvider extends ChangeNotifier { ...@@ -197,7 +216,9 @@ class LeaveApplicationListProvider extends ChangeNotifier {
/// Get date range parameters for API /// Get date range parameters for API
Map<String, String> _getDateRangeParams( Map<String, String> _getDateRangeParams(
String dateRange, DateTimeRange? customRange) { String dateRange,
DateTimeRange? customRange,
) {
final now = DateTime.now(); final now = DateTime.now();
final formatter = DateFormat("dd MMM yyyy"); final formatter = DateFormat("dd MMM yyyy");
late DateTime from; late DateTime from;
...@@ -242,10 +263,7 @@ class LeaveApplicationListProvider extends ChangeNotifier { ...@@ -242,10 +263,7 @@ class LeaveApplicationListProvider extends ChangeNotifier {
to = now; to = now;
} }
return { return {"from": formatter.format(from), "to": formatter.format(to)};
"from": formatter.format(from),
"to": formatter.format(to),
};
} }
/// Format date /// Format date
...@@ -260,65 +278,72 @@ class LeaveApplicationListProvider extends ChangeNotifier { ...@@ -260,65 +278,72 @@ class LeaveApplicationListProvider extends ChangeNotifier {
showCupertinoModalPopup<void>( showCupertinoModalPopup<void>(
context: context, context: context,
builder: (BuildContext context) => Container( builder:
height: 250, (BuildContext context) => Container(
padding: const EdgeInsets.only(top: 6.0), height: 250,
margin: EdgeInsets.only( padding: const EdgeInsets.only(top: 6.0),
bottom: MediaQuery.of(context).viewInsets.bottom, margin: EdgeInsets.only(
), bottom: MediaQuery.of(context).viewInsets.bottom,
color: CupertinoColors.systemBackground.resolveFrom(context), ),
child: SafeArea( color: CupertinoColors.systemBackground.resolveFrom(context),
top: false, child: SafeArea(
child: Column( top: false,
children: [ child: Column(
SizedBox( children: [
height: 55, SizedBox(
child: Row( height: 55,
mainAxisAlignment: MainAxisAlignment.spaceBetween, child: Row(
children: [ mainAxisAlignment: MainAxisAlignment.spaceBetween,
CupertinoButton( children: [
child: const Text("Cancel", CupertinoButton(
style: TextStyle(color: Colors.blue)), child: const Text(
onPressed: () => Navigator.pop(context), "Cancel",
style: TextStyle(color: Colors.blue),
),
onPressed: () => Navigator.pop(context),
),
CupertinoButton(
child: const Text(
"Done",
style: TextStyle(color: Colors.blue),
),
onPressed: () {
if (isFromDate) {
fromDateField.text = _formatDate(
currentDate ?? now,
);
} else {
toDateField.text = _formatDate(
currentDate ?? now,
);
}
Navigator.pop(context);
},
),
],
), ),
CupertinoButton( ),
child: const Text("Done", Expanded(
style: TextStyle(color: Colors.blue)), child: CupertinoDatePicker(
onPressed: () { dateOrder: DatePickerDateOrder.dmy,
if (isFromDate) { initialDateTime: now,
fromDateField.text = minimumDate: DateTime(now.year, now.month, now.day),
_formatDate(currentDate ?? now); maximumDate: DateTime(now.year + 5), // limit
} else { mode: CupertinoDatePickerMode.date,
toDateField.text = onDateTimeChanged: (DateTime newDate) {
_formatDate(currentDate ?? now); currentDate = newDate;
}
Navigator.pop(context);
}, },
), ),
], ),
), ],
),
Expanded(
child: CupertinoDatePicker(
dateOrder: DatePickerDateOrder.dmy,
initialDateTime: now,
minimumDate: DateTime(now.year, now.month, now.day),
maximumDate: DateTime(now.year + 5), // limit
mode: CupertinoDatePickerMode.date,
onDateTimeChanged: (DateTime newDate) {
currentDate = newDate;
},
),
), ),
], ),
), ),
),
),
); );
} }
/// Apply filters /// Apply filters
void applyFilters(BuildContext context,mode) { void applyFilters(BuildContext context, mode) {
fetchLeaveApplications( fetchLeaveApplications(
context, context,
mode, mode,
...@@ -344,15 +369,20 @@ class LeaveApplicationListProvider extends ChangeNotifier { ...@@ -344,15 +369,20 @@ class LeaveApplicationListProvider extends ChangeNotifier {
return [headers]; return [headers];
} }
final rows = _response!.requestList!.map((item) => [ final rows =
item.id ?? '', _response!.requestList!
item.appliedDate ?? '', .map(
item.fromPeriod ?? '', (item) => [
item.toPeriod ?? '', item.id ?? '',
'', // leave type if available item.appliedDate ?? '',
item.status ?? '', item.fromPeriod ?? '',
'', // reason if available item.toPeriod ?? '',
]).toList(); '', // leave type if available
item.status ?? '',
'', // reason if available
],
)
.toList();
return [headers, ...rows]; return [headers, ...rows];
} }
......
...@@ -14,7 +14,10 @@ class TourExpensesDetailsProvider extends ChangeNotifier { ...@@ -14,7 +14,10 @@ class TourExpensesDetailsProvider extends ChangeNotifier {
bool get isLoading => _isLoading; bool get isLoading => _isLoading;
String? get errorMessage => _errorMessage; String? get errorMessage => _errorMessage;
Future<void> fetchTourExpensesDetails(BuildContext context, String tourBillId) async { Future<void> fetchTourExpensesDetails(
BuildContext context,
String tourBillId,
) async {
_isLoading = true; _isLoading = true;
_errorMessage = null; _errorMessage = null;
_response = null; _response = null;
...@@ -28,7 +31,7 @@ class TourExpensesDetailsProvider extends ChangeNotifier { ...@@ -28,7 +31,7 @@ class TourExpensesDetailsProvider extends ChangeNotifier {
tourBillId, tourBillId,
); );
print("==== Tour Submitted ===="); print("==== Tour Submitted ====");
print("empId: "+provider.empId); print("empId: ${provider.empId}");
print("Session: ${provider.session}"); print("Session: ${provider.session}");
print(": $result."); print(": $result.");
print("finish"); print("finish");
......
...@@ -5,41 +5,41 @@ import '../../Models/hrmmodels/ogresponse.dart'; ...@@ -5,41 +5,41 @@ import '../../Models/hrmmodels/ogresponse.dart';
import '../../services/api_calling.dart'; import '../../services/api_calling.dart';
import '../HomeScreenNotifier.dart'; import '../HomeScreenNotifier.dart';
class Orgprovider extends ChangeNotifier{ class Orgprovider extends ChangeNotifier {
List<Children> _employees = [];
List<Children> _employees=[];
String? _rootName; String? _rootName;
String? _rootId; String? _rootId;
String? _rootTitle; String? _rootTitle;
String? _rootProfile; String? _rootProfile;
List<Children> get employees => _employees; List<Children> get employees => _employees;
String? get rootName => _rootName; String? get rootName => _rootName;
String? get rootID => _rootId; String? get rootID => _rootId;
String? get rootTitle => _rootTitle; String? get rootTitle => _rootTitle;
String? get rootProfile => _rootProfile; String? get rootProfile => _rootProfile;
Future<void> ogChart(context) async{ Future<void> ogChart(context) async {
try{ try {
var homeProvider = Provider.of<HomescreenNotifier>( var homeProvider = Provider.of<HomescreenNotifier>(
context, context,
listen: false, listen: false,
); );
final data = await ApiCalling.ogChartAPI(homeProvider.empId, homeProvider.session); final data = await ApiCalling.ogChartAPI(
if(data!=null){ homeProvider.empId,
if(data.error=="0"){ homeProvider.session,
_rootName = data.name!; );
_rootId = data.id!; if (data != null) {
_rootProfile = data.profile!; if (data.error == "0") {
_rootTitle = data.title!; _rootName = data.name!;
_employees = data.children!; _rootId = data.id!;
_rootProfile = data.profile!;
_rootTitle = data.title!;
_employees = data.children!;
notifyListeners(); notifyListeners();
} }
} }
}catch(e,s){ } catch (e) {}
}
} }
} }
\ No newline at end of file
...@@ -11,6 +11,7 @@ import 'package:android_id/android_id.dart'; ...@@ -11,6 +11,7 @@ import 'package:android_id/android_id.dart';
import 'package:device_info_plus/device_info_plus.dart'; import 'package:device_info_plus/device_info_plus.dart';
import '../Utils/commonServices.dart'; import '../Utils/commonServices.dart';
class Loginnotifier extends ChangeNotifier { class Loginnotifier extends ChangeNotifier {
// Private variables // Private variables
String _emailError = ''; String _emailError = '';
...@@ -27,8 +28,8 @@ class Loginnotifier extends ChangeNotifier { ...@@ -27,8 +28,8 @@ class Loginnotifier extends ChangeNotifier {
static const _androidIdPlugin = AndroidId(); static const _androidIdPlugin = AndroidId();
bool get isButtonEnabled => bool get isButtonEnabled =>
_email.isNotEmpty && _email.isNotEmpty &&
_password.isNotEmpty && _password.isNotEmpty &&
RegExp(r'\S+@\S+\.\S+').hasMatch(_email); RegExp(r'\S+@\S+\.\S+').hasMatch(_email);
// Public getters // Public getters
String get emailError => _emailError; String get emailError => _emailError;
...@@ -39,19 +40,19 @@ class Loginnotifier extends ChangeNotifier { ...@@ -39,19 +40,19 @@ class Loginnotifier extends ChangeNotifier {
String get deviceId => _deviceId; String get deviceId => _deviceId;
String get deviceDetails => _deviceDetails; String get deviceDetails => _deviceDetails;
String get AndroidDevId => _androidId; String get AndroidDevId => _androidId;
int get loginStatus => _loginStatus; int get loginStatus => _loginStatus;
set isLoading(bool value){ set isLoading(bool value) {
_isLoading = value; _isLoading = value;
notifyListeners(); notifyListeners();
} }
Future<void> initAndroidId() async { Future<void> initAndroidId() async {
String androidId; String androidId;
var deviceInfo = DeviceInfoPlugin(); // import 'dart:io' var deviceInfo = DeviceInfoPlugin(); // import 'dart:io'
var androidDeviceInfo = await deviceInfo.androidInfo; var androidDeviceInfo = await deviceInfo.androidInfo;
_deviceDetails = await "Version Name: " + _deviceDetails =
"Version Name: " +
androidDeviceInfo.version.baseOS.toString().trim() + androidDeviceInfo.version.baseOS.toString().trim() +
", " + ", " +
"Version Code: " + "Version Code: " +
...@@ -96,12 +97,12 @@ set isLoading(bool value){ ...@@ -96,12 +97,12 @@ set isLoading(bool value){
try { try {
androidId = await _androidIdPlugin.getId() ?? 'Unknown ID'; androidId = await _androidIdPlugin.getId() ?? 'Unknown ID';
_deviceId = androidId; _deviceId = androidId;
debugPrint("testing" + deviceId); debugPrint("testing$deviceId");
debugPrint(_deviceDetails.toString()); debugPrint(_deviceDetails.toString());
} on PlatformException { } on PlatformException {
androidId = 'Failed to get Android ID.'; androidId = 'Failed to get Android ID.';
} }
_androidId = androidId; _androidId = androidId;
print(_deviceDetails); print(_deviceDetails);
print(_deviceId); print(_deviceId);
print(_androidId); print(_androidId);
...@@ -114,11 +115,10 @@ set isLoading(bool value){ ...@@ -114,11 +115,10 @@ set isLoading(bool value){
_deviceId = iosDeviceInfo.identifierForVendor!; _deviceId = iosDeviceInfo.identifierForVendor!;
_deviceDetails = iosDeviceInfo.toString(); _deviceDetails = iosDeviceInfo.toString();
notifyListeners(); notifyListeners();
return null;
} }
bool visibility_ov() {
bool visibility_ov(){
_pwdVisible = !_pwdVisible; _pwdVisible = !_pwdVisible;
print(_pwdVisible); print(_pwdVisible);
notifyListeners(); notifyListeners();
...@@ -155,14 +155,8 @@ set isLoading(bool value){ ...@@ -155,14 +155,8 @@ set isLoading(bool value){
return _emailError.isEmpty && _passwordError.isEmpty; return _emailError.isEmpty && _passwordError.isEmpty;
} }
Future<void> LoginApiFunction(context, email, password) async {
Future<void> LoginApiFunction(
context,
email,
password,
) async {
try { try {
if (!_validate(email, password)) return; if (!_validate(email, password)) return;
_isLoading = true; _isLoading = true;
...@@ -178,7 +172,7 @@ set isLoading(bool value){ ...@@ -178,7 +172,7 @@ set isLoading(bool value){
if (data != null) { if (data != null) {
_isLoading = false; _isLoading = false;
_loginErrorCode = data?.error; _loginErrorCode = data.error;
notifyListeners(); notifyListeners();
debugPrint("${data.error} login error here"); debugPrint("${data.error} login error here");
...@@ -195,15 +189,16 @@ set isLoading(bool value){ ...@@ -195,15 +189,16 @@ set isLoading(bool value){
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute(builder: (context) => MyHomePage(), MaterialPageRoute(
settings: RouteSettings(name: "MyHomePage")), builder: (context) => MyHomePage(),
settings: RouteSettings(name: "MyHomePage"),
),
); );
notifyListeners(); notifyListeners();
} else if (data.error == 1) { } else if (data.error == 1) {
_isLoading = false; _isLoading = false;
notifyListeners(); notifyListeners();
toast(context, toast(context, "You are not authorized to login in this device !");
"You are not authorized to login in this device !");
} else if (data.error == 2) { } else if (data.error == 2) {
_isLoading = false; _isLoading = false;
notifyListeners(); notifyListeners();
......
...@@ -55,10 +55,6 @@ class Addorderprovider extends ChangeNotifier { ...@@ -55,10 +55,6 @@ class Addorderprovider extends ChangeNotifier {
List<TextEditingController> TotalPriceControllers = []; List<TextEditingController> TotalPriceControllers = [];
List<TextEditingController> TaxableValueControllers = []; List<TextEditingController> TaxableValueControllers = [];
TextEditingController ProductController = TextEditingController(); TextEditingController ProductController = TextEditingController();
TextEditingController PriceController = TextEditingController(); TextEditingController PriceController = TextEditingController();
TextEditingController QuantityController = TextEditingController(text: "1"); TextEditingController QuantityController = TextEditingController(text: "1");
...@@ -180,7 +176,7 @@ class Addorderprovider extends ChangeNotifier { ...@@ -180,7 +176,7 @@ class Addorderprovider extends ChangeNotifier {
String? _formattedDate; String? _formattedDate;
Timer? _debounce; Timer? _debounce;
List<Map<String, String>> _selectedOrders = []; List<Map<String, String>> _selectedOrders = [];
String? productsEmptyError ; String? productsEmptyError;
List<Map<String, String>> get selectedOrders => _selectedOrders; List<Map<String, String>> get selectedOrders => _selectedOrders;
bool _submitClicked = false; bool _submitClicked = false;
...@@ -196,11 +192,13 @@ String? productsEmptyError ; ...@@ -196,11 +192,13 @@ String? productsEmptyError ;
_selectedOrders = selectedOrders; _selectedOrders = selectedOrders;
notifyListeners(); notifyListeners();
} }
set productRows(value) { set productRows(value) {
_productRows = value; _productRows = value;
productsEmptyError = ""; productsEmptyError = "";
notifyListeners(); notifyListeners();
} }
bool get isLoading => _isLoading; bool get isLoading => _isLoading;
String? get formattedDate => _formattedDate; String? get formattedDate => _formattedDate;
...@@ -321,7 +319,7 @@ String? productsEmptyError ; ...@@ -321,7 +319,7 @@ String? productsEmptyError ;
set selectedAccountList(AccountList? value) { set selectedAccountList(AccountList? value) {
_selectedAccountList = value; _selectedAccountList = value;
_selectedAccountID = value!.id; _selectedAccountID = value!.id;
_selectedAccountName = value!.text!; _selectedAccountName = value.text!;
notifyListeners(); notifyListeners();
} }
...@@ -338,7 +336,7 @@ String? productsEmptyError ; ...@@ -338,7 +336,7 @@ String? productsEmptyError ;
set selectedEmployees(Employees? value) { set selectedEmployees(Employees? value) {
_selectedEmployees = value; _selectedEmployees = value;
_selectedEmployeeID = value!.id; _selectedEmployeeID = value!.id;
_selectedEmployeeName = value!.name!; _selectedEmployeeName = value.name!;
notifyListeners(); notifyListeners();
} }
...@@ -355,7 +353,7 @@ String? productsEmptyError ; ...@@ -355,7 +353,7 @@ String? productsEmptyError ;
set selecetdBillingStates(States? value) { set selecetdBillingStates(States? value) {
_selectedBillingStates = value; _selectedBillingStates = value;
_selectedBillingStateID = value!.id; _selectedBillingStateID = value!.id;
_selectedBillingStateName = value!.name!; _selectedBillingStateName = value.name!;
selectedBillingStateError = ""; selectedBillingStateError = "";
notifyListeners(); notifyListeners();
} }
...@@ -375,7 +373,7 @@ String? productsEmptyError ; ...@@ -375,7 +373,7 @@ String? productsEmptyError ;
set selectedBillingDistricts(Districts? value) { set selectedBillingDistricts(Districts? value) {
_selectedBillingDistricts = value; _selectedBillingDistricts = value;
_selectedBillingDistrictID = value!.id; _selectedBillingDistrictID = value!.id;
_selectedBillingDistrictValue = value!.district; _selectedBillingDistrictValue = value.district;
selectedBillingDistrictError = ""; selectedBillingDistrictError = "";
// districtError = null; // districtError = null;
notifyListeners(); notifyListeners();
...@@ -384,7 +382,7 @@ String? productsEmptyError ; ...@@ -384,7 +382,7 @@ String? productsEmptyError ;
set selectedBillingSubLocations(SubLocations? value) { set selectedBillingSubLocations(SubLocations? value) {
_selectedBillingSubLocations = value; _selectedBillingSubLocations = value;
_selectedBillingSubLocID = value!.id; _selectedBillingSubLocID = value!.id;
_selectedBillingSubLocValue = value!.subLocality!; _selectedBillingSubLocValue = value.subLocality!;
selectedBillingSubLocError = ""; selectedBillingSubLocError = "";
// localityError = null; // localityError = null;
notifyListeners(); notifyListeners();
...@@ -478,7 +476,8 @@ String? productsEmptyError ; ...@@ -478,7 +476,8 @@ String? productsEmptyError ;
_selectedSaleProductID = value; _selectedSaleProductID = value;
notifyListeners(); notifyListeners();
} }
set selectedSingleSaleProductID(String? value){
set selectedSingleSaleProductID(String? value) {
_selectedSingleSaleProductID = value; _selectedSingleSaleProductID = value;
notifyListeners(); notifyListeners();
} }
...@@ -515,8 +514,8 @@ String? productsEmptyError ; ...@@ -515,8 +514,8 @@ String? productsEmptyError ;
set selectedTpcAgent(TpcList? value) { set selectedTpcAgent(TpcList? value) {
_selectedTpcAgent = value; _selectedTpcAgent = value;
_selectedTpcAgentID = value!.id; _selectedTpcAgentID = value!.id;
_selectedTpcAgentValue = value!.text; _selectedTpcAgentValue = value.text;
selectedTPCAgentError =null; selectedTPCAgentError = null;
notifyListeners(); notifyListeners();
} }
...@@ -620,30 +619,26 @@ String? productsEmptyError ; ...@@ -620,30 +619,26 @@ String? productsEmptyError ;
updateSummaryCalculations(); updateSummaryCalculations();
notifyListeners(); notifyListeners();
} }
void updateProduct(int index, Map<String, dynamic> updatedProduct) { void updateProduct(int index, Map<String, dynamic> updatedProduct) {
productRows[index] = updatedProduct; productRows[index] = updatedProduct;
updateSummaryCalculations(); updateSummaryCalculations();
notifyListeners(); notifyListeners();
} }
void updateProductCalculations() { void updateProductCalculations() {
final inclusivePrice = double.tryParse(PriceController.text) ?? 0.0;
final inclusivePrice = final quantity = double.tryParse(QuantityController.text) ?? 1.0;
double.tryParse(PriceController.text) ?? 0.0; final cgst = double.tryParse(CGSTController.text) ?? 0.0;
final quantity = double.tryParse(QuantityController.text) ?? 1.0; final sgst = double.tryParse(SGSTController.text) ?? 0.0;
final cgst = double.tryParse(CGSTController.text) ?? 0.0; final igst = double.tryParse(IGSTController.text) ?? 0.0;
final sgst = double.tryParse(SGSTController.text) ?? 0.0; final totalTaxRate = (cgst + sgst + igst) / 100;
final igst = double.tryParse(IGSTController.text) ?? 0.0; // Calculate taxable value per unit
final totalTaxRate = (cgst + sgst + igst) / 100; final taxableValuePerUnit = inclusivePrice / (1 + totalTaxRate);
// Calculate taxable value per unit // Total taxable value = taxable value per unit * quantity
final taxableValuePerUnit = inclusivePrice / (1 + totalTaxRate); final totalTaxableValue = taxableValuePerUnit * quantity;
// Total taxable value = taxable value per unit * quantity TaxableValueController.text = totalTaxableValue.toStringAsFixed(0);
final totalTaxableValue = taxableValuePerUnit * quantity; notifyListeners();
TaxableValueController.text = totalTaxableValue.toStringAsFixed(
0,
);
notifyListeners();
} }
void updateSummaryCalculations() { void updateSummaryCalculations() {
...@@ -702,18 +697,17 @@ String? productsEmptyError ; ...@@ -702,18 +697,17 @@ String? productsEmptyError ;
} }
void updateSelectedSingleProduct(SaleProducts? product) { void updateSelectedSingleProduct(SaleProducts? product) {
_selectedSaleProducts = product; _selectedSaleProducts = product;
_selectedSingleSaleProductID= product!.id; _selectedSingleSaleProductID = product!.id;
PriceController.text = product!.price!; PriceController.text = product.price!;
updateProductCalculations(); updateProductCalculations();
notifyListeners(); notifyListeners();
} }
void prefillProductForEdit(int index) { void prefillProductForEdit(int index) {
final product = productRows[index]; final product = productRows[index];
selectedSaleProducts = saleProducts.firstWhere( selectedSaleProducts = saleProducts.firstWhere(
(p) => p.id == product['product_id'], (p) => p.id == product['product_id'],
orElse: () => SaleProducts(id: '', prodName: 'Unknown'), orElse: () => SaleProducts(id: '', prodName: 'Unknown'),
); );
selectedSingleSaleProductID = product['product_id']; selectedSingleSaleProductID = product['product_id'];
...@@ -727,9 +721,6 @@ String? productsEmptyError ; ...@@ -727,9 +721,6 @@ String? productsEmptyError ;
notifyListeners(); notifyListeners();
} }
// void addNewRow() { // void addNewRow() {
// ProductControllers.add(TextEditingController()); // ProductControllers.add(TextEditingController());
// PriceControllers.add(TextEditingController()); // PriceControllers.add(TextEditingController());
...@@ -845,7 +836,7 @@ String? productsEmptyError ; ...@@ -845,7 +836,7 @@ String? productsEmptyError ;
notifyListeners(); notifyListeners();
} else {} } else {}
} else {} } else {}
} catch (e, s) {} } catch (e) {}
} }
void checkDropdownselected() { void checkDropdownselected() {
...@@ -916,44 +907,47 @@ String? productsEmptyError ; ...@@ -916,44 +907,47 @@ String? productsEmptyError ;
Future<void> ordersAddOrderAccountDetailsAPIFunction( Future<void> ordersAddOrderAccountDetailsAPIFunction(
context, context,
account_id, accountId,
) async { ) async {
try { try {
final provider = Provider.of<HomescreenNotifier>(context, listen: false); final provider = Provider.of<HomescreenNotifier>(context, listen: false);
final data = await ApiCalling.addOrderAccountDetailsAPI( final data = await ApiCalling.addOrderAccountDetailsAPI(
provider.empId, provider.empId,
provider.session, provider.session,
account_id, accountId,
); );
if (data != null) { if (data != null) {
if (data.error == "0") { if (data.error == "0") {
_accountDetails = data.accountDetails!; _accountDetails = data.accountDetails!;
data.accountDetails!.accManagerId!; data.accountDetails!.accManagerId!;
billingNameController.text = data.accountDetails!.name!; billingNameController.text = data.accountDetails!.name!;
_selectedBillingStates = billingStates!.firstWhere((e) => e.id == data.accountDetails!.state!); _selectedBillingStates = billingStates.firstWhere(
(e) => e.id == data.accountDetails!.state!,
);
_selectedBillingStateID = data.accountDetails!.state!; _selectedBillingStateID = data.accountDetails!.state!;
_selectedBillingStateName = billingStates!.firstWhere((e) => e.id == data.accountDetails!.state!).name; _selectedBillingStateName =
billingStates
.firstWhere((e) => e.id == data.accountDetails!.state!)
.name;
_selectedBillingDistrictID = data.accountDetails!.district!; _selectedBillingDistrictID = data.accountDetails!.district!;
_selectedBillingSubLocID = data.accountDetails!.subLocality!; _selectedBillingSubLocID = data.accountDetails!.subLocality!;
print("data.accountDetails!.state ${data.accountDetails!.state}"); print("data.accountDetails!.state ${data.accountDetails!.state}");
if(_selectedBillingStateID!=null){ if (_selectedBillingStateID != null) {
getDistrictAPI(context,data.accountDetails!.state); getDistrictAPI(context, data.accountDetails!.state);
} }
if(_selectedBillingDistrictID!=null){ if (_selectedBillingDistrictID != null) {
getSubLocationAPI(context,data.accountDetails!.district); getSubLocationAPI(context, data.accountDetails!.district);
} }
billingPincodeController.text = data.accountDetails!.pincode!; billingPincodeController.text = data.accountDetails!.pincode!;
billingAddressController.text = data.accountDetails!.address!; billingAddressController.text = data.accountDetails!.address!;
orderReceivedDateController.text = data.accountDetails!.date!; orderReceivedDateController.text = data.accountDetails!.date!;
gstController.text = data.accountDetails!.gstNumber!; gstController.text = data.accountDetails!.gstNumber!;
orderDateError = null; orderDateError = null;
billingNameError = null; billingNameError = null;
billingPincodeError =null; billingPincodeError = null;
billingAddressError = null; billingAddressError = null;
selectedBillingStateError = null; selectedBillingStateError = null;
selectedBillingDistrictError = null; selectedBillingDistrictError = null;
...@@ -961,7 +955,7 @@ String? productsEmptyError ; ...@@ -961,7 +955,7 @@ String? productsEmptyError ;
notifyListeners(); notifyListeners();
} else {} } else {}
} else {} } else {}
} catch (e, s) {} } catch (e) {}
} }
Future<void> getDistrictAPI(context, stateID) async { Future<void> getDistrictAPI(context, stateID) async {
...@@ -977,14 +971,19 @@ String? productsEmptyError ; ...@@ -977,14 +971,19 @@ String? productsEmptyError ;
if (data != null) { if (data != null) {
if (data.error == "0") { if (data.error == "0") {
_billingDistricts = data.districts!; _billingDistricts = data.districts!;
_selectedBillingDistricts = data.districts!.firstWhere((e) => e.id == accountDetails!.district!); _selectedBillingDistricts = data.districts!.firstWhere(
(e) => e.id == accountDetails.district!,
);
_selectedBillingDistrictValue = data.districts!.firstWhere((e) => e.id == accountDetails!.district!).district; _selectedBillingDistrictValue =
data.districts!
.firstWhere((e) => e.id == accountDetails.district!)
.district;
notifyListeners(); notifyListeners();
} }
} }
} catch (e, s) {} } catch (e) {}
} }
Future<void> getDispatchDistrictAPI(context, stateID) async { Future<void> getDispatchDistrictAPI(context, stateID) async {
...@@ -1004,7 +1003,7 @@ String? productsEmptyError ; ...@@ -1004,7 +1003,7 @@ String? productsEmptyError ;
notifyListeners(); notifyListeners();
} }
} }
} catch (e, s) {} } catch (e) {}
} }
Future<void> getSubLocationAPI(context, districtID) async { Future<void> getSubLocationAPI(context, districtID) async {
...@@ -1020,14 +1019,19 @@ String? productsEmptyError ; ...@@ -1020,14 +1019,19 @@ String? productsEmptyError ;
if (data != null) { if (data != null) {
if (data.error == "0") { if (data.error == "0") {
_billingSubLocations = data.subLocations!; _billingSubLocations = data.subLocations!;
_selectedBillingSubLocations = data.subLocations!.firstWhere((e) => e.id == accountDetails!.subLocality!); _selectedBillingSubLocations = data.subLocations!.firstWhere(
(e) => e.id == accountDetails.subLocality!,
);
_selectedBillingSubLocValue = data.subLocations!.firstWhere((e) => e.id == accountDetails!.subLocality!).subLocality; _selectedBillingSubLocValue =
data.subLocations!
.firstWhere((e) => e.id == accountDetails.subLocality!)
.subLocality;
notifyListeners(); notifyListeners();
} }
} }
} catch (e, s) {} } catch (e) {}
} }
Future<void> getDispatchSubLocationAPI(context, districtID) async { Future<void> getDispatchSubLocationAPI(context, districtID) async {
...@@ -1047,7 +1051,7 @@ String? productsEmptyError ; ...@@ -1047,7 +1051,7 @@ String? productsEmptyError ;
notifyListeners(); notifyListeners();
} }
} }
} catch (e, s) {} } catch (e) {}
} }
Future<void> ordersAddOrderTPCAgentFunction(context, mode, text) async { Future<void> ordersAddOrderTPCAgentFunction(context, mode, text) async {
...@@ -1065,7 +1069,7 @@ String? productsEmptyError ; ...@@ -1065,7 +1069,7 @@ String? productsEmptyError ;
notifyListeners(); notifyListeners();
} else {} } else {}
} else {} } else {}
} catch (e, s) {} } catch (e) {}
} }
Future<List<TpcList>> fetchTPCAccountsfromAPI(context, mode, text) async { Future<List<TpcList>> fetchTPCAccountsfromAPI(context, mode, text) async {
...@@ -1088,7 +1092,7 @@ String? productsEmptyError ; ...@@ -1088,7 +1092,7 @@ String? productsEmptyError ;
} else { } else {
return []; return [];
} }
} catch (e, s) { } catch (e) {
return []; return [];
} }
} }
...@@ -1096,20 +1100,20 @@ String? productsEmptyError ; ...@@ -1096,20 +1100,20 @@ String? productsEmptyError ;
Future<void> ordersAddOrderAPISubmitFunction( Future<void> ordersAddOrderAPISubmitFunction(
context, context,
mode, mode,
selected_empid, selectedEmpid,
selected_acid, selectedAcid,
selected_dis_stateId, selectedDisStateid,
selected_dis_districtId, selectedDisDistrictid,
selected_dis_subLocId, selectedDisSublocid,
unloading_scope, unloadingScope,
frieght_scope, frieghtScope,
erection_scope, erectionScope,
tpc_status, tpcStatus,
selected_bil_stateId, selectedBilStateid,
selected_bil_districtId, selectedBilDistrictid,
selected_bil_subLocId, selectedBilSublocid,
tpc_agent_id, tpcAgentId,
order_products, orderProducts,
) async { ) async {
try { try {
if (!validateAddOrder()) { if (!validateAddOrder()) {
...@@ -1121,11 +1125,11 @@ String? productsEmptyError ; ...@@ -1121,11 +1125,11 @@ String? productsEmptyError ;
provider.empId, provider.empId,
provider.session, provider.session,
mode, mode,
selected_empid, selectedEmpid,
selected_acid, selectedAcid,
selected_dis_stateId, selectedDisStateid,
selected_dis_districtId, selectedDisDistrictid,
selected_dis_subLocId, selectedDisSublocid,
dispatchPincodeController.text, dispatchPincodeController.text,
dispatchAddressController.text, dispatchAddressController.text,
basicAmount, basicAmount,
...@@ -1135,24 +1139,24 @@ String? productsEmptyError ; ...@@ -1135,24 +1139,24 @@ String? productsEmptyError ;
totalAmount, totalAmount,
formattedDate, formattedDate,
noteController.text, noteController.text,
unloading_scope, unloadingScope,
frieght_scope, frieghtScope,
erection_scope, erectionScope,
tpc_status, tpcStatus,
billingNameController.text, billingNameController.text,
gstController.text, gstController.text,
billingPincodeController.text, billingPincodeController.text,
billingAddressController.text, billingAddressController.text,
selected_bil_stateId, selectedBilStateid,
selected_bil_districtId, selectedBilDistrictid,
selected_bil_subLocId, selectedBilSublocid,
order_products, orderProducts,
"", "",
"", "",
"", "",
latlongs, latlongs,
tpcAmountController.text, tpcAmountController.text,
tpc_agent_id, tpcAgentId,
_image, _image,
); );
if (data != null) { if (data != null) {
...@@ -1170,7 +1174,7 @@ String? productsEmptyError ; ...@@ -1170,7 +1174,7 @@ String? productsEmptyError ;
_submitClicked = false; _submitClicked = false;
notifyListeners(); notifyListeners();
} }
} catch (e, s) { } catch (e) {
_submitClicked = false; _submitClicked = false;
notifyListeners(); notifyListeners();
} }
...@@ -1220,8 +1224,8 @@ String? productsEmptyError ; ...@@ -1220,8 +1224,8 @@ String? productsEmptyError ;
actions: <Widget>[ actions: <Widget>[
TextButton( TextButton(
style: ButtonStyle( style: ButtonStyle(
backgroundColor: MaterialStateProperty.all(Colors.white), backgroundColor: WidgetStateProperty.all(Colors.white),
overlayColor: MaterialStateProperty.all(Colors.white), overlayColor: WidgetStateProperty.all(Colors.white),
), ),
onPressed: () async { onPressed: () async {
// await openAppSettings(); // await openAppSettings();
...@@ -1242,23 +1246,21 @@ String? productsEmptyError ; ...@@ -1242,23 +1246,21 @@ String? productsEmptyError ;
} }
final Location.LocationData locData = await location.getLocation(); final Location.LocationData locData = await location.getLocation();
if (locData != null) { currentLocation = locData;
currentLocation = locData; currentLocationLatLng = LatLng(locData.latitude!, locData.longitude!);
currentLocationLatLng = LatLng(locData.latitude!, locData.longitude!); latlongs = "${locData.latitude}, ${locData.longitude}";
latlongs = "${locData.latitude}, ${locData.longitude}"; markers.clear();
markers.clear(); markers.add(
markers.add( Marker(
Marker( markerId: MarkerId('current_location'),
markerId: MarkerId('current_location'), position: LatLng(locData.latitude!, locData.longitude!),
position: LatLng(locData.latitude!, locData.longitude!), infoWindow: InfoWindow(title: 'Current Location'),
infoWindow: InfoWindow(title: 'Current Location'), icon: BitmapDescriptor.defaultMarker,
icon: BitmapDescriptor.defaultMarker, ),
), );
); latlongs = '${locData.latitude},${locData.longitude}';
latlongs = '${locData.latitude},${locData.longitude}';
notifyListeners(); notifyListeners();
}
} }
Future<void> ordersAddOrderSelectAccountAPIFunction( Future<void> ordersAddOrderSelectAccountAPIFunction(
...@@ -1269,7 +1271,7 @@ String? productsEmptyError ; ...@@ -1269,7 +1271,7 @@ String? productsEmptyError ;
) async { ) async {
print(search); print(search);
try { try {
if (search==null) { if (search == null) {
_accountList = []; _accountList = [];
_isLoading = false; _isLoading = false;
notifyListeners(); notifyListeners();
...@@ -1297,7 +1299,7 @@ String? productsEmptyError ; ...@@ -1297,7 +1299,7 @@ String? productsEmptyError ;
notifyListeners(); notifyListeners();
} else { } else {
selectAccountError = data?.message ?? "Failed to load accounts"; selectAccountError = data.message ?? "Failed to load accounts";
_isLoading = false; _isLoading = false;
notifyListeners(); notifyListeners();
} }
...@@ -1306,23 +1308,22 @@ String? productsEmptyError ; ...@@ -1306,23 +1308,22 @@ String? productsEmptyError ;
_isLoading = false; _isLoading = false;
notifyListeners(); notifyListeners();
} }
} catch (e, s) { } catch (e) {
selectAccountError = "An error occurred while fetching accounts"; selectAccountError = "An error occurred while fetching accounts";
_isLoading = false; _isLoading = false;
notifyListeners(); notifyListeners();
} }
} }
Future<List<AccountList>> fetchAccountsFromApi( Future<List<AccountList>> fetchAccountsFromApi(
context, context,
mode, mode,
accountId, accountId,
search, search,
) async { ) async {
print(search); print(search);
try { try {
if (search==null) { if (search == null) {
_accountList = []; _accountList = [];
_isLoading = false; _isLoading = false;
notifyListeners(); notifyListeners();
...@@ -1351,7 +1352,7 @@ String? productsEmptyError ; ...@@ -1351,7 +1352,7 @@ String? productsEmptyError ;
notifyListeners(); notifyListeners();
return _accountList; return _accountList;
} else { } else {
selectAccountError = data?.message ?? "Failed to load accounts"; selectAccountError = data.message ?? "Failed to load accounts";
_isLoading = false; _isLoading = false;
notifyListeners(); notifyListeners();
...@@ -1363,8 +1364,7 @@ String? productsEmptyError ; ...@@ -1363,8 +1364,7 @@ String? productsEmptyError ;
notifyListeners(); notifyListeners();
return []; return [];
} }
} catch (e, s) { } catch (e) {
selectAccountError = "An error occurred while fetching accounts"; selectAccountError = "An error occurred while fetching accounts";
_isLoading = false; _isLoading = false;
notifyListeners(); notifyListeners();
...@@ -1382,9 +1382,9 @@ String? productsEmptyError ; ...@@ -1382,9 +1382,9 @@ String? productsEmptyError ;
debugPrint("added"); debugPrint("added");
_image = File(galleryImage!.path); _image = File(galleryImage!.path);
_imageName = File(galleryImage!.name); _imageName = File(galleryImage.name);
_imagePicked = 1; _imagePicked = 1;
if(_imagePicked==0){ if (_imagePicked == 0) {
FileError = "Please Select Attachment"; FileError = "Please Select Attachment";
} }
FileError = null; FileError = null;
...@@ -1407,9 +1407,9 @@ String? productsEmptyError ; ...@@ -1407,9 +1407,9 @@ String? productsEmptyError ;
debugPrint("Jenny: bytes:$bytes, kb:$kb, mb: $mb"); debugPrint("Jenny: bytes:$bytes, kb:$kb, mb: $mb");
_image = File(galleryImage!.path); _image = File(galleryImage!.path);
_imageName = File(galleryImage!.name); _imageName = File(galleryImage.name);
_imagePicked = 1; _imagePicked = 1;
if(_imagePicked==0){ if (_imagePicked == 0) {
FileError = "Please Select Attachment"; FileError = "Please Select Attachment";
} }
FileError = null; FileError = null;
...@@ -1421,7 +1421,7 @@ String? productsEmptyError ; ...@@ -1421,7 +1421,7 @@ String? productsEmptyError ;
} }
void onChangedBillingName(value) { void onChangedBillingName(value) {
billingNameError =null; billingNameError = null;
notifyListeners(); notifyListeners();
} }
...@@ -1464,7 +1464,7 @@ String? productsEmptyError ; ...@@ -1464,7 +1464,7 @@ String? productsEmptyError ;
bool isValid = true; bool isValid = true;
selectAccountError = null; selectAccountError = null;
billingNameError = null; billingNameError = null;
orderDateError =null; orderDateError = null;
billingAddressError = null; billingAddressError = null;
billingPincodeError = null; billingPincodeError = null;
dispatchAddressError = null; dispatchAddressError = null;
...@@ -1483,51 +1483,53 @@ String? productsEmptyError ; ...@@ -1483,51 +1483,53 @@ String? productsEmptyError ;
selectedTPCApplicableError = null; selectedTPCApplicableError = null;
selectedTPCAgentError = null; selectedTPCAgentError = null;
if (_selectedAccountList == null || _selectedAccountID==null) { if (_selectedAccountList == null || _selectedAccountID == null) {
selectAccountError = "Please select an Account"; selectAccountError = "Please select an Account";
isValid = false; isValid = false;
} }
if (_selectedAccountList == null || _selectedAccountID==null) { if (_selectedAccountList == null || _selectedAccountID == null) {
selectAccountError = "Please select an Account"; selectAccountError = "Please select an Account";
isValid = false; isValid = false;
} }
if (_selectedBillingStates == null || _selectedBillingStateID==null) { if (_selectedBillingStates == null || _selectedBillingStateID == null) {
selectedBillingStateError = "Please select a State"; selectedBillingStateError = "Please select a State";
isValid = false; isValid = false;
} }
if (_selectedBillingDistricts == null || _selectedBillingDistrictID==null) { if (_selectedBillingDistricts == null ||
_selectedBillingDistrictID == null) {
selectedBillingDistrictError = "Please select a District"; selectedBillingDistrictError = "Please select a District";
isValid = false; isValid = false;
} }
if (_selectedBillingSubLocations == null || _selectedBillingSubLocID==null) { if (_selectedBillingSubLocations == null ||
_selectedBillingSubLocID == null) {
selectedBillingSubLocError = "Please select a Location"; selectedBillingSubLocError = "Please select a Location";
isValid = false; isValid = false;
} }
if (_selectedDispatchStates == null || _selectedDispatchStateID==null) { if (_selectedDispatchStates == null || _selectedDispatchStateID == null) {
selectedDispatchStateError = "Please select a State"; selectedDispatchStateError = "Please select a State";
isValid = false; isValid = false;
} }
if (_selectedDispatchDistricts == null || _selectedDispatchDistrictID==null) { if (_selectedDispatchDistricts == null ||
_selectedDispatchDistrictID == null) {
selectedDispatchDistrictError = "Please select a District"; selectedDispatchDistrictError = "Please select a District";
isValid = false; isValid = false;
} }
if (_selectedDispatchSubLocations == null || _selectedDispatchSubLocID==null) { if (_selectedDispatchSubLocations == null ||
_selectedDispatchSubLocID == null) {
selectedDispatchSubLocError = "Please select a Location"; selectedDispatchSubLocError = "Please select a Location";
isValid = false; isValid = false;
} }
if (orderReceivedDateController.text.trim().isEmpty) { if (orderReceivedDateController.text.trim().isEmpty) {
orderDateError = "Please Enter Received Date"; orderDateError = "Please Enter Received Date";
isValid = false; isValid = false;
} }
if (billingNameController.text.trim().isEmpty) { if (billingNameController.text.trim().isEmpty) {
isValid = false; isValid = false;
...@@ -1570,7 +1572,7 @@ String? productsEmptyError ; ...@@ -1570,7 +1572,7 @@ String? productsEmptyError ;
isValid = false; isValid = false;
} }
if (_selectedTpcStatus == "Yes") { if (_selectedTpcStatus == "Yes") {
if (_selectedTpcAgent == null || _selectedTpcAgentID==null) { if (_selectedTpcAgent == null || _selectedTpcAgentID == null) {
selectedTPCAgentError = "Please select an Agent"; selectedTPCAgentError = "Please select an Agent";
isValid = false; isValid = false;
} }
...@@ -1595,29 +1597,29 @@ String? productsEmptyError ; ...@@ -1595,29 +1597,29 @@ String? productsEmptyError ;
selectedBillingDistrictError = null; selectedBillingDistrictError = null;
selectedBillingSubLocError = null; selectedBillingSubLocError = null;
if (_selectedAccountList == null || _selectedAccountID == null) {
if (_selectedAccountList == null || _selectedAccountID==null) {
selectAccountError = "Please select an Account"; selectAccountError = "Please select an Account";
isValid = false; isValid = false;
} }
if (_selectedBillingStates == null || _selectedBillingStateID==null) { if (_selectedBillingStates == null || _selectedBillingStateID == null) {
selectedBillingStateError = "Please select a State"; selectedBillingStateError = "Please select a State";
isValid = false; isValid = false;
} }
if (_selectedBillingDistricts == null || _selectedBillingDistrictID==null) { if (_selectedBillingDistricts == null ||
_selectedBillingDistrictID == null) {
selectedBillingDistrictError = "Please select a District"; selectedBillingDistrictError = "Please select a District";
isValid = false; isValid = false;
} }
if (_selectedBillingSubLocations == null || _selectedBillingSubLocID==null) { if (_selectedBillingSubLocations == null ||
_selectedBillingSubLocID == null) {
selectedBillingSubLocError = "Please select a Location"; selectedBillingSubLocError = "Please select a Location";
isValid = false; isValid = false;
} }
if (orderReceivedDateController.text.trim().isEmpty) { if (orderReceivedDateController.text.trim().isEmpty) {
isValid = false; isValid = false;
orderDateError = "Please Enter Received Date"; orderDateError = "Please Enter Received Date";
} }
...@@ -1633,7 +1635,7 @@ String? productsEmptyError ; ...@@ -1633,7 +1635,7 @@ String? productsEmptyError ;
isValid = false; isValid = false;
billingPincodeError = "Please Enter Pin Code"; billingPincodeError = "Please Enter Pin Code";
} }
if(billingPincodeController.text.length<6){ if (billingPincodeController.text.length < 6) {
isValid = false; isValid = false;
billingPincodeError = "Please Enter a valid Pin Code"; billingPincodeError = "Please Enter a valid Pin Code";
} }
...@@ -1641,6 +1643,7 @@ String? productsEmptyError ; ...@@ -1641,6 +1643,7 @@ String? productsEmptyError ;
notifyListeners(); notifyListeners();
return isValid; return isValid;
} }
bool validateForm2() { bool validateForm2() {
bool isValid = true; bool isValid = true;
dispatchAddressError = null; dispatchAddressError = null;
...@@ -1651,17 +1654,19 @@ String? productsEmptyError ; ...@@ -1651,17 +1654,19 @@ String? productsEmptyError ;
selectedDispatchSubLocError = null; selectedDispatchSubLocError = null;
FileError = null; FileError = null;
if (_selectedDispatchStates == null || _selectedDispatchStateID==null) { if (_selectedDispatchStates == null || _selectedDispatchStateID == null) {
selectedDispatchStateError = "Please select a State"; selectedDispatchStateError = "Please select a State";
isValid = false; isValid = false;
} }
if (_selectedDispatchDistricts == null || _selectedDispatchDistrictID==null) { if (_selectedDispatchDistricts == null ||
_selectedDispatchDistrictID == null) {
selectedDispatchDistrictError = "Please select a District"; selectedDispatchDistrictError = "Please select a District";
isValid = false; isValid = false;
} }
if (_selectedDispatchSubLocations == null || _selectedDispatchSubLocID==null) { if (_selectedDispatchSubLocations == null ||
_selectedDispatchSubLocID == null) {
selectedDispatchSubLocError = "Please select a Location"; selectedDispatchSubLocError = "Please select a Location";
isValid = false; isValid = false;
} }
...@@ -1671,11 +1676,10 @@ String? productsEmptyError ; ...@@ -1671,11 +1676,10 @@ String? productsEmptyError ;
isValid = false; isValid = false;
} }
if (dispatchPincodeController.text.trim().isEmpty) { if (dispatchPincodeController.text.trim().isEmpty) {
dispatchPincodeError = "Please Enter Dispatch Pin Code"; dispatchPincodeError = "Please Enter Dispatch Pin Code";
isValid = false; isValid = false;
} }
if(dispatchPincodeController.text.length<6){ if (dispatchPincodeController.text.length < 6) {
isValid = false; isValid = false;
dispatchPincodeError = "Please Enter a valid Pin Code"; dispatchPincodeError = "Please Enter a valid Pin Code";
} }
...@@ -1683,7 +1687,7 @@ String? productsEmptyError ; ...@@ -1683,7 +1687,7 @@ String? productsEmptyError ;
gstError = "Please Enter GST Number"; gstError = "Please Enter GST Number";
isValid = false; isValid = false;
} }
if(_imagePicked==0){ if (_imagePicked == 0) {
FileError = "Please provide an Attachment"; FileError = "Please provide an Attachment";
isValid = false; isValid = false;
} }
...@@ -1720,7 +1724,7 @@ String? productsEmptyError ; ...@@ -1720,7 +1724,7 @@ String? productsEmptyError ;
} }
if (_selectedTpcStatus == "Yes") { if (_selectedTpcStatus == "Yes") {
if (_selectedTpcAgent == null || _selectedTpcAgentID==null) { if (_selectedTpcAgent == null || _selectedTpcAgentID == null) {
selectedTPCAgentError = "Please select an Agent"; selectedTPCAgentError = "Please select an Agent";
isValid = false; isValid = false;
} }
...@@ -1736,7 +1740,7 @@ String? productsEmptyError ; ...@@ -1736,7 +1740,7 @@ String? productsEmptyError ;
bool validateForm4() { bool validateForm4() {
bool isValid = true; bool isValid = true;
if(productRows.isEmpty || _productRows.isEmpty){ if (productRows.isEmpty || _productRows.isEmpty) {
productsEmptyError = "Please Add min. one Product"; productsEmptyError = "Please Add min. one Product";
isValid = false; isValid = false;
} }
...@@ -1781,21 +1785,37 @@ String? productsEmptyError ; ...@@ -1781,21 +1785,37 @@ String? productsEmptyError ;
orderReceivedDateController.clear(); orderReceivedDateController.clear();
noteController.clear(); noteController.clear();
selectedSingleSaleProductID = null; selectedSingleSaleProductID = null;
ProductControllers.forEach((action) => action.dispose()); for (var action in ProductControllers) {
action.dispose();
}
ProductControllers.clear(); ProductControllers.clear();
PriceControllers.forEach((action) => action.dispose()); for (var action in PriceControllers) {
action.dispose();
}
PriceControllers.clear(); PriceControllers.clear();
QuantityControllers.forEach((action) => action.dispose()); for (var action in QuantityControllers) {
action.dispose();
}
QuantityControllers.clear(); QuantityControllers.clear();
CGSTControllers.forEach((action) => action.dispose()); for (var action in CGSTControllers) {
action.dispose();
}
CGSTControllers.clear(); CGSTControllers.clear();
SGSTControllers.forEach((action) => action.dispose()); for (var action in SGSTControllers) {
action.dispose();
}
SGSTControllers.clear(); SGSTControllers.clear();
IGSTControllers.forEach((action) => action.dispose()); for (var action in IGSTControllers) {
action.dispose();
}
IGSTControllers.clear(); IGSTControllers.clear();
TotalPriceControllers.forEach((action) => action.dispose()); for (var action in TotalPriceControllers) {
action.dispose();
}
TotalPriceControllers.clear(); TotalPriceControllers.clear();
TaxableValueControllers.forEach((action) => action.dispose()); for (var action in TaxableValueControllers) {
action.dispose();
}
TaxableValueControllers.clear(); TaxableValueControllers.clear();
basicAmountReadOnlyController.clear(); basicAmountReadOnlyController.clear();
cgstReadOnlyController.clear(); cgstReadOnlyController.clear();
...@@ -1894,7 +1914,10 @@ String? productsEmptyError ; ...@@ -1894,7 +1914,10 @@ String? productsEmptyError ;
CupertinoButton( CupertinoButton(
child: Text( child: Text(
'Cancel', 'Cancel',
style: TextStyle(fontFamily: "JakartaMedium",color: AppColors.app_blue), style: TextStyle(
fontFamily: "JakartaMedium",
color: AppColors.app_blue,
),
), ),
onPressed: () { onPressed: () {
Navigator.pop(context); Navigator.pop(context);
...@@ -1903,10 +1926,13 @@ String? productsEmptyError ; ...@@ -1903,10 +1926,13 @@ String? productsEmptyError ;
CupertinoButton( CupertinoButton(
child: Text( child: Text(
'Done', 'Done',
style: TextStyle(fontFamily: "JakartaMedium",color: AppColors.app_blue), style: TextStyle(
fontFamily: "JakartaMedium",
color: AppColors.app_blue,
),
), ),
onPressed: () { onPressed: () {
setDate(_date ?? DateTime.now() ); setDate(_date ?? DateTime.now());
Navigator.pop(context); Navigator.pop(context);
}, },
......
...@@ -16,8 +16,7 @@ import '../../Models/ordersModels/AddOrderPaymentSelectAccountResponse.dart'; ...@@ -16,8 +16,7 @@ import '../../Models/ordersModels/AddOrderPaymentSelectAccountResponse.dart';
import '../../Models/ordersModels/AddOrderPaymentSelectOrderResponse.dart'; import '../../Models/ordersModels/AddOrderPaymentSelectOrderResponse.dart';
import '../../Utils/app_colors.dart'; import '../../Utils/app_colors.dart';
class Addpaymentprovider extends ChangeNotifier{ class Addpaymentprovider extends ChangeNotifier {
bool _submitClicked = false; bool _submitClicked = false;
TextEditingController dropDownSearchController = TextEditingController(); TextEditingController dropDownSearchController = TextEditingController();
...@@ -34,8 +33,6 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -34,8 +33,6 @@ class Addpaymentprovider extends ChangeNotifier{
String paymentModeError = ""; String paymentModeError = "";
String paymentRefError = ""; String paymentRefError = "";
List<TextEditingController> orderAmountControllers = []; List<TextEditingController> orderAmountControllers = [];
String? FileError; String? FileError;
...@@ -53,7 +50,7 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -53,7 +50,7 @@ class Addpaymentprovider extends ChangeNotifier{
List<String> _paymentMode = []; List<String> _paymentMode = [];
List<String> _description = []; List<String> _description = [];
List<AccountList> _accountList = []; List<AccountList> _accountList = [];
List<OrderList> _orderList= []; List<OrderList> _orderList = [];
List<Map<String, String>> _selectedOrders = []; List<Map<String, String>> _selectedOrders = [];
String? _selectedPaymentMode; String? _selectedPaymentMode;
...@@ -68,9 +65,7 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -68,9 +65,7 @@ class Addpaymentprovider extends ChangeNotifier{
List<String?> _selectedBalanceAmounts = []; List<String?> _selectedBalanceAmounts = [];
List<String?> _selectedCreatedDatetimes = []; List<String?> _selectedCreatedDatetimes = [];
bool get submitClicked => _submitClicked;
bool get submitClicked =>_submitClicked;
List<String> get paymentMode => _paymentMode; List<String> get paymentMode => _paymentMode;
List<String> get description => _description; List<String> get description => _description;
bool get isLoading => _isLoading; bool get isLoading => _isLoading;
...@@ -97,54 +92,60 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -97,54 +92,60 @@ class Addpaymentprovider extends ChangeNotifier{
File? get imageFilePath => _image; File? get imageFilePath => _image;
int get imagePicked => _imagePicked; int get imagePicked => _imagePicked;
set submitClicked(bool value){ set submitClicked(bool value) {
_submitClicked = value; _submitClicked = value;
notifyListeners(); notifyListeners();
} }
set accountList(List<AccountList> value){ set accountList(List<AccountList> value) {
_accountList = value; _accountList = value;
notifyListeners(); notifyListeners();
} }
set selectedPaymentMode(String? value){ set selectedPaymentMode(String? value) {
_selectedPaymentMode = value; _selectedPaymentMode = value;
paymentModeError = ""; paymentModeError = "";
notifyListeners(); notifyListeners();
} }
set selectedOrders(value){ set selectedOrders(value) {
_selectedOrders = selectedOrders; _selectedOrders = selectedOrders;
notifyListeners(); notifyListeners();
} }
set selectedDescription(String? value){
set selectedDescription(String? value) {
_selectedDescription = value; _selectedDescription = value;
descriptionError = ""; descriptionError = "";
notifyListeners(); notifyListeners();
} }
set selectedAccountList(AccountList? value){
set selectedAccountList(AccountList? value) {
_selectedAccountList = value; _selectedAccountList = value;
_selectedAccountID = value?.id!; _selectedAccountID = value?.id!;
_selectedAccountName = value!.text!; _selectedAccountName = value!.text!;
selectAccountError = ""; selectAccountError = "";
notifyListeners(); notifyListeners();
} }
set selectedAccountID(String? value){
set selectedAccountID(String? value) {
_selectedAccountID = value; _selectedAccountID = value;
notifyListeners(); notifyListeners();
} }
set selectedAccountName(String? value){
set selectedAccountName(String? value) {
_selectedAccountName = value; _selectedAccountName = value;
notifyListeners(); notifyListeners();
} }
set selectedOrderLists(OrderList? value){
set selectedOrderLists(OrderList? value) {
_selectedOrderLists = value; _selectedOrderLists = value;
notifyListeners(); notifyListeners();
} }
void updateSelectedOrderId(int index, OrderList? value) { void updateSelectedOrderId(int index, OrderList? value) {
_selectedOrderLists = value!; _selectedOrderLists = value!;
_updateAdjustedAmount(); _updateAdjustedAmount();
_selectedOrderIds[index] = value!.orderId; _selectedOrderIds[index] = value.orderId;
print(_selectedOrderIds[index]); print(_selectedOrderIds[index]);
notifyListeners(); notifyListeners();
} }
...@@ -153,14 +154,17 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -153,14 +154,17 @@ class Addpaymentprovider extends ChangeNotifier{
_selectedOrderNumbers = value; _selectedOrderNumbers = value;
notifyListeners(); notifyListeners();
} }
set selectedTotalAmounts(List<String?> value) { set selectedTotalAmounts(List<String?> value) {
_selectedTotalAmounts = value; _selectedTotalAmounts = value;
notifyListeners(); notifyListeners();
} }
set selectedBalanceAmounts(List<String?> value) { set selectedBalanceAmounts(List<String?> value) {
_selectedBalanceAmounts = value; _selectedBalanceAmounts = value;
notifyListeners(); notifyListeners();
} }
set selectedCreatedDatetimes(List<String?> value) { set selectedCreatedDatetimes(List<String?> value) {
_selectedCreatedDatetimes = value; _selectedCreatedDatetimes = value;
notifyListeners(); notifyListeners();
...@@ -180,6 +184,7 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -180,6 +184,7 @@ class Addpaymentprovider extends ChangeNotifier{
_imagePicked = value; _imagePicked = value;
notifyListeners(); notifyListeners();
} }
set formattedDate(String? value) { set formattedDate(String? value) {
_formattedDate = value; _formattedDate = value;
paymentReceivedDateController.text = _formattedDate!; paymentReceivedDateController.text = _formattedDate!;
...@@ -195,18 +200,18 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -195,18 +200,18 @@ class Addpaymentprovider extends ChangeNotifier{
dateError = null; dateError = null;
notifyListeners(); notifyListeners();
} }
void addNewRow() { void addNewRow() {
// if (_selectedOrderIds.length < _orderList.length ) { // if (_selectedOrderIds.length < _orderList.length ) {
final controller = TextEditingController(); final controller = TextEditingController();
// Add a listener to recalculate the total when the text changes
controller.addListener(_updateAdjustedAmount);
orderAmountControllers.add(TextEditingController()); // Add a listener to recalculate the total when the text changes
_selectedOrderIds.add(null); controller.addListener(_updateAdjustedAmount);
notifyListeners(); orderAmountControllers.add(TextEditingController());
_selectedOrderIds.add(null);
notifyListeners();
} }
void removeRow(int index) { void removeRow(int index) {
...@@ -217,6 +222,7 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -217,6 +222,7 @@ class Addpaymentprovider extends ChangeNotifier{
_updateAdjustedAmount(); _updateAdjustedAmount();
notifyListeners(); notifyListeners();
} }
void _updateAdjustedAmount() { void _updateAdjustedAmount() {
int tempAdjustAmount = 0; int tempAdjustAmount = 0;
...@@ -227,9 +233,10 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -227,9 +233,10 @@ class Addpaymentprovider extends ChangeNotifier{
} }
} }
int amountControllerAmount = int.parse(amountController.text.toString()); int amountControllerAmount = int.parse(amountController.text.toString());
if(tempAdjustAmount>amountControllerAmount){ if (tempAdjustAmount > amountControllerAmount) {
orderAdjustedAmountError = "Amount Should not be greater than Total Amount"; orderAdjustedAmountError =
}else{ "Amount Should not be greater than Total Amount";
} else {
orderAdjustedAmountError = ""; orderAdjustedAmountError = "";
} }
...@@ -237,7 +244,7 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -237,7 +244,7 @@ class Addpaymentprovider extends ChangeNotifier{
notifyListeners(); notifyListeners();
} }
void updateAdjustedAmount() => _updateAdjustedAmount(); void updateAdjustedAmount() => _updateAdjustedAmount();
List<Map<String, String>> getFormData() { List<Map<String, String>> getFormData() {
_selectedOrders = []; _selectedOrders = [];
...@@ -251,13 +258,14 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -251,13 +258,14 @@ class Addpaymentprovider extends ChangeNotifier{
"order_id": _selectedOrderIds[i]!, "order_id": _selectedOrderIds[i]!,
"amount": orderAmountControllers[i].text, "amount": orderAmountControllers[i].text,
}); });
tempAdjustAmount = tempAdjustAmount+int.parse(double.parse(orderAmountControllers[i].text).round().toString()); tempAdjustAmount =
tempAdjustAmount +
int.parse(
double.parse(orderAmountControllers[i].text).round().toString(),
);
} }
} }
print("Form Data: $_selectedOrders"); print("Form Data: $_selectedOrders");
orderAdjustedAmountController.text = tempAdjustAmount.toString(); orderAdjustedAmountController.text = tempAdjustAmount.toString();
print(tempAdjustAmount); print(tempAdjustAmount);
...@@ -265,14 +273,15 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -265,14 +273,15 @@ class Addpaymentprovider extends ChangeNotifier{
return _selectedOrders; return _selectedOrders;
} }
Future<void> ordersAddPaymentAPIViewFunction(context) async { Future<void> ordersAddPaymentAPIViewFunction(context) async {
try{ try {
final provider = Provider.of<HomescreenNotifier>(context,listen: false); final provider = Provider.of<HomescreenNotifier>(context, listen: false);
final data = await ApiCalling.addOrderpaymentListViewAPI(provider.empId, provider.session); final data = await ApiCalling.addOrderpaymentListViewAPI(
if(data!=null){ provider.empId,
if(data.error=="0"){ provider.session,
);
if (data != null) {
if (data.error == "0") {
_paymentMode = data.paymentMode!; _paymentMode = data.paymentMode!;
_description = data.description!; _description = data.description!;
checkDropdownselected(); checkDropdownselected();
...@@ -285,24 +294,26 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -285,24 +294,26 @@ class Addpaymentprovider extends ChangeNotifier{
// } // }
notifyListeners(); notifyListeners();
}else{ } else {}
} else {}
} } catch (e) {}
}else{
}
}catch(e,s){
}
} }
void onSearchChanged(BuildContext context, String mode, String? accountId, String search) { void onSearchChanged(
BuildContext context,
String mode,
String? accountId,
String search,
) {
if (_debounce?.isActive ?? false) _debounce!.cancel(); if (_debounce?.isActive ?? false) _debounce!.cancel();
_debounce = Timer(const Duration(milliseconds: 300), () { _debounce = Timer(const Duration(milliseconds: 300), () {
// if (search.isNotEmpty) { // Only call API for non-empty search // if (search.isNotEmpty) { // Only call API for non-empty search
ordersAddPaymentSelectAccountAPIFunction(context, mode, accountId, search); ordersAddPaymentSelectAccountAPIFunction(
context,
mode,
accountId,
search,
);
// } else { // } else {
// _accountList = []; // Clear list for empty search // _accountList = []; // Clear list for empty search
// _isLoading = false; // _isLoading = false;
...@@ -311,12 +322,14 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -311,12 +322,14 @@ class Addpaymentprovider extends ChangeNotifier{
}); });
} }
Future<void> ordersAddPaymentSelectAccountAPIFunction(
context,
Future<void> ordersAddPaymentSelectAccountAPIFunction(context,mode,accountId,search) async { mode,
accountId,
search,
) async {
print(search); print(search);
try{ try {
if (search.isEmpty) { if (search.isEmpty) {
_accountList = []; _accountList = [];
_isLoading = false; _isLoading = false;
...@@ -325,12 +338,18 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -325,12 +338,18 @@ class Addpaymentprovider extends ChangeNotifier{
} }
_isLoading = true; _isLoading = true;
notifyListeners(); notifyListeners();
final provider = Provider.of<HomescreenNotifier>(context,listen: false); final provider = Provider.of<HomescreenNotifier>(context, listen: false);
final data = await ApiCalling.AddOrderPaymentSelectAccountAPI(provider.empId, provider.session, mode, search); final data = await ApiCalling.AddOrderPaymentSelectAccountAPI(
if(data!=null){ provider.empId,
if(data.error=="0"){ provider.session,
mode,
search,
);
if (data != null) {
if (data.error == "0") {
_accountList = data.accountList!; _accountList = data.accountList!;
if (_selectedAccountList != null && !_accountList.contains(_selectedAccountList)) { if (_selectedAccountList != null &&
!_accountList.contains(_selectedAccountList)) {
_selectedAccountList = null; _selectedAccountList = null;
_selectedAccountID = null; _selectedAccountID = null;
_selectedAccountName = null; _selectedAccountName = null;
...@@ -339,88 +358,94 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -339,88 +358,94 @@ class Addpaymentprovider extends ChangeNotifier{
notifyListeners(); notifyListeners();
if (_accountList.isNotEmpty && _selectedAccountID != null) { if (_accountList.isNotEmpty && _selectedAccountID != null) {
await ordersAddPaymentSelectOrderAPIFunction(context, _selectedAccountID); await ordersAddPaymentSelectOrderAPIFunction(
context,
_selectedAccountID,
);
} }
} else {
}else{ selectAccountError = data.message ?? "Failed to load accounts";
selectAccountError = data?.message ?? "Failed to load accounts";
_isLoading = false; _isLoading = false;
notifyListeners(); notifyListeners();
} }
} else {
}else{
selectAccountError = "No data received from server"; selectAccountError = "No data received from server";
_isLoading = false; _isLoading = false;
notifyListeners(); notifyListeners();
} }
} catch (e) {
}catch(e,s){
selectAccountError = "An error occurred while fetching accounts"; selectAccountError = "An error occurred while fetching accounts";
_isLoading = false; _isLoading = false;
notifyListeners(); notifyListeners();
} }
} }
Future<void> ordersAddPaymentSelectOrderAPIFunction(context,accountID) async { Future<void> ordersAddPaymentSelectOrderAPIFunction(
try{ context,
print("ACID:${accountID}"); accountID,
final provider = Provider.of<HomescreenNotifier>(context,listen: false); ) async {
final data = await ApiCalling.AddOrderPaymentSelectOrderAPI(provider.empId, provider.session, accountID); try {
if(data!=null){ print("ACID:$accountID");
if(data.error=="0"){ final provider = Provider.of<HomescreenNotifier>(context, listen: false);
final data = await ApiCalling.AddOrderPaymentSelectOrderAPI(
provider.empId,
provider.session,
accountID,
);
if (data != null) {
if (data.error == "0") {
_orderList = data.orderList!; _orderList = data.orderList!;
notifyListeners(); notifyListeners();
}else{ } else {}
} else {}
} } catch (e) {}
}
}else{
Future<void> ordersAddPaymentAPISubmitFunction(
} context,
accountId,
}catch(e,s){ selDescription,
selectedOrders,
} paymentMode,
} ) async {
try {
Future<void> ordersAddPaymentAPISubmitFunction(context,
accountId,selDescription, selectedOrders,
paymentMode,) async {
try{
if (!validateAddPayment()) { if (!validateAddPayment()) {
return; return;
} }
_submitClicked = true; _submitClicked = true;
notifyListeners(); notifyListeners();
final provider = Provider.of<HomescreenNotifier>(context,listen: false); final provider = Provider.of<HomescreenNotifier>(context, listen: false);
final data = await ApiCalling.addOrderpaymentListSubmitAPI(provider.empId, provider.session, final data = await ApiCalling.addOrderpaymentListSubmitAPI(
accountId, selDescription, provider.empId,
selectedOrders, amountController.text, provider.session,
paymentReceivedDateController.text, accountId,
paymentMode, paymentRefController.text, _image); selDescription,
if(data!=null){ selectedOrders,
if(data.error=="0"){ amountController.text,
paymentReceivedDateController.text,
paymentMode,
paymentRefController.text,
_image,
);
if (data != null) {
if (data.error == "0") {
_submitClicked = false; _submitClicked = false;
resetForm(); resetForm();
Navigator.pop(context); Navigator.pop(context);
toast(context, data.message); toast(context, data.message);
notifyListeners(); notifyListeners();
} else {
}else{
_submitClicked = false; _submitClicked = false;
notifyListeners(); notifyListeners();
toast(context, data.message); toast(context, data.message);
} }
} else {
}else{
submitClicked = false; submitClicked = false;
notifyListeners(); notifyListeners();
} }
} catch (e) {
}catch(e,s){
submitClicked = false; submitClicked = false;
notifyListeners(); notifyListeners();
} }
...@@ -436,7 +461,7 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -436,7 +461,7 @@ class Addpaymentprovider extends ChangeNotifier{
debugPrint("added"); debugPrint("added");
_image = File(galleryImage!.path); _image = File(galleryImage!.path);
_imageName = File(galleryImage!.name); _imageName = File(galleryImage.name);
_imagePicked = 1; _imagePicked = 1;
FileError = null; FileError = null;
notifyListeners(); notifyListeners();
...@@ -458,7 +483,7 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -458,7 +483,7 @@ class Addpaymentprovider extends ChangeNotifier{
debugPrint("Jenny: bytes:$bytes, kb:$kb, mb: $mb"); debugPrint("Jenny: bytes:$bytes, kb:$kb, mb: $mb");
_image = File(galleryImage!.path); _image = File(galleryImage!.path);
_imageName = File(galleryImage!.name); _imageName = File(galleryImage.name);
_imagePicked = 1; _imagePicked = 1;
FileError = null; FileError = null;
notifyListeners(); notifyListeners();
...@@ -468,26 +493,28 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -468,26 +493,28 @@ class Addpaymentprovider extends ChangeNotifier{
} }
} }
void onChangeAmount(value){ void onChangeAmount(value) {
_updateAdjustedAmount(); _updateAdjustedAmount();
amountError = ""; amountError = "";
notifyListeners(); notifyListeners();
} }
void onChangeorderAdjustedAmount(value){
void onChangeorderAdjustedAmount(value) {
_updateAdjustedAmount(); _updateAdjustedAmount();
notifyListeners(); notifyListeners();
} }
void onChangeDescription(value){
void onChangeDescription(value) {
descriptionError = ""; descriptionError = "";
notifyListeners(); notifyListeners();
} }
void onChangepaymentRef(value){ void onChangepaymentRef(value) {
paymentRefError = ""; paymentRefError = "";
notifyListeners(); notifyListeners();
} }
bool validateAddPayment(){
bool validateAddPayment() {
bool isValid = true; bool isValid = true;
selectAccountError = ""; selectAccountError = "";
amountError = ""; amountError = "";
...@@ -495,32 +522,32 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -495,32 +522,32 @@ class Addpaymentprovider extends ChangeNotifier{
descriptionError = ""; descriptionError = "";
paymentModeError = ""; paymentModeError = "";
paymentRefError = ""; paymentRefError = "";
if (_selectedAccountList == null || _selectedAccountID==null) { if (_selectedAccountList == null || _selectedAccountID == null) {
selectAccountError = "Please select an Account"; selectAccountError = "Please select an Account";
isValid = false; isValid = false;
} }
if(amountController.text.trim().isEmpty){ if (amountController.text.trim().isEmpty) {
isValid = false; isValid = false;
amountError = "Please Enter the Amount"; amountError = "Please Enter the Amount";
} }
if(orderAdjustedAmountController.text.trim().isEmpty){ if (orderAdjustedAmountController.text.trim().isEmpty) {
isValid = false; isValid = false;
orderAdjustedAmountError = "Please Enter the Amount"; orderAdjustedAmountError = "Please Enter the Amount";
} }
if (_description == null || _selectedDescription==null) { if (_selectedDescription == null) {
descriptionError = "Please select"; descriptionError = "Please select";
isValid = false; isValid = false;
} }
if(paymentReceivedDateController.text.trim().isEmpty){ if (paymentReceivedDateController.text.trim().isEmpty) {
isValid = false; isValid = false;
paymentModeError = "Please Enter the Amount"; paymentModeError = "Please Enter the Amount";
} }
if (_paymentMode == null || _selectedPaymentMode==null) { if (_selectedPaymentMode == null) {
paymentModeError = "Please select an Account"; paymentModeError = "Please select an Account";
isValid = false; isValid = false;
} }
if(paymentRefController.text.trim().isEmpty){ if (paymentRefController.text.trim().isEmpty) {
isValid = false; isValid = false;
paymentRefError = "Please Enter the Payment reference"; paymentRefError = "Please Enter the Payment reference";
} }
...@@ -529,7 +556,6 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -529,7 +556,6 @@ class Addpaymentprovider extends ChangeNotifier{
return isValid; return isValid;
} }
void resetForm() { void resetForm() {
dropDownSearchController.clear(); dropDownSearchController.clear();
amountController.clear(); amountController.clear();
...@@ -549,7 +575,9 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -549,7 +575,9 @@ class Addpaymentprovider extends ChangeNotifier{
_imageName = null; _imageName = null;
_imagePicked = 0; _imagePicked = 0;
_selectedOrders.clear(); _selectedOrders.clear();
orderAmountControllers.forEach((controller) => controller.dispose()); for (var controller in orderAmountControllers) {
controller.dispose();
}
orderAmountControllers.clear(); orderAmountControllers.clear();
selectAccountError = ""; selectAccountError = "";
amountError = ""; amountError = "";
...@@ -574,8 +602,8 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -574,8 +602,8 @@ class Addpaymentprovider extends ChangeNotifier{
_selectedAccountName = ""; _selectedAccountName = "";
} }
if (_selectedOrderLists != null &&
if(_selectedOrderLists!=null && !_orderList.contains(_selectedOrderLists)){ !_orderList.contains(_selectedOrderLists)) {
_selectedOrderLists = null; _selectedOrderLists = null;
_selectedOrderIds.clear(); _selectedOrderIds.clear();
_selectedOrderIds = []; _selectedOrderIds = [];
...@@ -590,69 +618,77 @@ class Addpaymentprovider extends ChangeNotifier{ ...@@ -590,69 +618,77 @@ class Addpaymentprovider extends ChangeNotifier{
void showDatePickerDialog(BuildContext context) { void showDatePickerDialog(BuildContext context) {
if (_date == null) { if (_date == null) {
setDate(DateTime.now()); // Ensure current date is set before opening the picker setDate(
DateTime.now(),
); // Ensure current date is set before opening the picker
} }
showCupertinoModalPopup<void>( showCupertinoModalPopup<void>(
context: context, context: context,
builder: builder:
(BuildContext context) => Container( (BuildContext context) => Container(
height: 250, height: 250,
padding: const EdgeInsets.only(top: 6.0), padding: const EdgeInsets.only(top: 6.0),
margin: EdgeInsets.only( margin: EdgeInsets.only(
bottom: MediaQuery.of(context).viewInsets.bottom, bottom: MediaQuery.of(context).viewInsets.bottom,
), ),
color: CupertinoColors.systemBackground.resolveFrom(context), color: CupertinoColors.systemBackground.resolveFrom(context),
child: SafeArea( child: SafeArea(
top: false, top: false,
child: Column( child: Column(
children: [ children: [
Expanded( Expanded(
flex: 2, flex: 2,
child: SizedBox( child: SizedBox(
height: 40, height: 40,
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
CupertinoButton( CupertinoButton(
child: Text( child: Text(
'Cancel', 'Cancel',
style: TextStyle(fontFamily: "JakartaMedium",color: AppColors.app_blue), style: TextStyle(
), fontFamily: "JakartaMedium",
onPressed: () { color: AppColors.app_blue,
Navigator.pop(context); ),
}, ),
), onPressed: () {
CupertinoButton( Navigator.pop(context);
child: Text( },
'Done', ),
style: TextStyle(fontFamily: "JakartaMedium",color: AppColors.app_blue), CupertinoButton(
), child: Text(
onPressed: () { 'Done',
setDate(_date ?? DateTime.now() ); style: TextStyle(
Navigator.pop(context); fontFamily: "JakartaMedium",
}, color: AppColors.app_blue,
),
),
onPressed: () {
setDate(_date ?? DateTime.now());
Navigator.pop(context);
},
),
],
), ),
], ),
), ),
), Expanded(
), flex: 4,
Expanded( child: CupertinoDatePicker(
flex: 4, dateOrder: DatePickerDateOrder.dmy,
child: CupertinoDatePicker( initialDateTime: _date ?? DateTime.now(),
dateOrder: DatePickerDateOrder.dmy, mode: CupertinoDatePickerMode.date,
initialDateTime: _date ?? DateTime.now(), use24hFormat: true,
mode: CupertinoDatePickerMode.date, showDayOfWeek: true,
use24hFormat: true, onDateTimeChanged: (DateTime newDate) {
showDayOfWeek: true, setDate(newDate);
onDateTimeChanged: (DateTime newDate) { },
setDate(newDate); ),
}, ),
), ],
), ),
], ),
), ),
),
),
); );
} }
} }
\ No newline at end of file
...@@ -7,29 +7,28 @@ import '../../Utils/commonServices.dart'; ...@@ -7,29 +7,28 @@ import '../../Utils/commonServices.dart';
import '../../services/api_calling.dart'; import '../../services/api_calling.dart';
import '../HomeScreenNotifier.dart'; import '../HomeScreenNotifier.dart';
import 'package:generp/Models/ordersModels/ordersDetailsDispatchOrderViewResponse.dart'; import 'package:generp/Models/ordersModels/ordersDetailsDispatchOrderViewResponse.dart';
class Dispatchorderprovider extends ChangeNotifier{
bool _submitClicked = false; class Dispatchorderprovider extends ChangeNotifier {
bool _submitClicked = false;
TextEditingController invoiceNumberController = TextEditingController(); TextEditingController invoiceNumberController = TextEditingController();
TextEditingController vehicleNumberController = TextEditingController(); TextEditingController vehicleNumberController = TextEditingController();
TextEditingController driverNameController = TextEditingController(); TextEditingController driverNameController = TextEditingController();
TextEditingController driverMobileNumberController = TextEditingController(); TextEditingController driverMobileNumberController = TextEditingController();
String? invoiceNumberError;
String? invoiceNumberError; String? vehicleNumberError;
String? vehicleNumberError; String? driverNameError;
String? driverNameError; String? driverMobileNumberError;
String? driverMobileNumberError;
List<Products> _leadProductsList = []; List<Products> _leadProductsList = [];
Products? _selectedProducts; Products? _selectedProducts;
List<TextEditingController> engineNumberControllers = []; List<TextEditingController> engineNumberControllers = [];
List<TextEditingController> pdiIDControllers = []; List<TextEditingController> pdiIDControllers = [];
List<String?> _selectedProductIds = []; final List<String?> _selectedProductIds = [];
List<String?> _selectedProductValues = []; final List<String?> _selectedProductValues = [];
List<Products> get productsList => _leadProductsList; List<Products> get productsList => _leadProductsList;
List<Products> get leadProductsList => _leadProductsList; List<Products> get leadProductsList => _leadProductsList;
Products? get selectedProducts => _selectedProducts; Products? get selectedProducts => _selectedProducts;
...@@ -38,11 +37,11 @@ String? driverMobileNumberError; ...@@ -38,11 +37,11 @@ String? driverMobileNumberError;
bool get submitClicked => _submitClicked; bool get submitClicked => _submitClicked;
set submitClicked(bool value){ set submitClicked(bool value) {
_submitClicked = value; _submitClicked = value;
notifyListeners(); notifyListeners();
} }
void initializeForm(BuildContext context) { void initializeForm(BuildContext context) {
// Clear existing controllers // Clear existing controllers
engineNumberControllers.clear(); engineNumberControllers.clear();
...@@ -52,7 +51,9 @@ String? driverMobileNumberError; ...@@ -52,7 +51,9 @@ String? driverMobileNumberError;
// Initialize controllers for each lead product // Initialize controllers for each lead product
for (var product in _leadProductsList) { for (var product in _leadProductsList) {
engineNumberControllers.add(TextEditingController()); engineNumberControllers.add(TextEditingController());
pdiIDControllers.add(TextEditingController(text: product.pdiId?.toString() ?? '')); pdiIDControllers.add(
TextEditingController(text: product.pdiId?.toString() ?? ''),
);
_selectedProductIds.add(product.id); _selectedProductIds.add(product.id);
_selectedProductValues.add(product.productName); _selectedProductValues.add(product.productName);
...@@ -112,8 +113,7 @@ String? driverMobileNumberError; ...@@ -112,8 +113,7 @@ String? driverMobileNumberError;
return insertData; return insertData;
} }
Future<void> ordersPDIIDByEngineNumberFunction(context, index) async {
Future<void> ordersPDIIDByEngineNumberFunction(context,index) async {
try { try {
final provider = Provider.of<HomescreenNotifier>(context, listen: false); final provider = Provider.of<HomescreenNotifier>(context, listen: false);
final data = await ApiCalling.ordersPdiIdByEngNumberUrlAPI( final data = await ApiCalling.ordersPdiIdByEngNumberUrlAPI(
...@@ -128,7 +128,7 @@ String? driverMobileNumberError; ...@@ -128,7 +128,7 @@ String? driverMobileNumberError;
notifyListeners(); notifyListeners();
} else {} } else {}
} else {} } else {}
} catch (e, s) {} } catch (e) {}
} }
Future<void> ordersDetailsDispatchOrderViewFunction(context, orderID) async { Future<void> ordersDetailsDispatchOrderViewFunction(context, orderID) async {
...@@ -145,22 +145,22 @@ String? driverMobileNumberError; ...@@ -145,22 +145,22 @@ String? driverMobileNumberError;
notifyListeners(); notifyListeners();
} else {} } else {}
} else {} } else {}
} catch (e, s) {} } catch (e) {}
} }
Future<void> approvalRejectionAPIFunction( Future<void> approvalRejectionAPIFunction(
context, context,
status, status,
orderId, orderId,
type, type,
feedback, feedback,
tpc_applicable, tpcApplicable,
tpc_approved_amount, tpcApprovedAmount,
sale_order_number, saleOrderNumber,
edit_company_name, editCompanyName,
crm_order_p_id, crmOrderPId,
mode mode,
) async { ) async {
try { try {
if (!validateApproveRejectForm()) { if (!validateApproveRejectForm()) {
// _submitClicked = false; // _submitClicked = false;
...@@ -169,7 +169,10 @@ String? driverMobileNumberError; ...@@ -169,7 +169,10 @@ String? driverMobileNumberError;
_submitClicked = true; _submitClicked = true;
notifyListeners(); notifyListeners();
var provider = Provider.of<HomescreenNotifier>(context, listen: false); var provider = Provider.of<HomescreenNotifier>(context, listen: false);
final detProvider = Provider.of<Pagesdashboardprovider>(context,listen: false); final detProvider = Provider.of<Pagesdashboardprovider>(
context,
listen: false,
);
final data = await ApiCalling.ordersDetailsApproveRejectAPI( final data = await ApiCalling.ordersDetailsApproveRejectAPI(
provider.empId, provider.empId,
provider.session, provider.session,
...@@ -177,95 +180,95 @@ String? driverMobileNumberError; ...@@ -177,95 +180,95 @@ String? driverMobileNumberError;
type, type,
orderId, orderId,
feedback, feedback,
tpc_applicable, tpcApplicable,
tpc_approved_amount, tpcApprovedAmount,
sale_order_number, saleOrderNumber,
edit_company_name, editCompanyName,
invoiceNumberController.text, invoiceNumberController.text,
vehicleNumberController.text, vehicleNumberController.text,
driverNameController.text, driverNameController.text,
driverMobileNumberController.text, driverMobileNumberController.text,
crm_order_p_id, crmOrderPId,
); );
if (data != null) { if (data != null) {
if (data.error == "0") { if (data.error == "0") {
_submitClicked = false; _submitClicked = false;
toast(context, "${data.message}"); toast(context, "${data.message}");
resetForm(); resetForm();
detProvider.ordersDetailsByModeAPIFunction( detProvider.ordersDetailsByModeAPIFunction(context, orderId, mode);
context,
orderId,
mode,
);
Navigator.pop(context, true); Navigator.pop(context, true);
notifyListeners(); notifyListeners();
} else { } else {
_submitClicked = false; _submitClicked = false;
notifyListeners(); notifyListeners();
} }
}else{ } else {
_submitClicked = false; _submitClicked = false;
notifyListeners(); notifyListeners();
} }
} catch (e, s) { } catch (e) {
_submitClicked = false; _submitClicked = false;
notifyListeners(); notifyListeners();
} }
} }
bool validateApproveRejectForm(){ bool validateApproveRejectForm() {
bool isValid = true; bool isValid = true;
if(invoiceNumberController.text.trim().isEmpty){ if (invoiceNumberController.text.trim().isEmpty) {
invoiceNumberError = "Enter Invoice Number"; invoiceNumberError = "Enter Invoice Number";
isValid = false; isValid = false;
} }
if(vehicleNumberController.text.trim().isEmpty){ if (vehicleNumberController.text.trim().isEmpty) {
vehicleNumberError = "Enter Vehicle Number"; vehicleNumberError = "Enter Vehicle Number";
isValid = false; isValid = false;
} }
if(driverNameController.text.trim().isEmpty){ if (driverNameController.text.trim().isEmpty) {
driverNameError = "Enter Driver Name"; driverNameError = "Enter Driver Name";
isValid = false; isValid = false;
} }
if(driverMobileNumberController.text.trim().isEmpty){ if (driverMobileNumberController.text.trim().isEmpty) {
driverMobileNumberError = "Enter Driver Number"; driverMobileNumberError = "Enter Driver Number";
isValid = false; isValid = false;
} }
notifyListeners(); notifyListeners();
return isValid; return isValid;
} }
resetForm(){
invoiceNumberController.clear(); resetForm() {
vehicleNumberController.clear(); invoiceNumberController.clear();
driverNameController.clear(); vehicleNumberController.clear();
driverMobileNumberController.clear(); driverNameController.clear();
engineNumberControllers.clear(); driverMobileNumberController.clear();
pdiIDControllers.clear(); engineNumberControllers.clear();
_selectedProductIds.clear(); pdiIDControllers.clear();
_selectedProductValues.clear(); _selectedProductIds.clear();
_leadProductsList.clear(); _selectedProductValues.clear();
invoiceNumberError = null; _leadProductsList.clear();
vehicleNumberError = null; invoiceNumberError = null;
driverNameError = null; vehicleNumberError = null;
driverMobileNumberError = null; driverNameError = null;
notifyListeners(); driverMobileNumberError = null;
} notifyListeners();
}
onChangedinvoiceNumber(value){ onChangedinvoiceNumber(value) {
invoiceNumberError = null; invoiceNumberError = null;
notifyListeners(); notifyListeners();
} }
onChangedvehicleNumber(value){
onChangedvehicleNumber(value) {
vehicleNumberError = null; vehicleNumberError = null;
notifyListeners(); notifyListeners();
} }
onChangeddriverName(value){
onChangeddriverName(value) {
driverNameError = null; driverNameError = null;
notifyListeners(); notifyListeners();
} }
onChangeddriverMobileNumber(value){
onChangeddriverMobileNumber(value) {
driverMobileNumberError = null; driverMobileNumberError = null;
notifyListeners(); notifyListeners();
} }
......
...@@ -45,7 +45,7 @@ class Editorderprovider extends ChangeNotifier { ...@@ -45,7 +45,7 @@ class Editorderprovider extends ChangeNotifier {
int image_picked = 0; int image_picked = 0;
String? FileError; String? FileError;
String? dateError; String? dateError;
bool _isLoading = false; final bool _isLoading = false;
int _imagePicked = 0; int _imagePicked = 0;
File? _image; File? _image;
File? _imageName; File? _imageName;
...@@ -117,7 +117,7 @@ class Editorderprovider extends ChangeNotifier { ...@@ -117,7 +117,7 @@ class Editorderprovider extends ChangeNotifier {
set selecetdDispatchStates(States? value) { set selecetdDispatchStates(States? value) {
_selectedDispatchStates = value; _selectedDispatchStates = value;
_selectedDispatchStateID = value!.id; _selectedDispatchStateID = value!.id;
_selectedDispatchStateName = value!.name!; _selectedDispatchStateName = value.name!;
notifyListeners(); notifyListeners();
} }
...@@ -134,7 +134,7 @@ class Editorderprovider extends ChangeNotifier { ...@@ -134,7 +134,7 @@ class Editorderprovider extends ChangeNotifier {
set selectedDispatchDistricts(Districts? value) { set selectedDispatchDistricts(Districts? value) {
_selectedDispatchDistricts = value; _selectedDispatchDistricts = value;
_selectedDispatchDistrictID = value!.id; _selectedDispatchDistrictID = value!.id;
_selectedDispatchDistrictValue = value!.district; _selectedDispatchDistrictValue = value.district;
// districtError = null; // districtError = null;
notifyListeners(); notifyListeners();
} }
...@@ -142,7 +142,7 @@ class Editorderprovider extends ChangeNotifier { ...@@ -142,7 +142,7 @@ class Editorderprovider extends ChangeNotifier {
set selectedDispatchSubLocations(SubLocations? value) { set selectedDispatchSubLocations(SubLocations? value) {
_selectedDispatchSubLocations = value; _selectedDispatchSubLocations = value;
_selectedDispatchSubLocID = value!.id; _selectedDispatchSubLocID = value!.id;
_selectedDispatchSubLocValue = value!.subLocality!; _selectedDispatchSubLocValue = value.subLocality!;
// localityError = null; // localityError = null;
notifyListeners(); notifyListeners();
} }
...@@ -202,16 +202,29 @@ class Editorderprovider extends ChangeNotifier { ...@@ -202,16 +202,29 @@ class Editorderprovider extends ChangeNotifier {
_erectionScope = ["Included", "Excluded"]; _erectionScope = ["Included", "Excluded"];
_unloadingScope = ["Included", "Excluded"]; _unloadingScope = ["Included", "Excluded"];
_freightScope = ["Included", "Excluded"]; _freightScope = ["Included", "Excluded"];
if(data.orderDetails!.dispatchStateId!=null){ if (data.orderDetails!.dispatchStateId != null) {
getDispatchDistrictAPI(context,data.orderDetails!.dispatchStateId!); getDispatchDistrictAPI(
context,
data.orderDetails!.dispatchStateId!,
);
} }
if(data.orderDetails!.dispatchDistrictId!=null){ if (data.orderDetails!.dispatchDistrictId != null) {
getDispatchSubLocationAPI(context,data.orderDetails!.dispatchDistrictId!); getDispatchSubLocationAPI(
context,
data.orderDetails!.dispatchDistrictId!,
);
} }
_selectedDispatchStates = data.states!.firstWhere((e) => e.id == data.orderDetails!.dispatchStateId!); _selectedDispatchStates = data.states!.firstWhere(
(e) => e.id == data.orderDetails!.dispatchStateId!,
);
_selectedDispatchStateID = data.orderDetails!.dispatchStateId!; _selectedDispatchStateID = data.orderDetails!.dispatchStateId!;
_selectedDispatchStateName = data.states!.firstWhere((e) => e.id == data.orderDetails!.dispatchStateId!).name; _selectedDispatchStateName =
data.states!
.firstWhere(
(e) => e.id == data.orderDetails!.dispatchStateId!,
)
.name;
_selectedDispatchDistrictID = data.orderDetails!.dispatchDistrictId!; _selectedDispatchDistrictID = data.orderDetails!.dispatchDistrictId!;
_selectedDispatchSubLocID = data.orderDetails!.dispatchSubLocationId!; _selectedDispatchSubLocID = data.orderDetails!.dispatchSubLocationId!;
dispatchAddressController.text = data.orderDetails!.dispatchAddress!; dispatchAddressController.text = data.orderDetails!.dispatchAddress!;
...@@ -224,7 +237,7 @@ class Editorderprovider extends ChangeNotifier { ...@@ -224,7 +237,7 @@ class Editorderprovider extends ChangeNotifier {
notifyListeners(); notifyListeners();
} else {} } else {}
} else {} } else {}
} catch (e, s) {} } catch (e) {}
} }
Future<void> getDispatchDistrictAPI(context, stateID) async { Future<void> getDispatchDistrictAPI(context, stateID) async {
...@@ -240,12 +253,17 @@ class Editorderprovider extends ChangeNotifier { ...@@ -240,12 +253,17 @@ class Editorderprovider extends ChangeNotifier {
if (data != null) { if (data != null) {
if (data.error == "0") { if (data.error == "0") {
_dispatchDistricts = data.districts!; _dispatchDistricts = data.districts!;
_selectedDispatchDistricts = data.districts!.firstWhere((e) => e.id == orderDetails!.dispatchDistrictId!); _selectedDispatchDistricts = data.districts!.firstWhere(
_selectedDispatchDistrictValue = data.districts!.firstWhere((e) => e.id == orderDetails!.dispatchDistrictId!).district; (e) => e.id == orderDetails.dispatchDistrictId!,
);
_selectedDispatchDistrictValue =
data.districts!
.firstWhere((e) => e.id == orderDetails.dispatchDistrictId!)
.district;
notifyListeners(); notifyListeners();
} }
} }
} catch (e, s) {} } catch (e) {}
} }
Future<void> getDispatchSubLocationAPI(context, districtID) async { Future<void> getDispatchSubLocationAPI(context, districtID) async {
...@@ -261,13 +279,20 @@ class Editorderprovider extends ChangeNotifier { ...@@ -261,13 +279,20 @@ class Editorderprovider extends ChangeNotifier {
if (data != null) { if (data != null) {
if (data.error == "0") { if (data.error == "0") {
_dispatchSubLocations = data.subLocations!; _dispatchSubLocations = data.subLocations!;
_selectedDispatchSubLocations = data.subLocations!.firstWhere((e) => e.id == orderDetails!.dispatchSubLocationId!); _selectedDispatchSubLocations = data.subLocations!.firstWhere(
_selectedDispatchSubLocValue = data.subLocations!.firstWhere((e) => e.id == orderDetails!.dispatchSubLocationId!).subLocality; (e) => e.id == orderDetails.dispatchSubLocationId!,
);
_selectedDispatchSubLocValue =
data.subLocations!
.firstWhere(
(e) => e.id == orderDetails.dispatchSubLocationId!,
)
.subLocality;
notifyListeners(); notifyListeners();
} }
} }
} catch (e, s) {} } catch (e) {}
} }
Future<void> ordersEditOrderAPISubmitFunction( Future<void> ordersEditOrderAPISubmitFunction(
...@@ -313,7 +338,7 @@ class Editorderprovider extends ChangeNotifier { ...@@ -313,7 +338,7 @@ class Editorderprovider extends ChangeNotifier {
_submitClicked = false; _submitClicked = false;
notifyListeners(); notifyListeners();
} }
} catch (e, s) { } catch (e) {
_submitClicked = false; _submitClicked = false;
notifyListeners(); notifyListeners();
} }
...@@ -329,7 +354,7 @@ class Editorderprovider extends ChangeNotifier { ...@@ -329,7 +354,7 @@ class Editorderprovider extends ChangeNotifier {
debugPrint("added"); debugPrint("added");
_image = File(galleryImage!.path); _image = File(galleryImage!.path);
_imageName = File(galleryImage!.name); _imageName = File(galleryImage.name);
_imagePicked = 1; _imagePicked = 1;
FileError = null; FileError = null;
notifyListeners(); notifyListeners();
...@@ -351,7 +376,7 @@ class Editorderprovider extends ChangeNotifier { ...@@ -351,7 +376,7 @@ class Editorderprovider extends ChangeNotifier {
debugPrint("Jenny: bytes:$bytes, kb:$kb, mb: $mb"); debugPrint("Jenny: bytes:$bytes, kb:$kb, mb: $mb");
_image = File(galleryImage!.path); _image = File(galleryImage!.path);
_imageName = File(galleryImage!.name); _imageName = File(galleryImage.name);
_imagePicked = 1; _imagePicked = 1;
FileError = null; FileError = null;
notifyListeners(); notifyListeners();
......
...@@ -16,7 +16,7 @@ class Editpaymentprovider extends ChangeNotifier { ...@@ -16,7 +16,7 @@ class Editpaymentprovider extends ChangeNotifier {
String? adjustedAddAmountError; String? adjustedAddAmountError;
String? selectedAccountError; String? selectedAccountError;
List<EditPaidList> _paidList = []; List<EditPaidList> _paidList = [];
List<EditOrderList> _editOrderList = []; final List<EditOrderList> _editOrderList = [];
EditPaidList? _selectedPaidLists; EditPaidList? _selectedPaidLists;
EditOrderList? _selectedOrderList; EditOrderList? _selectedOrderList;
...@@ -42,31 +42,32 @@ class Editpaymentprovider extends ChangeNotifier { ...@@ -42,31 +42,32 @@ class Editpaymentprovider extends ChangeNotifier {
List<String?> get selectedOrderIDs => _selectedOrderIDs; List<String?> get selectedOrderIDs => _selectedOrderIDs;
bool get submitLoading => _submitLoading; bool get submitLoading => _submitLoading;
List<EditPaidList> _editpaidLists = []; final List<EditPaidList> _editpaidLists = [];
List<EditPaidList> get editpaidLists => _editpaidLists; List<EditPaidList> get editpaidLists => _editpaidLists;
EditPaidList? _editselectedPaidList; EditPaidList? _editselectedPaidList;
String? _editselectedPaidOrderId; String? _editselectedPaidOrderId;
String? _editselectedPaidOrderValue; String? _editselectedPaidOrderValue;
EditPaidList? get editselectedPaidList => _editselectedPaidList; EditPaidList? get editselectedPaidList => _editselectedPaidList;
String? get editselectedPaidOrderId =>_editselectedPaidOrderId; String? get editselectedPaidOrderId => _editselectedPaidOrderId;
String? get editselectedPaidOrderValue =>_editselectedPaidOrderValue; String? get editselectedPaidOrderValue => _editselectedPaidOrderValue;
set editselectedPaidList(EditPaidList? value){ set editselectedPaidList(EditPaidList? value) {
_editselectedPaidList = value; _editselectedPaidList = value;
_editselectedPaidOrderId = value!.orderId; _editselectedPaidOrderId = value!.orderId;
_editselectedPaidOrderValue = value!.orderNumber; _editselectedPaidOrderValue = value.orderNumber;
notifyListeners(); notifyListeners();
} }
set editselectedPaidOrderId(String? value){ set editselectedPaidOrderId(String? value) {
_editselectedPaidOrderId = value; _editselectedPaidOrderId = value;
notifyListeners(); notifyListeners();
} }
set editselectedPaidOrderValue(String? value){ set editselectedPaidOrderValue(String? value) {
_editselectedPaidOrderValue = value; _editselectedPaidOrderValue = value;
notifyListeners(); notifyListeners();
} }
set selectedPaidOrderIDs(List<String?> value) { set selectedPaidOrderIDs(List<String?> value) {
_selectedPaidOrderIDs = value; _selectedPaidOrderIDs = value;
notifyListeners(); notifyListeners();
...@@ -95,7 +96,7 @@ class Editpaymentprovider extends ChangeNotifier { ...@@ -95,7 +96,7 @@ class Editpaymentprovider extends ChangeNotifier {
void updateSelectedPaidOrderId(int index, EditPaidList? value) { void updateSelectedPaidOrderId(int index, EditPaidList? value) {
_selectedPaidLists = value!; _selectedPaidLists = value!;
_selectedPaidOrderIDs[index] = value!.orderId; _selectedPaidOrderIDs[index] = value.orderId;
print(_selectedPaidOrderIDs[index]); print(_selectedPaidOrderIDs[index]);
notifyListeners(); notifyListeners();
} }
...@@ -104,12 +105,12 @@ class Editpaymentprovider extends ChangeNotifier { ...@@ -104,12 +105,12 @@ class Editpaymentprovider extends ChangeNotifier {
_selectedOrderList = value!; _selectedOrderList = value!;
print(index); print(index);
print(value); print(value);
print(value!.orderId); print(value.orderId);
if (index > 0) { if (index > 0) {
_selectedOrderIDs[index] = value!.orderId; _selectedOrderIDs[index] = value.orderId;
print(_selectedOrderIDs[index]); print(_selectedOrderIDs[index]);
} else { } else {
_selectedOrderIDs[0] = value!.orderId; _selectedOrderIDs[0] = value.orderId;
print(_selectedOrderIDs[0]); print(_selectedOrderIDs[0]);
} }
...@@ -215,10 +216,10 @@ class Editpaymentprovider extends ChangeNotifier { ...@@ -215,10 +216,10 @@ class Editpaymentprovider extends ChangeNotifier {
_updateAmounts = []; _updateAmounts = [];
for (int i = 0; i < _paidList.length; i++) { for (int i = 0; i < _paidList.length; i++) {
final rowData = { final rowData = {
"order_id": _paidList[i]!.orderId.toString(), "order_id": _paidList[i].orderId.toString(),
"order_payment_id": _paidList[i]!.orderPaymentId.toString(), "order_payment_id": _paidList[i].orderPaymentId.toString(),
"selected_order_id": _paidList[i]!.orderId.toString(), "selected_order_id": _paidList[i].orderId.toString(),
"updateable_payment_amount": _paidList[i]!.adjustedAmount.toString(), "updateable_payment_amount": _paidList[i].adjustedAmount.toString(),
}; };
_updateAmounts.add(rowData); _updateAmounts.add(rowData);
} }
...@@ -229,11 +230,11 @@ class Editpaymentprovider extends ChangeNotifier { ...@@ -229,11 +230,11 @@ class Editpaymentprovider extends ChangeNotifier {
Future<void> editPaymentDetailsAPIFunction( Future<void> editPaymentDetailsAPIFunction(
context, context,
payment_id, paymentId,
description, description,
payment_type, paymentType,
ref_no, refNo,
payment_date, paymentDate,
amount, amount,
) async { ) async {
try { try {
...@@ -247,18 +248,18 @@ class Editpaymentprovider extends ChangeNotifier { ...@@ -247,18 +248,18 @@ class Editpaymentprovider extends ChangeNotifier {
final data = await ApiCalling.ordersEditPaymentDetailsAPI( final data = await ApiCalling.ordersEditPaymentDetailsAPI(
provider.empId, provider.empId,
provider.session, provider.session,
payment_id, paymentId,
description, description,
payment_type, paymentType,
ref_no, refNo,
payment_date, paymentDate,
amount, amount,
); );
if (data != null) { if (data != null) {
if (data.error == "0") { if (data.error == "0") {
_submitLoading = false; _submitLoading = false;
addOrderProvider.resetForm(); addOrderProvider.resetForm();
Navigator.pop(context,true); Navigator.pop(context, true);
toast(context, data.message); toast(context, data.message);
notifyListeners(); notifyListeners();
} else if (data.error == "1") { } else if (data.error == "1") {
...@@ -269,7 +270,7 @@ class Editpaymentprovider extends ChangeNotifier { ...@@ -269,7 +270,7 @@ class Editpaymentprovider extends ChangeNotifier {
_submitLoading = false; _submitLoading = false;
notifyListeners(); notifyListeners();
} }
} catch (e, s) { } catch (e) {
_submitLoading = false; _submitLoading = false;
notifyListeners(); notifyListeners();
} }
...@@ -277,22 +278,24 @@ class Editpaymentprovider extends ChangeNotifier { ...@@ -277,22 +278,24 @@ class Editpaymentprovider extends ChangeNotifier {
Future<void> editPaymentDetailsAdjustedOrdersViewAPIFunction( Future<void> editPaymentDetailsAdjustedOrdersViewAPIFunction(
context, context,
payment_id,[index] paymentId, [
) async { index,
]) async {
try { try {
print("payment_id: ${payment_id}"); print("payment_id: $paymentId");
final provider = Provider.of<HomescreenNotifier>(context, listen: false); final provider = Provider.of<HomescreenNotifier>(context, listen: false);
final data = final data =
await ApiCalling.ordersEditPaymentDetailsAdjustedOrdersViewAPI( await ApiCalling.ordersEditPaymentDetailsAdjustedOrdersViewAPI(
provider.empId, provider.empId,
provider.session, provider.session,
payment_id, paymentId,
); );
if (data != null) { if (data != null) {
if (data.error == "0") { if (data.error == "0") {
_paidList = data.paidList!; _paidList = data.paidList!;
if(index!=null){ if (index != null) {
adjustedAddAmountController.text = data.paidList![index].orderAmount!; adjustedAddAmountController.text =
data.paidList![index].orderAmount!;
_editselectedPaidList = data.paidList![index]; _editselectedPaidList = data.paidList![index];
_editselectedPaidOrderId = data.paidList![index].orderId; _editselectedPaidOrderId = data.paidList![index].orderId;
} }
...@@ -300,14 +303,14 @@ class Editpaymentprovider extends ChangeNotifier { ...@@ -300,14 +303,14 @@ class Editpaymentprovider extends ChangeNotifier {
notifyListeners(); notifyListeners();
} else if (data.error == "1") {} } else if (data.error == "1") {}
} else {} } else {}
} catch (e, s) {} } catch (e) {}
} }
Future<void> editPaymentDetailsAdjustedOrdersUpdateAPIFunction( Future<void> editPaymentDetailsAdjustedOrdersUpdateAPIFunction(
context, context,
payment_id, paymentId,
update_amounts, updateAmounts,
insert_amounts, insertAmounts,
) async { ) async {
try { try {
_submitLoading = true; _submitLoading = true;
...@@ -318,15 +321,15 @@ class Editpaymentprovider extends ChangeNotifier { ...@@ -318,15 +321,15 @@ class Editpaymentprovider extends ChangeNotifier {
await ApiCalling.ordersEditPaymentDetailsAdjustedOrdersUpdateAPI( await ApiCalling.ordersEditPaymentDetailsAdjustedOrdersUpdateAPI(
provider.empId, provider.empId,
provider.session, provider.session,
payment_id, paymentId,
update_amounts, updateAmounts,
insert_amounts, insertAmounts,
); );
if (data != null) { if (data != null) {
if (data.error == "0") { if (data.error == "0") {
_submitLoading = false; _submitLoading = false;
resetForm(); resetForm();
Navigator.pop(context,true); Navigator.pop(context, true);
toast(context, data.message); toast(context, data.message);
notifyListeners(); notifyListeners();
} else if (data.error == "1") { } else if (data.error == "1") {
...@@ -337,20 +340,20 @@ class Editpaymentprovider extends ChangeNotifier { ...@@ -337,20 +340,20 @@ class Editpaymentprovider extends ChangeNotifier {
_submitLoading = false; _submitLoading = false;
notifyListeners(); notifyListeners();
} }
} catch (e, s) { } catch (e) {
_submitLoading = false; _submitLoading = false;
notifyListeners(); notifyListeners();
} }
} }
Future<void> paymentsDetailsAddAdjustedOrderModeAPIFunction( Future<void> paymentsDetailsAddAdjustedOrderModeAPIFunction(
context, context,
paymentId, paymentId,
selectedOrderId, selectedOrderId,
mode, mode,
) async { ) async {
try { try {
if(!validate()){ if (!validate()) {
return; return;
} }
_submitLoading = true; _submitLoading = true;
...@@ -380,23 +383,24 @@ class Editpaymentprovider extends ChangeNotifier { ...@@ -380,23 +383,24 @@ class Editpaymentprovider extends ChangeNotifier {
_submitLoading = false; _submitLoading = false;
notifyListeners(); notifyListeners();
} }
} catch (e, s) { } catch (e) {
_submitLoading = false; _submitLoading = false;
notifyListeners(); notifyListeners();
} }
} }
Future<void> paymentsDetailsEditAdjustedOrderModeAPIFunction( Future<void> paymentsDetailsEditAdjustedOrderModeAPIFunction(
context, context,
orderPaymentId, orderPaymentId,
selectedOrderId, selectedOrderId,
mode, mode,
paymentId, paymentId,
) async { ) async {
try { try {
print("$selectedOrderId , ${adjustedAddAmountController.text} , $orderPaymentId,"); print(
if(!validate()){ "$selectedOrderId , ${adjustedAddAmountController.text} , $orderPaymentId,",
);
if (!validate()) {
return; return;
} }
_submitLoading = true; _submitLoading = true;
...@@ -418,7 +422,7 @@ class Editpaymentprovider extends ChangeNotifier { ...@@ -418,7 +422,7 @@ class Editpaymentprovider extends ChangeNotifier {
Navigator.pop(context, true); Navigator.pop(context, true);
pprovider.paymentsDetailsByModeAPIFunction(context, paymentId, mode); pprovider.paymentsDetailsByModeAPIFunction(context, paymentId, mode);
notifyListeners(); notifyListeners();
}else { } else {
_submitLoading = false; _submitLoading = false;
notifyListeners(); notifyListeners();
} }
...@@ -426,27 +430,28 @@ class Editpaymentprovider extends ChangeNotifier { ...@@ -426,27 +430,28 @@ class Editpaymentprovider extends ChangeNotifier {
_submitLoading = false; _submitLoading = false;
notifyListeners(); notifyListeners();
} }
} catch (e, s) { } catch (e) {
_submitLoading = false; _submitLoading = false;
} }
} }
onChnageAmountController(value) { onChnageAmountController(value) {
adjustedAddAmountError = null; adjustedAddAmountError = null;
notifyListeners(); notifyListeners();
} }
bool validate(){ bool validate() {
bool isValid = true; bool isValid = true;
adjustedAddAmountError = null; adjustedAddAmountError = null;
selectedAccountError = null; selectedAccountError = null;
if(_editselectedPaidList==null||_editselectedPaidOrderId==null){ if (_editselectedPaidList == null || _editselectedPaidOrderId == null) {
selectedAccountError = "Please Select a Value"; selectedAccountError = "Please Select a Value";
isValid =false; isValid = false;
} }
if(adjustedAddAmountController.text.trim().isEmpty){ if (adjustedAddAmountController.text.trim().isEmpty) {
adjustedAddAmountError = "Please enter Amount"; adjustedAddAmountError = "Please enter Amount";
isValid =false; isValid = false;
} }
_submitLoading = false; _submitLoading = false;
notifyListeners(); notifyListeners();
...@@ -466,8 +471,9 @@ class Editpaymentprovider extends ChangeNotifier { ...@@ -466,8 +471,9 @@ class Editpaymentprovider extends ChangeNotifier {
notifyListeners(); notifyListeners();
} }
checkdropDownReset(){ checkdropDownReset() {
if (_editselectedPaidList != null && !_editpaidLists.contains(_editselectedPaidList)) { if (_editselectedPaidList != null &&
!_editpaidLists.contains(_editselectedPaidList)) {
_editselectedPaidList = null; _editselectedPaidList = null;
_editselectedPaidOrderId = null; _editselectedPaidOrderId = null;
_editselectedPaidOrderValue = null; _editselectedPaidOrderValue = null;
...@@ -481,21 +487,26 @@ class Editpaymentprovider extends ChangeNotifier { ...@@ -481,21 +487,26 @@ class Editpaymentprovider extends ChangeNotifier {
selectedOrderList = null; selectedOrderList = null;
_selectedOrderIDs.clear(); _selectedOrderIDs.clear();
} }
if (_editselectedPaidList != null && !_paidList.contains(_editselectedPaidList)) { if (_editselectedPaidList != null &&
!_paidList.contains(_editselectedPaidList)) {
_editselectedPaidList = null; _editselectedPaidList = null;
_selectedPaidOrderIDs.clear(); _selectedPaidOrderIDs.clear();
} }
} }
void resetForm() { void resetForm() {
_submitLoading =false; _submitLoading = false;
checkDropdownselected(); checkDropdownselected();
_editselectedPaidList = null; _editselectedPaidList = null;
_selectedOrderList = null; _selectedOrderList = null;
_selectedOrderIDs.clear(); _selectedOrderIDs.clear();
_selectedPaidOrderIDs.clear(); _selectedPaidOrderIDs.clear();
editOrderAmountControllers.forEach((controller) => controller.dispose()); for (var controller in editOrderAmountControllers) {
editOrderAmountControllers2.forEach((controller) => controller.dispose()); controller.dispose();
}
for (var controller in editOrderAmountControllers2) {
controller.dispose();
}
editOrderAmountControllers.clear(); editOrderAmountControllers.clear();
editOrderAmountControllers2.clear(); editOrderAmountControllers2.clear();
} }
......
...@@ -64,10 +64,11 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -64,10 +64,11 @@ class Pagesdashboardprovider extends ChangeNotifier {
List<Ordergain> _ordersgain = []; List<Ordergain> _ordersgain = [];
List<Ordergain> get ordersgain => _ordersgain; List<Ordergain> get ordersgain => _ordersgain;
bool get showMoreDetails => _showMoreDetails; bool get showMoreDetails => _showMoreDetails;
set showMoreDetails(bool value){ set showMoreDetails(bool value) {
_showMoreDetails = value; _showMoreDetails = value;
notifyListeners(); notifyListeners();
} }
File? _image; File? _image;
File? _imageName; File? _imageName;
...@@ -75,17 +76,18 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -75,17 +76,18 @@ class Pagesdashboardprovider extends ChangeNotifier {
bool get submitClicked => _submitClicked; bool get submitClicked => _submitClicked;
set submitClicked(bool value){ set submitClicked(bool value) {
_submitClicked = value; _submitClicked = value;
notifyListeners(); notifyListeners();
} }
String get approvalSheetHeading => _approvalSheetHeading; String get approvalSheetHeading => _approvalSheetHeading;
String get rejecetionSheetHeading => _rejecetionSheetHeading; String get rejecetionSheetHeading => _rejecetionSheetHeading;
String get deletionSheetHeading => _deletionSheetHeading; String get deletionSheetHeading => _deletionSheetHeading;
set enteredOtp(String value){ set enteredOtp(String value) {
_enteredOTP = value; _enteredOTP = value;
notifyListeners(); notifyListeners();
} }
...@@ -215,7 +217,7 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -215,7 +217,7 @@ class Pagesdashboardprovider extends ChangeNotifier {
debugPrint("added"); debugPrint("added");
_image = File(galleryImage!.path); _image = File(galleryImage!.path);
_imageName = File(galleryImage!.name); _imageName = File(galleryImage.name);
_image_picked = 1; _image_picked = 1;
notifyListeners(); notifyListeners();
} catch (e) { } catch (e) {
...@@ -236,7 +238,7 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -236,7 +238,7 @@ class Pagesdashboardprovider extends ChangeNotifier {
debugPrint("Jenny: bytes:$bytes, kb:$kb, mb: $mb"); debugPrint("Jenny: bytes:$bytes, kb:$kb, mb: $mb");
_image = File(galleryImage!.path); _image = File(galleryImage!.path);
_imageName = File(galleryImage!.name); _imageName = File(galleryImage.name);
_image_picked = 1; _image_picked = 1;
notifyListeners(); notifyListeners();
// var file = FlutterImageCompress.compressWithFile(galleryImage!.path); // var file = FlutterImageCompress.compressWithFile(galleryImage!.path);
...@@ -245,32 +247,34 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -245,32 +247,34 @@ class Pagesdashboardprovider extends ChangeNotifier {
} }
} }
Future<void> orderDashboardAPIFunction(
Future<void> orderDashboardAPIFunction(context, mode, context,
from,to,teamemployee) async { mode,
try{ from,
var HomeProv = Provider.of<HomescreenNotifier>(context,listen: false); to,
final data = await ApiCalling.ordersDashboardAPI(HomeProv.empId, HomeProv.session, mode, teamemployee,
from,to,teamemployee); ) async {
if(data!=null){ try {
if(data.error=="0"){ var HomeProv = Provider.of<HomescreenNotifier>(context, listen: false);
final data = await ApiCalling.ordersDashboardAPI(
HomeProv.empId,
HomeProv.session,
mode,
from,
to,
teamemployee,
);
if (data != null) {
if (data.error == "0") {
_ordergain = data.ordergain!; _ordergain = data.ordergain!;
_dispatches = data.dispatches!; _dispatches = data.dispatches!;
_pendingTasks = data.pendingTasks!; _pendingTasks = data.pendingTasks!;
_quote = data.quote!; _quote = data.quote!;
_ordersgain = [ _ordersgain = [_ordergain, _dispatches, _pendingTasks, _quote];
_ordergain,
_dispatches,
_pendingTasks,
_quote,
];
notifyListeners(); notifyListeners();
} }
} }
} catch (e) {}
}catch (e,s){
}
} }
Future<void> ordersAccessiblePagesAPIFunction(context) async { Future<void> ordersAccessiblePagesAPIFunction(context) async {
...@@ -283,11 +287,11 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -283,11 +287,11 @@ class Pagesdashboardprovider extends ChangeNotifier {
if (data != null) { if (data != null) {
if (data.error == "0") { if (data.error == "0") {
_ordersAccessiblePagesList = data.pagesAccessible!; _ordersAccessiblePagesList = data.pagesAccessible!;
print(data.pagesAccessible!.map((e) => e.pageName,)); print(data.pagesAccessible!.map((e) => e.pageName));
notifyListeners(); notifyListeners();
} else {} } else {}
} }
} catch (e, s) {} } catch (e) {}
} }
Future<void> ordersAccessibleAddPagesAPIFunction(context) async { Future<void> ordersAccessibleAddPagesAPIFunction(context) async {
...@@ -303,7 +307,7 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -303,7 +307,7 @@ class Pagesdashboardprovider extends ChangeNotifier {
notifyListeners(); notifyListeners();
} else {} } else {}
} }
} catch (e, s) {} } catch (e) {}
} }
Future<void> ordersListByModeFilterAPIFunction(context, mode) async { Future<void> ordersListByModeFilterAPIFunction(context, mode) async {
...@@ -321,11 +325,9 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -321,11 +325,9 @@ class Pagesdashboardprovider extends ChangeNotifier {
notifyListeners(); notifyListeners();
} else {} } else {}
} }
} catch (e, s) {} } catch (e) {}
} }
bool _isLoadingMore = false; bool _isLoadingMore = false;
bool get isLoadingMore => _isLoadingMore; bool get isLoadingMore => _isLoadingMore;
...@@ -349,12 +351,12 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -349,12 +351,12 @@ class Pagesdashboardprovider extends ChangeNotifier {
} }
Future<void> ordersListByModeAPIFunction( Future<void> ordersListByModeAPIFunction(
BuildContext context, BuildContext context,
String mode, String mode,
String teamEmployee, String teamEmployee,
String status, { String status, {
bool append = false, bool append = false,
}) async { }) async {
try { try {
var provider = Provider.of<HomescreenNotifier>(context, listen: false); var provider = Provider.of<HomescreenNotifier>(context, listen: false);
...@@ -375,7 +377,9 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -375,7 +377,9 @@ class Pagesdashboardprovider extends ChangeNotifier {
status, status,
_currentPage.toString(), _currentPage.toString(),
); );
debugPrint('empId: ${provider.empId}, session: ${provider.session}, pageNumber: $_currentPage'); debugPrint(
'empId: ${provider.empId}, session: ${provider.session}, pageNumber: $_currentPage',
);
if (data != null && data.error == "0") { if (data != null && data.error == "0") {
if (append) { if (append) {
...@@ -390,7 +394,6 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -390,7 +394,6 @@ class Pagesdashboardprovider extends ChangeNotifier {
} }
} }
if (data.orderList == null || data.orderList!.length < 10) { if (data.orderList == null || data.orderList!.length < 10) {
_hasMoreData = false; _hasMoreData = false;
} }
...@@ -398,7 +401,7 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -398,7 +401,7 @@ class Pagesdashboardprovider extends ChangeNotifier {
if (!append) _errorMessage = "No orders found!"; if (!append) _errorMessage = "No orders found!";
_hasMoreData = false; _hasMoreData = false;
} }
} catch (e, s) { } catch (e) {
_errorMessage = "Error: $e"; _errorMessage = "Error: $e";
} }
if (_selectedEmployee != null && if (_selectedEmployee != null &&
...@@ -411,16 +414,15 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -411,16 +414,15 @@ class Pagesdashboardprovider extends ChangeNotifier {
_isLoading = false; _isLoading = false;
_isLoadingMore = false; _isLoadingMore = false;
notifyListeners(); notifyListeners();
} }
/// Load next page /// Load next page
Future<void> loadMore( Future<void> loadMore(
BuildContext context, BuildContext context,
String mode, String mode,
String teamEmployee, String teamEmployee,
String status, String status,
) async { ) async {
if (_isLoadingMore || !_hasMoreData) return; if (_isLoadingMore || !_hasMoreData) return;
_currentPage++; _currentPage++;
await ordersListByModeAPIFunction( await ordersListByModeAPIFunction(
...@@ -444,70 +446,72 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -444,70 +446,72 @@ class Pagesdashboardprovider extends ChangeNotifier {
// _isLoading = true; // _isLoading = true;
notifyListeners(); notifyListeners();
if (data.error == "0") { if (data.error == "0") {
_orderDetails = data.orderDetails??OrderDetails( _orderDetails =
id:"", data.orderDetails ??
orderNumber:"", OrderDetails(
orderNumberHash:"", id: "",
balanceAmount:"", orderNumber: "",
accId:"", orderNumberHash: "",
refType:"", balanceAmount: "",
refId:"", accId: "",
salesPersonEmpId:"", refType: "",
enteredEmpId:"", refId: "",
dispatchStateId:"", salesPersonEmpId: "",
dispatchDistrictId:"", enteredEmpId: "",
dispatchSubLocationId:"", dispatchStateId: "",
dispatchPincode:"", dispatchDistrictId: "",
dispatchAddress:"", dispatchSubLocationId: "",
basicAmount:"", dispatchPincode: "",
cgstAmount:"", dispatchAddress: "",
sgstAmount:"", basicAmount: "",
igstAmount:"", cgstAmount: "",
paidAmount:"", sgstAmount: "",
totalAmount:"", igstAmount: "",
status:"", paidAmount: "",
orderReceivedDate:"", totalAmount: "",
scheduledDispatchDate:"", status: "",
otp:"", orderReceivedDate: "",
note:"", scheduledDispatchDate: "",
poViewFileName:"", otp: "",
poDirFilePath:"", note: "",
unloadingScope:"", poViewFileName: "",
freightScope:"", poDirFilePath: "",
erectionScope:"", unloadingScope: "",
saleOrderNumber:"", freightScope: "",
invoiceNumber:"", erectionScope: "",
vehicleNumber:"", saleOrderNumber: "",
driverName:"", invoiceNumber: "",
driverMobileNumber:"", vehicleNumber: "",
tpcApplicable:"", driverName: "",
requestedTpcAmount:"", driverMobileNumber: "",
level1TpcApprovedAmount:"", tpcApplicable: "",
level2TpcApprovedAmount:"", requestedTpcAmount: "",
tpcPaymentMode:"", level1TpcApprovedAmount: "",
tpcPaymentReferenceNo:"", level2TpcApprovedAmount: "",
tpcPaymentAttachmentDirFilePath:"", tpcPaymentMode: "",
tpcPaymentAttachementViewFileName:"", tpcPaymentReferenceNo: "",
tpcStatus:"", tpcPaymentAttachmentDirFilePath: "",
tpcAgentId:"", tpcPaymentAttachementViewFileName: "",
isExist:"", tpcStatus: "",
createdDatetime:"", tpcAgentId: "",
updatedDatetime:"", isExist: "",
accountName:"", createdDatetime: "",
gstNumber:"", updatedDatetime: "",
billingAddress:"", accountName: "",
billingDistrict:"", gstNumber: "",
billingState:"", billingAddress: "",
billingSubLocality:"", billingDistrict: "",
billingPincode:"", billingState: "",
stateName:"", billingSubLocality: "",
districtName:"", billingPincode: "",
subLocationName:"", stateName: "",
adjustedAmount:"", districtName: "",
enteredEmpName:"", subLocationName: "",
salesPersonEmpName:"", adjustedAmount: "",
tpcaAgentName: "" enteredEmpName: "",
); salesPersonEmpName: "",
tpcaAgentName: "",
);
_productsHistory = data.products!; _productsHistory = data.products!;
_feedbackHistory = data.feedbackHistory!; _feedbackHistory = data.feedbackHistory!;
_paymentHistory = data.paymentHistory!; _paymentHistory = data.paymentHistory!;
...@@ -663,7 +667,7 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -663,7 +667,7 @@ class Pagesdashboardprovider extends ChangeNotifier {
} }
notifyListeners(); notifyListeners();
} }
} catch (e, s) {} } catch (e) {}
} }
Future<void> ordersDetailsFeedbackSubmissionAPIFunction( Future<void> ordersDetailsFeedbackSubmissionAPIFunction(
...@@ -698,11 +702,11 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -698,11 +702,11 @@ class Pagesdashboardprovider extends ChangeNotifier {
_submitClicked = false; _submitClicked = false;
notifyListeners(); notifyListeners();
} }
}else{ } else {
_submitClicked = false; _submitClicked = false;
notifyListeners(); notifyListeners();
} }
} catch (e, s) { } catch (e) {
_submitClicked = false; _submitClicked = false;
notifyListeners(); notifyListeners();
} }
...@@ -713,13 +717,13 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -713,13 +717,13 @@ class Pagesdashboardprovider extends ChangeNotifier {
status, status,
orderId, orderId,
type, type,
tpc_applicable, tpcApplicable,
tpc_approved_amount, tpcApprovedAmount,
invoice_number, invoiceNumber,
vehicle_number, vehicleNumber,
driver_name, driverName,
driver_mobile_no, driverMobileNo,
crm_order_p_id, crmOrderPId,
mode, mode,
) async { ) async {
try { try {
...@@ -737,15 +741,15 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -737,15 +741,15 @@ class Pagesdashboardprovider extends ChangeNotifier {
type, type,
orderId, orderId,
approveRejectFeedbackController.text, approveRejectFeedbackController.text,
tpc_applicable, tpcApplicable,
tpc_approved_amount, tpcApprovedAmount,
saleOrderNumberController.text, saleOrderNumberController.text,
editCompanyController.text, editCompanyController.text,
invoice_number, invoiceNumber,
vehicle_number, vehicleNumber,
driver_name, driverName,
driver_mobile_no, driverMobileNo,
crm_order_p_id, crmOrderPId,
); );
if (data != null) { if (data != null) {
if (data.error == "0") { if (data.error == "0") {
...@@ -756,7 +760,7 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -756,7 +760,7 @@ class Pagesdashboardprovider extends ChangeNotifier {
notifyListeners(); notifyListeners();
} else {} } else {}
} }
} catch (e, s) {} } catch (e) {}
} }
Future<void> delectionAPIFunction(context, orderId) async { Future<void> delectionAPIFunction(context, orderId) async {
...@@ -778,33 +782,33 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -778,33 +782,33 @@ class Pagesdashboardprovider extends ChangeNotifier {
resetForm(); resetForm();
Navigator.pop(context, true); Navigator.pop(context, true);
notifyListeners(); notifyListeners();
} else { } else {
_submitClicked = false; _submitClicked = false;
notifyListeners(); notifyListeners();
} }
}else{ } else {
_submitClicked = false; _submitClicked = false;
notifyListeners(); notifyListeners();
} }
} catch (e, s) { } catch (e) {
_submitClicked = false; _submitClicked = false;
notifyListeners(); notifyListeners();
} }
} }
Future<void> verifyOrderAPIFunction(context, orderId,otp) async { Future<void> verifyOrderAPIFunction(context, orderId, otp) async {
try { try {
if(otp.isEmpty){ if (otp.isEmpty) {
toast(context, "Please Enter OTP"); toast(context, "Please Enter OTP");
_submitClicked = false; _submitClicked = false;
return; return;
} }
final provider = Provider.of<HomescreenNotifier>(context, listen: false); final provider = Provider.of<HomescreenNotifier>(context, listen: false);
final data = await ApiCalling.verifyOrderAPI( final data = await ApiCalling.verifyOrderAPI(
provider.empId, provider.empId,
provider.session, provider.session,
orderId, orderId,
otp otp,
); );
if (data != null) { if (data != null) {
if (data.error == "0") { if (data.error == "0") {
...@@ -812,16 +816,16 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -812,16 +816,16 @@ class Pagesdashboardprovider extends ChangeNotifier {
// otpController.clear(); // otpController.clear();
Navigator.pop(context, true); Navigator.pop(context, true);
notifyListeners(); notifyListeners();
} else { } else {
toast(context, data.message!); toast(context, data.message!);
_submitClicked = false; _submitClicked = false;
notifyListeners(); notifyListeners();
} }
}else{ } else {
_submitClicked = false; _submitClicked = false;
notifyListeners(); notifyListeners();
} }
} catch (e, s) { } catch (e) {
_submitClicked = false; _submitClicked = false;
notifyListeners(); notifyListeners();
} }
...@@ -846,8 +850,7 @@ class Pagesdashboardprovider extends ChangeNotifier { ...@@ -846,8 +850,7 @@ class Pagesdashboardprovider extends ChangeNotifier {
} else { } else {
toast(context, data.message); toast(context, data.message);
} }
} else { } else {}
}
} else {} } else {}
} on Error catch (e) { } on Error catch (e) {
debugPrint(e.toString()); debugPrint(e.toString());
......
...@@ -37,22 +37,22 @@ class Paymentsprovider extends ChangeNotifier { ...@@ -37,22 +37,22 @@ class Paymentsprovider extends ChangeNotifier {
String? _selectedPaidOrderId; String? _selectedPaidOrderId;
String? _selectedPaidOrderValue; String? _selectedPaidOrderValue;
PaidList? get selectedPaidList => _selectedPaidList; PaidList? get selectedPaidList => _selectedPaidList;
String? get selectedPaidOrderId =>_selectedPaidOrderId; String? get selectedPaidOrderId => _selectedPaidOrderId;
String? get selectedPaidOrderValue =>_selectedPaidOrderValue; String? get selectedPaidOrderValue => _selectedPaidOrderValue;
set selectedPaidList(PaidList? value){ set selectedPaidList(PaidList? value) {
_selectedPaidList = value; _selectedPaidList = value;
_selectedPaidOrderId = value!.id; _selectedPaidOrderId = value!.id;
_selectedPaidOrderValue = value!.orderNumber; _selectedPaidOrderValue = value.orderNumber;
notifyListeners(); notifyListeners();
} }
set selectedPaidOrderId(String? value){ set selectedPaidOrderId(String? value) {
_selectedPaidOrderId = value; _selectedPaidOrderId = value;
notifyListeners(); notifyListeners();
} }
set selectedPaidOrderValue(String? value){ set selectedPaidOrderValue(String? value) {
_selectedPaidOrderValue = value; _selectedPaidOrderValue = value;
notifyListeners(); notifyListeners();
} }
...@@ -76,7 +76,7 @@ class Paymentsprovider extends ChangeNotifier { ...@@ -76,7 +76,7 @@ class Paymentsprovider extends ChangeNotifier {
bool get isLoading => _isLoading; bool get isLoading => _isLoading;
set submitLoading(bool value){ set submitLoading(bool value) {
_submitLoading = value; _submitLoading = value;
notifyListeners(); notifyListeners();
} }
...@@ -117,7 +117,7 @@ class Paymentsprovider extends ChangeNotifier { ...@@ -117,7 +117,7 @@ class Paymentsprovider extends ChangeNotifier {
notifyListeners(); notifyListeners();
} else {} } else {}
} }
} catch (e, s) {} } catch (e) {}
} }
bool _isLoadingMore = false; bool _isLoadingMore = false;
...@@ -141,11 +141,11 @@ class Paymentsprovider extends ChangeNotifier { ...@@ -141,11 +141,11 @@ class Paymentsprovider extends ChangeNotifier {
} }
Future<void> paymentsListsByModeAPIFunction( Future<void> paymentsListsByModeAPIFunction(
BuildContext context, BuildContext context,
String mode, String mode,
String teamEmployee, { String teamEmployee, {
bool append = false, bool append = false,
}) async { }) async {
try { try {
var provider = Provider.of<HomescreenNotifier>(context, listen: false); var provider = Provider.of<HomescreenNotifier>(context, listen: false);
...@@ -165,7 +165,9 @@ class Paymentsprovider extends ChangeNotifier { ...@@ -165,7 +165,9 @@ class Paymentsprovider extends ChangeNotifier {
teamEmployee, teamEmployee,
_currentPage.toString(), _currentPage.toString(),
); );
debugPrint('empId: ${provider.empId}, session: ${provider.session}, pageNumber: $_currentPage'); debugPrint(
'empId: ${provider.empId}, session: ${provider.session}, pageNumber: $_currentPage',
);
if (data != null && data.error == "0") { if (data != null && data.error == "0") {
if (append) { if (append) {
...@@ -181,7 +183,7 @@ class Paymentsprovider extends ChangeNotifier { ...@@ -181,7 +183,7 @@ class Paymentsprovider extends ChangeNotifier {
if (!append) _errorMessage = "No payments found!"; if (!append) _errorMessage = "No payments found!";
_hasMoreData = false; _hasMoreData = false;
} }
} catch (e, s) { } catch (e) {
_errorMessage = "Error: $e"; _errorMessage = "Error: $e";
} }
...@@ -191,10 +193,10 @@ class Paymentsprovider extends ChangeNotifier { ...@@ -191,10 +193,10 @@ class Paymentsprovider extends ChangeNotifier {
} }
Future<void> loadMore( Future<void> loadMore(
BuildContext context, BuildContext context,
String mode, String mode,
String teamEmployee, String teamEmployee,
) async { ) async {
if (_isLoadingMore || !_hasMoreData) return; if (_isLoadingMore || !_hasMoreData) return;
_currentPage++; _currentPage++;
await paymentsListsByModeAPIFunction( await paymentsListsByModeAPIFunction(
...@@ -261,7 +263,7 @@ class Paymentsprovider extends ChangeNotifier { ...@@ -261,7 +263,7 @@ class Paymentsprovider extends ChangeNotifier {
} }
notifyListeners(); notifyListeners();
} }
} catch (e, s) {} } catch (e) {}
} }
Future<void> paymentApprovalRejectionAPIFunction( Future<void> paymentApprovalRejectionAPIFunction(
...@@ -289,7 +291,7 @@ class Paymentsprovider extends ChangeNotifier { ...@@ -289,7 +291,7 @@ class Paymentsprovider extends ChangeNotifier {
notifyListeners(); notifyListeners();
} }
} }
} catch (e, s) {} } catch (e) {}
} }
Future<void> paymentDeletionAPIFunction(context, paymentId) async { Future<void> paymentDeletionAPIFunction(context, paymentId) async {
...@@ -309,25 +311,21 @@ class Paymentsprovider extends ChangeNotifier { ...@@ -309,25 +311,21 @@ class Paymentsprovider extends ChangeNotifier {
notifyListeners(); notifyListeners();
} }
} }
} catch (e, s) {} } catch (e) {}
} }
bool validate() {
bool validate(){
bool isValid = true; bool isValid = true;
adjustedAddAmountError = null; adjustedAddAmountError = null;
selectedAccountError = null; selectedAccountError = null;
if(_selectedPaidList==null||_selectedPaidOrderId==null){ if (_selectedPaidList == null || _selectedPaidOrderId == null) {
selectedAccountError = "Please Select a Value"; selectedAccountError = "Please Select a Value";
isValid =false; isValid = false;
} }
if(adjustedAddAmountController.text.trim().isEmpty){ if (adjustedAddAmountController.text.trim().isEmpty) {
adjustedAddAmountError = "Please enter Amount"; adjustedAddAmountError = "Please enter Amount";
isValid =false; isValid = false;
} }
_submitLoading = false; _submitLoading = false;
notifyListeners(); notifyListeners();
...@@ -356,7 +354,6 @@ class Paymentsprovider extends ChangeNotifier { ...@@ -356,7 +354,6 @@ class Paymentsprovider extends ChangeNotifier {
} }
void resetForm() { void resetForm() {
_submitLoading = false; _submitLoading = false;
adjustedAddAmountController.clear(); adjustedAddAmountController.clear();
approvalRejectionController.clear(); approvalRejectionController.clear();
...@@ -382,7 +379,7 @@ class Paymentsprovider extends ChangeNotifier { ...@@ -382,7 +379,7 @@ class Paymentsprovider extends ChangeNotifier {
notifyListeners(); notifyListeners();
} }
checkdropDownReset(){ checkdropDownReset() {
if (_selectedPaidList != null && !_paidLists.contains(_selectedPaidList)) { if (_selectedPaidList != null && !_paidLists.contains(_selectedPaidList)) {
_selectedPaidList = null; _selectedPaidList = null;
_selectedPaidOrderId = null; _selectedPaidOrderId = null;
......
...@@ -14,20 +14,23 @@ import '../../Utils/commonServices.dart'; ...@@ -14,20 +14,23 @@ import '../../Utils/commonServices.dart';
import '../../services/api_calling.dart'; import '../../services/api_calling.dart';
import '../HomeScreenNotifier.dart'; import '../HomeScreenNotifier.dart';
class Tpcagentsprovider extends ChangeNotifier{ class Tpcagentsprovider extends ChangeNotifier {
bool _submitClicked = false; bool _submitClicked = false;
bool _showMoreDetails = false; bool _showMoreDetails = false;
TextEditingController tpcNameController = TextEditingController(); TextEditingController tpcNameController = TextEditingController();
TextEditingController tpcMobileNumberController = TextEditingController(); TextEditingController tpcMobileNumberController = TextEditingController();
TextEditingController tpcBankNameController = TextEditingController(); TextEditingController tpcBankNameController = TextEditingController();
TextEditingController tpcBankBeneficiaryNameController = TextEditingController(); TextEditingController tpcBankBeneficiaryNameController =
TextEditingController tpcBankAccountNumberController = TextEditingController(); TextEditingController();
TextEditingController tpcBankAccountNumberController =
TextEditingController();
TextEditingController tpcBankIFSCController = TextEditingController(); TextEditingController tpcBankIFSCController = TextEditingController();
TextEditingController tpcNoteController = TextEditingController(); TextEditingController tpcNoteController = TextEditingController();
TextEditingController tpcPaymentModeController = TextEditingController(); TextEditingController tpcPaymentModeController = TextEditingController();
TextEditingController tpcPaymentReferenceNoController = TextEditingController(); TextEditingController tpcPaymentReferenceNoController =
TextEditingController();
TextEditingController orderTpcFeedbackController = TextEditingController(); TextEditingController orderTpcFeedbackController = TextEditingController();
String? tpcNameError = ""; String? tpcNameError = "";
...@@ -75,12 +78,12 @@ class Tpcagentsprovider extends ChangeNotifier{ ...@@ -75,12 +78,12 @@ class Tpcagentsprovider extends ChangeNotifier{
get imagePicked => _image_picked; get imagePicked => _image_picked;
set submitClicked(bool value){ set submitClicked(bool value) {
_submitClicked = value; _submitClicked = value;
notifyListeners(); notifyListeners();
} }
set showMoreDetails(bool value){ set showMoreDetails(bool value) {
_showMoreDetails = value; _showMoreDetails = value;
notifyListeners(); notifyListeners();
} }
...@@ -100,7 +103,6 @@ class Tpcagentsprovider extends ChangeNotifier{ ...@@ -100,7 +103,6 @@ class Tpcagentsprovider extends ChangeNotifier{
notifyListeners(); notifyListeners();
} }
bool _isLoadingMore = false; bool _isLoadingMore = false;
bool get isLoadingMore => _isLoadingMore; bool get isLoadingMore => _isLoadingMore;
...@@ -122,10 +124,10 @@ class Tpcagentsprovider extends ChangeNotifier{ ...@@ -122,10 +124,10 @@ class Tpcagentsprovider extends ChangeNotifier{
} }
Future<void> TPCAgentsListAPIFunction( Future<void> TPCAgentsListAPIFunction(
BuildContext context, BuildContext context,
String mode, { String mode, {
bool append = false, bool append = false,
}) async { }) async {
try { try {
var provider = Provider.of<HomescreenNotifier>(context, listen: false); var provider = Provider.of<HomescreenNotifier>(context, listen: false);
...@@ -144,7 +146,9 @@ class Tpcagentsprovider extends ChangeNotifier{ ...@@ -144,7 +146,9 @@ class Tpcagentsprovider extends ChangeNotifier{
mode, mode,
_currentPage.toString(), // page number _currentPage.toString(), // page number
); );
debugPrint('empId: ${provider.empId}, session: ${provider.session}, pageNumber: $_currentPage'); debugPrint(
'empId: ${provider.empId}, session: ${provider.session}, pageNumber: $_currentPage',
);
if (data != null && data.error == "0") { if (data != null && data.error == "0") {
if (append) { if (append) {
...@@ -161,7 +165,7 @@ class Tpcagentsprovider extends ChangeNotifier{ ...@@ -161,7 +165,7 @@ class Tpcagentsprovider extends ChangeNotifier{
if (!append) _errorMessage = "No agents found!"; if (!append) _errorMessage = "No agents found!";
_hasMoreData = false; _hasMoreData = false;
} }
} catch (e, s) { } catch (e) {
_errorMessage = "Error: $e"; _errorMessage = "Error: $e";
} }
...@@ -176,12 +180,10 @@ class Tpcagentsprovider extends ChangeNotifier{ ...@@ -176,12 +180,10 @@ class Tpcagentsprovider extends ChangeNotifier{
await TPCAgentsListAPIFunction(context, mode, append: true); await TPCAgentsListAPIFunction(context, mode, append: true);
} }
Future<void> TPCAgentsIssueListAPIFunction( Future<void> TPCAgentsIssueListAPIFunction(
BuildContext context, { BuildContext context, {
bool append = false, bool append = false,
}) async { }) async {
try { try {
var provider = Provider.of<HomescreenNotifier>(context, listen: false); var provider = Provider.of<HomescreenNotifier>(context, listen: false);
...@@ -200,7 +202,9 @@ class Tpcagentsprovider extends ChangeNotifier{ ...@@ -200,7 +202,9 @@ class Tpcagentsprovider extends ChangeNotifier{
provider.session, provider.session,
_currentPage.toString(), // page number _currentPage.toString(), // page number
); );
debugPrint('empId: ${provider.empId}, session: ${provider.session}, pageNumber: $_currentPage'); debugPrint(
'empId: ${provider.empId}, session: ${provider.session}, pageNumber: $_currentPage',
);
if (data != null && data.error == "0") { if (data != null && data.error == "0") {
if (append) { if (append) {
...@@ -233,14 +237,13 @@ class Tpcagentsprovider extends ChangeNotifier{ ...@@ -233,14 +237,13 @@ class Tpcagentsprovider extends ChangeNotifier{
await TPCAgentsIssueListAPIFunction(context, append: true); await TPCAgentsIssueListAPIFunction(context, append: true);
} }
Future<void> TPCAgentsDetailsAPIFunction(context, tpcAgentId) async {
Future<void> TPCAgentsDetailsAPIFunction(context, tpc_agent_id) async {
try { try {
var provider = Provider.of<HomescreenNotifier>(context, listen: false); var provider = Provider.of<HomescreenNotifier>(context, listen: false);
final data = await ApiCalling.TPCAgentDetailsAPI( final data = await ApiCalling.TPCAgentDetailsAPI(
provider.empId, provider.empId,
provider.session, provider.session,
tpc_agent_id, tpcAgentId,
); );
if (data != null) { if (data != null) {
_tpcRequestedAmounts.clear(); _tpcRequestedAmounts.clear();
...@@ -250,7 +253,8 @@ class Tpcagentsprovider extends ChangeNotifier{ ...@@ -250,7 +253,8 @@ class Tpcagentsprovider extends ChangeNotifier{
_tpcAgentDetails = data.tpcAgentDetails!; _tpcAgentDetails = data.tpcAgentDetails!;
_tpcRequestedAmounts = data.tpcRequestedAmounts!; _tpcRequestedAmounts = data.tpcRequestedAmounts!;
_isLoading = false; _isLoading = false;
_headings = ["Agent Name", _headings = [
"Agent Name",
"Mobile Number", "Mobile Number",
"TPC Agent Bank Name", "TPC Agent Bank Name",
"Bank Beneficiary Name", "Bank Beneficiary Name",
...@@ -260,17 +264,17 @@ class Tpcagentsprovider extends ChangeNotifier{ ...@@ -260,17 +264,17 @@ class Tpcagentsprovider extends ChangeNotifier{
"Order Received Date", "Order Received Date",
"Created Date", "Created Date",
"Note", "Note",
]; ];
_subHeadings = [ _subHeadings = [
_tpcAgentDetails.name??"-", _tpcAgentDetails.name ?? "-",
_tpcAgentDetails.mobileNumber??"-", _tpcAgentDetails.mobileNumber ?? "-",
_tpcAgentDetails.bankName??"-", _tpcAgentDetails.bankName ?? "-",
_tpcAgentDetails.bankBeneficiaryName??"-", _tpcAgentDetails.bankBeneficiaryName ?? "-",
_tpcAgentDetails.bankAccountNo??"-", _tpcAgentDetails.bankAccountNo ?? "-",
_tpcAgentDetails.bankIfscCode??"-", _tpcAgentDetails.bankIfscCode ?? "-",
_tpcAgentDetails.idProofViewFileName??"-", _tpcAgentDetails.idProofViewFileName ?? "-",
_tpcAgentDetails.createdDatetime??"-", _tpcAgentDetails.createdDatetime ?? "-",
_tpcAgentDetails.note??"-" _tpcAgentDetails.note ?? "-",
]; ];
notifyListeners(); notifyListeners();
...@@ -279,10 +283,10 @@ class Tpcagentsprovider extends ChangeNotifier{ ...@@ -279,10 +283,10 @@ class Tpcagentsprovider extends ChangeNotifier{
} }
notifyListeners(); notifyListeners();
} }
} catch (e, s) {} } catch (e) {}
} }
Future<void> TPCAgentsIssueApprovalAPIFunction(context, orderID,) async { Future<void> TPCAgentsIssueApprovalAPIFunction(context, orderID) async {
try { try {
if (!validateApproveForm(context)) { if (!validateApproveForm(context)) {
// _submitClicked = false; // _submitClicked = false;
...@@ -294,14 +298,13 @@ class Tpcagentsprovider extends ChangeNotifier{ ...@@ -294,14 +298,13 @@ class Tpcagentsprovider extends ChangeNotifier{
final data = await ApiCalling.TpcIssueListApprovalAPI( final data = await ApiCalling.TpcIssueListApprovalAPI(
provider.empId, provider.empId,
provider.session, provider.session,
tpcPaymentModeController.text, tpcPaymentModeController.text,
tpcPaymentReferenceNoController.text, tpcPaymentReferenceNoController.text,
orderID, orderID,
orderTpcFeedbackController.text, orderTpcFeedbackController.text,
_image _image,
); );
if (data != null) { if (data != null) {
if (data.error == "0") { if (data.error == "0") {
_submitClicked = false; _submitClicked = false;
toast(context, "Submitted Successfully"); toast(context, "Submitted Successfully");
...@@ -309,19 +312,17 @@ class Tpcagentsprovider extends ChangeNotifier{ ...@@ -309,19 +312,17 @@ class Tpcagentsprovider extends ChangeNotifier{
resetApprovalForm(); resetApprovalForm();
Navigator.pop(context, true); Navigator.pop(context, true);
notifyListeners(); notifyListeners();
}else{ } else {
_submitClicked = false; _submitClicked = false;
notifyListeners(); notifyListeners();
} }
}else{ } else {
_submitClicked = false; _submitClicked = false;
notifyListeners(); notifyListeners();
} }
} catch (e, s) { } catch (e) {
_submitClicked = false;
_submitClicked = false; notifyListeners();
notifyListeners();
} }
} }
...@@ -337,18 +338,16 @@ class Tpcagentsprovider extends ChangeNotifier{ ...@@ -337,18 +338,16 @@ class Tpcagentsprovider extends ChangeNotifier{
final data = await ApiCalling.ordersAddTPCAgentAPI( final data = await ApiCalling.ordersAddTPCAgentAPI(
provider.empId, provider.empId,
provider.session, provider.session,
tpcNameController.text, tpcNameController.text,
tpcMobileNumberController.text, tpcMobileNumberController.text,
tpcBankNameController.text, tpcBankNameController.text,
tpcBankBeneficiaryNameController.text, tpcBankBeneficiaryNameController.text,
tpcBankAccountNumberController.text, tpcBankAccountNumberController.text,
tpcBankIFSCController.text, tpcBankIFSCController.text,
tpcNoteController.text, tpcNoteController.text,
_image _image,
); );
if (data != null) { if (data != null) {
if (data.error == "0") { if (data.error == "0") {
_submitClicked = false; _submitClicked = false;
toast(context, "Submitted Successfully"); toast(context, "Submitted Successfully");
...@@ -356,15 +355,15 @@ class Tpcagentsprovider extends ChangeNotifier{ ...@@ -356,15 +355,15 @@ class Tpcagentsprovider extends ChangeNotifier{
resetAddTPCAgentForm(); resetAddTPCAgentForm();
Navigator.pop(context, true); Navigator.pop(context, true);
notifyListeners(); notifyListeners();
}else{ } else {
_submitClicked = false; _submitClicked = false;
notifyListeners(); notifyListeners();
} }
}else{ } else {
_submitClicked = false; _submitClicked = false;
notifyListeners(); notifyListeners();
} }
} catch (e, s) { } catch (e) {
_submitClicked = false; _submitClicked = false;
notifyListeners(); notifyListeners();
} }
...@@ -382,36 +381,37 @@ class Tpcagentsprovider extends ChangeNotifier{ ...@@ -382,36 +381,37 @@ class Tpcagentsprovider extends ChangeNotifier{
bool isValid = true; bool isValid = true;
if(tpcNameController.text.trim().isEmpty){ if (tpcNameController.text.trim().isEmpty) {
tpcNameError = "Please Enter Your Name"; tpcNameError = "Please Enter Your Name";
isValid = false; isValid = false;
} }
if(tpcMobileNumberController.text.trim().isEmpty){ if (tpcMobileNumberController.text.trim().isEmpty) {
tpcMobileNumberError = "PLease Enter Your Mobile Number"; tpcMobileNumberError = "PLease Enter Your Mobile Number";
isValid = false; isValid = false;
} }
if(tpcMobileNumberController.text.trim().isNotEmpty && tpcMobileNumberController.text.length<10){ if (tpcMobileNumberController.text.trim().isNotEmpty &&
tpcMobileNumberController.text.length < 10) {
tpcMobileNumberError = "Please Enter a Valid Mobile Number"; tpcMobileNumberError = "Please Enter a Valid Mobile Number";
isValid = false; isValid = false;
} }
if(_image_picked==0){ if (_image_picked == 0) {
imageError = "Please select ID Proof"; imageError = "Please select ID Proof";
isValid = false; isValid = false;
} }
if(tpcBankNameController.text.trim().isEmpty){ if (tpcBankNameController.text.trim().isEmpty) {
tpcBankNameError = "Please Enter Bank Name"; tpcBankNameError = "Please Enter Bank Name";
isValid = false; isValid = false;
} }
if(tpcBankBeneficiaryNameController.text.trim().isEmpty){ if (tpcBankBeneficiaryNameController.text.trim().isEmpty) {
tpcBankBeneficiaryNameError = "Please Enter Beneficiery Name"; tpcBankBeneficiaryNameError = "Please Enter Beneficiery Name";
isValid = false; isValid = false;
} }
if(tpcBankAccountNumberController.text.trim().isEmpty){ if (tpcBankAccountNumberController.text.trim().isEmpty) {
tpcBankAccountNumberError = "Please Enter Account Number"; tpcBankAccountNumberError = "Please Enter Account Number";
isValid = false; isValid = false;
} }
if(tpcBankIFSCController.text.trim().isEmpty){ if (tpcBankIFSCController.text.trim().isEmpty) {
tpcBankIFSCError = "Please Enter IFSC"; tpcBankIFSCError = "Please Enter IFSC";
isValid = false; isValid = false;
} }
...@@ -434,65 +434,71 @@ class Tpcagentsprovider extends ChangeNotifier{ ...@@ -434,65 +434,71 @@ class Tpcagentsprovider extends ChangeNotifier{
isValid = false; isValid = false;
} }
if (tpcPaymentReferenceNoController.text.trim().isEmpty) { if (tpcPaymentReferenceNoController.text.trim().isEmpty) {
tpcPaymentReferenceNoError = "Please enter a description"; tpcPaymentReferenceNoError = "Please enter a description";
isValid = false; isValid = false;
} }
if (orderTpcFeedbackController.text.trim().isEmpty) { if (orderTpcFeedbackController.text.trim().isEmpty) {
orderTpcFeedbackError = "Please enter a description"; orderTpcFeedbackError = "Please enter a description";
isValid = false; isValid = false;
} }
_submitClicked = false; _submitClicked = false;
notifyListeners(); notifyListeners();
return isValid; return isValid;
} }
void onChangeTPCPayment(value){ void onChangeTPCPayment(value) {
tpcPaymentModeError = ""; tpcPaymentModeError = "";
notifyListeners(); notifyListeners();
} }
void onChangeTPCPaymentReference(value){ void onChangeTPCPaymentReference(value) {
tpcPaymentReferenceNoError = ""; tpcPaymentReferenceNoError = "";
notifyListeners(); notifyListeners();
} }
void onChangeTpcFeedback(value){ void onChangeTpcFeedback(value) {
orderTpcFeedbackError = ""; orderTpcFeedbackError = "";
notifyListeners(); notifyListeners();
} }
void onChangetpcName(value){ void onChangetpcName(value) {
tpcNameError = ""; tpcNameError = "";
notifyListeners(); notifyListeners();
} }
void onChangetpcMobileNumber(value){
void onChangetpcMobileNumber(value) {
tpcMobileNumberError = ""; tpcMobileNumberError = "";
notifyListeners(); notifyListeners();
} }
void onChangetpcBankName(value){
void onChangetpcBankName(value) {
tpcBankNameError = ""; tpcBankNameError = "";
notifyListeners(); notifyListeners();
} }
void onChangetpcBankBeneficiaryName(value){
void onChangetpcBankBeneficiaryName(value) {
tpcBankBeneficiaryNameError = ""; tpcBankBeneficiaryNameError = "";
notifyListeners(); notifyListeners();
} }
void onChangetpcBankAccountNumber(value){
void onChangetpcBankAccountNumber(value) {
tpcBankAccountNumberError = ""; tpcBankAccountNumberError = "";
notifyListeners(); notifyListeners();
} }
void onChangetpcBankIFSC(value){
void onChangetpcBankIFSC(value) {
tpcBankIFSCError = ""; tpcBankIFSCError = "";
notifyListeners(); notifyListeners();
} }
void onChangetpcNote(value){
void onChangetpcNote(value) {
tpcNoteError = ""; tpcNoteError = "";
notifyListeners(); notifyListeners();
} }
...@@ -536,7 +542,7 @@ class Tpcagentsprovider extends ChangeNotifier{ ...@@ -536,7 +542,7 @@ class Tpcagentsprovider extends ChangeNotifier{
notifyListeners(); notifyListeners();
} }
void resetAll(){ void resetAll() {
tpcNameController.clear(); tpcNameController.clear();
tpcMobileNumberController.clear(); tpcMobileNumberController.clear();
tpcBankNameController.clear(); tpcBankNameController.clear();
...@@ -562,8 +568,8 @@ class Tpcagentsprovider extends ChangeNotifier{ ...@@ -562,8 +568,8 @@ class Tpcagentsprovider extends ChangeNotifier{
_image_picked = 0; _image_picked = 0;
imageError = null; imageError = null;
notifyListeners(); notifyListeners();
} }
imgFromCamera(context) async { imgFromCamera(context) async {
// Capture a photo // Capture a photo
try { try {
...@@ -574,7 +580,7 @@ class Tpcagentsprovider extends ChangeNotifier{ ...@@ -574,7 +580,7 @@ class Tpcagentsprovider extends ChangeNotifier{
debugPrint("added"); debugPrint("added");
_image = File(galleryImage!.path); _image = File(galleryImage!.path);
_imageName = File(galleryImage!.name); _imageName = File(galleryImage.name);
_image_picked = 1; _image_picked = 1;
imageError = null; imageError = null;
notifyListeners(); notifyListeners();
...@@ -596,7 +602,7 @@ class Tpcagentsprovider extends ChangeNotifier{ ...@@ -596,7 +602,7 @@ class Tpcagentsprovider extends ChangeNotifier{
debugPrint("Jenny: bytes:$bytes, kb:$kb, mb: $mb"); debugPrint("Jenny: bytes:$bytes, kb:$kb, mb: $mb");
_image = File(galleryImage!.path); _image = File(galleryImage!.path);
_imageName = File(galleryImage!.name); _imageName = File(galleryImage.name);
_image_picked = 1; _image_picked = 1;
imageError = null; imageError = null;
notifyListeners(); notifyListeners();
...@@ -605,4 +611,4 @@ class Tpcagentsprovider extends ChangeNotifier{ ...@@ -605,4 +611,4 @@ class Tpcagentsprovider extends ChangeNotifier{
debugPrint("mmmm: ${e.toString()}"); debugPrint("mmmm: ${e.toString()}");
} }
} }
} }
\ No newline at end of file
...@@ -9,8 +9,7 @@ import 'package:qr_code_scanner/qr_code_scanner.dart'; ...@@ -9,8 +9,7 @@ import 'package:qr_code_scanner/qr_code_scanner.dart';
import '../Utils/commonServices.dart'; import '../Utils/commonServices.dart';
import 'HomeScreenNotifier.dart'; import 'HomeScreenNotifier.dart';
class Scanloginprovider extends ChangeNotifier{ class Scanloginprovider extends ChangeNotifier {
PermissionStatus _cameraPermissionStatus = PermissionStatus.denied; PermissionStatus _cameraPermissionStatus = PermissionStatus.denied;
QRViewController? _qrViewController; QRViewController? _qrViewController;
bool _hasPermission = false; bool _hasPermission = false;
...@@ -32,8 +31,9 @@ class Scanloginprovider extends ChangeNotifier{ ...@@ -32,8 +31,9 @@ class Scanloginprovider extends ChangeNotifier{
_hasPermission = false; _hasPermission = false;
} }
} }
} catch (e, s) {} } catch (e) {}
} }
Future<void> requestCameraPermission() async { Future<void> requestCameraPermission() async {
PermissionStatus status = await Permission.camera.request(); PermissionStatus status = await Permission.camera.request();
...@@ -49,63 +49,62 @@ class Scanloginprovider extends ChangeNotifier{ ...@@ -49,63 +49,62 @@ class Scanloginprovider extends ChangeNotifier{
_hasPermission = false; _hasPermission = false;
await Permission.camera.request(); await Permission.camera.request();
} }
} catch (e, s) {} } catch (e) {}
} }
void onQRViewCreated(QRViewController controller, context) { void onQRViewCreated(QRViewController controller, context) {
// print("QRVIEW"); // print("QRVIEW");
var HomeProvider = Provider.of<HomescreenNotifier>(context, listen: false); var HomeProvider = Provider.of<HomescreenNotifier>(context, listen: false);
this._qrViewController = controller; _qrViewController = controller;
controller.scannedDataStream.listen((scanData) { controller.scannedDataStream.listen((scanData) {
controller!.pauseCamera(); controller.pauseCamera();
Map<String, dynamic> obj = jsonDecode(scanData.code!); Map<String, dynamic> obj = jsonDecode(scanData.code!);
if (obj["type"] == "login") { if (obj["type"] == "login") {
if(kDebugMode){ if (kDebugMode) {
print("type:" + obj["type"]); print("type:" + obj["type"]);
print("token:" + (obj["data"]["token"])); print("token:" + (obj["data"]["token"]));
} }
controller!.pauseCamera(); controller.pauseCamera();
LoadQRAPIFunction(context,obj["type"], (obj["data"]["token"])); LoadQRAPIFunction(context, obj["type"], (obj["data"]["token"]));
} }
}); });
} }
Future<void> LoadQRAPIFunction(context,type, token) async { Future<void> LoadQRAPIFunction(context, type, token) async {
try { try {
var homeProvider = Provider.of<HomescreenNotifier>(context,listen: false); var homeProvider = Provider.of<HomescreenNotifier>(
final data = await ApiCalling.QRLoginRequestAPI(homeProvider.empId, homeProvider.session, type, token); context,
listen: false,
if (data != null) );
{ final data = await ApiCalling.QRLoginRequestAPI(
homeProvider.empId,
if (data.sessionExists == 1) { homeProvider.session,
if (data.error == 0) { type,
Navigator.pop(context); token,
toast(context, "Login Successful!!"); );
} else if (data.error == 1) {
toast(context, data.message);
toast(context, "Session Expired, Please Try Again!!");
} else if (data.error == 2) {
toast(context, data.message);
toast(context, "Something Went wrong, Please Try Again!!");
} else {
toast(context,
"Something Went wrong, Please Try Again!");
}
} else {
toast(context,
"Your session has expired, please login again!");
}
if (data != null) {
if (data.sessionExists == 1) {
if (data.error == 0) {
Navigator.pop(context);
toast(context, "Login Successful!!");
} else if (data.error == 1) {
toast(context, data.message);
toast(context, "Session Expired, Please Try Again!!");
} else if (data.error == 2) {
toast(context, data.message);
toast(context, "Something Went wrong, Please Try Again!!");
} else {
toast(context, "Something Went wrong, Please Try Again!");
} }
else } else {
{} toast(context, "Your session has expired, please login again!");
}
} else {}
} on Error catch (e) { } on Error catch (e) {
print(e.toString()); print(e.toString());
} }
} }
} }
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment