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

17-09

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