orderpayment
This commit is contained in:
@@ -7,6 +7,7 @@ import 'package:grocery_app/src/core/network_services/service_locator.dart';
|
||||
import 'package:grocery_app/src/data/address.dart';
|
||||
import 'package:grocery_app/src/data/all_cart_items.dart';
|
||||
import 'package:grocery_app/src/logic/repo/product_repo.dart';
|
||||
import 'package:grocery_app/src/ui/payment/payment_webView.dart';
|
||||
import 'package:grocery_app/utils/extensions/extensions.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
|
||||
@@ -152,8 +153,61 @@ class AddtocartProvider extends ChangeNotifier {
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
||||
///////////////////////////////////orderPaymnet///////////////////////////
|
||||
|
||||
///////////////////////////////// address/////////////////////////
|
||||
Future<void> orderPaymnet(
|
||||
BuildContext context,
|
||||
double amount,
|
||||
String currency,
|
||||
double originalAmount,
|
||||
String name,
|
||||
String phone,
|
||||
String email,
|
||||
String userI,
|
||||
String cartId,
|
||||
String addressId,
|
||||
String remarks,
|
||||
) async {
|
||||
notifyListeners();
|
||||
|
||||
var data = {
|
||||
{
|
||||
"amount": amount,
|
||||
"currency": currency,
|
||||
"originalAmount": amount,
|
||||
"name": name,
|
||||
"phone": phone,
|
||||
"email": email,
|
||||
"userId": userI,
|
||||
"cartId": cartId,
|
||||
"addressId": addressId,
|
||||
"remarks": remarks
|
||||
}
|
||||
};
|
||||
|
||||
print("kjdfhgkj ${data}");
|
||||
|
||||
try {
|
||||
var result = await _homeRepo.paymentOrder(data);
|
||||
return result.fold(
|
||||
(error) {
|
||||
notifyListeners();
|
||||
},
|
||||
(response) {
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => PaymentWebView(paymentUrl: ''),
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
} catch (e) {
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
||||
|
||||
///////////////////////////////// address/////////////////////////
|
||||
List<Datum> addresslist = [];
|
||||
|
||||
Future<void> getAddress(BuildContext context) async {
|
||||
@@ -170,7 +224,10 @@ class AddtocartProvider extends ChangeNotifier {
|
||||
(response) {
|
||||
addresslist = response.data!;
|
||||
if (response.data!.isNotEmpty) {
|
||||
_selectedAddress = addresslist.last.id ?? "";
|
||||
_selectedAddress = addresslist.first.id ?? "";
|
||||
_selecteUserName = addresslist.first.name ?? "";
|
||||
_selecteUserPhone = addresslist.first.phoneNumber ?? "";
|
||||
_selecteEmail = addresslist.first.user!.email ?? "";
|
||||
} else {
|
||||
_selectedAddress = "";
|
||||
}
|
||||
@@ -186,11 +243,26 @@ class AddtocartProvider extends ChangeNotifier {
|
||||
}
|
||||
|
||||
String _selectedAddress = "";
|
||||
String _selecteUserName = "";
|
||||
String _selecteUserPhone = "";
|
||||
String _selecteEmail = "";
|
||||
|
||||
String get selectedAddress => _selectedAddress;
|
||||
String get selecteUserName => _selecteUserName;
|
||||
String get selecteUserPhone => _selecteUserPhone;
|
||||
String get selecteEmail => _selecteEmail;
|
||||
void bydefaultSetAddress(phoneNumber, name, email) {
|
||||
_selecteUserName = name;
|
||||
_selecteUserPhone = phoneNumber;
|
||||
_selecteEmail = email;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
void selectAddress(String address) {
|
||||
void selectAddress(String address, phoneNumber, name, email) {
|
||||
_selectedAddress = address;
|
||||
_selecteUserName = name;
|
||||
_selecteUserPhone = phoneNumber;
|
||||
_selecteEmail = email;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
@@ -313,4 +385,13 @@ class AddtocartProvider extends ChangeNotifier {
|
||||
notifyListeners(); // Ensure UI updates after operation
|
||||
}
|
||||
}
|
||||
|
||||
String _selectedPaymentMethod = "Online"; // Default selection
|
||||
|
||||
String get selectedPaymentMethod => _selectedPaymentMethod;
|
||||
|
||||
void selectPaymentMethod(String method) {
|
||||
_selectedPaymentMethod = method;
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -91,12 +91,33 @@ class ProductRepo {
|
||||
|
||||
return right(productCategory);
|
||||
} on DioException catch (e) {
|
||||
print("djhgfjdfhjg ${e}");
|
||||
|
||||
var error = CustomDioExceptions.handleError(e);
|
||||
return left(error);
|
||||
}
|
||||
}
|
||||
|
||||
FutureResult<ProductCategory> paymentOrder(
|
||||
data) async
|
||||
{
|
||||
try {
|
||||
var response = await _productService.paymentOrder(data);
|
||||
|
||||
ProductCategory productCategory = productCategoryFromJson(response.toString());
|
||||
|
||||
// final String model = response.toString();
|
||||
|
||||
return right(productCategory);
|
||||
} on DioException catch (e) {
|
||||
|
||||
var error = CustomDioExceptions.handleError(e);
|
||||
return left(error);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
FutureResult<List<Product>> similarProduct(
|
||||
data, BuildContext context, id) async {
|
||||
try {
|
||||
|
||||
@@ -53,6 +53,11 @@ class ProductService extends ApiService {
|
||||
|
||||
return response;
|
||||
}
|
||||
Future paymentOrder(data) async {
|
||||
var response = await api.post(APIURL.paymentOrder, data: jsonEncode(data));
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
Future similarProduct(data, id) async {
|
||||
var response = await api.get(APIURL.similarProduct + id + "/similar",
|
||||
|
||||
Reference in New Issue
Block a user