first commit
This commit is contained in:
502
lib/Screens/Purchase/Model/purchase_transaction_model.dart
Normal file
502
lib/Screens/Purchase/Model/purchase_transaction_model.dart
Normal file
@@ -0,0 +1,502 @@
|
||||
import '../../../model/sale_transaction_model.dart';
|
||||
import '../../../widgets/multipal payment mathods/model/payment_transaction_model.dart';
|
||||
|
||||
class PurchaseTransaction {
|
||||
PurchaseTransaction({
|
||||
this.id,
|
||||
this.partyId,
|
||||
this.businessId,
|
||||
this.userId,
|
||||
this.discountAmount,
|
||||
this.discountPercent,
|
||||
this.discountType,
|
||||
this.shippingCharge,
|
||||
this.dueAmount,
|
||||
this.paidAmount,
|
||||
this.changeAmount,
|
||||
this.totalAmount,
|
||||
this.invoiceNumber,
|
||||
this.isPaid,
|
||||
this.paymentTypeId,
|
||||
this.paymentType,
|
||||
this.purchaseDate,
|
||||
this.createdAt,
|
||||
this.updatedAt,
|
||||
this.user,
|
||||
this.party,
|
||||
this.details,
|
||||
this.purchaseReturns,
|
||||
this.transactions, // New Field
|
||||
this.vatAmount,
|
||||
this.vatId,
|
||||
this.vatPercent,
|
||||
this.vat,
|
||||
this.branch,
|
||||
});
|
||||
|
||||
PurchaseTransaction.fromJson(dynamic json) {
|
||||
id = json['id'];
|
||||
partyId = json['party_id'];
|
||||
businessId = json['business_id'];
|
||||
userId = json['user_id'];
|
||||
discountAmount = json['discountAmount'];
|
||||
discountPercent = json['discount_percent'];
|
||||
shippingCharge = json['shipping_charge'];
|
||||
discountType = json['discount_type'];
|
||||
dueAmount = json['dueAmount'];
|
||||
changeAmount = json['change_amount'];
|
||||
vatAmount = json['vat_amount'];
|
||||
vatPercent = json['vat_percent'];
|
||||
vatId = json['vat_id'];
|
||||
paidAmount = json['paidAmount'];
|
||||
totalAmount = json['totalAmount'];
|
||||
invoiceNumber = json['invoiceNumber'];
|
||||
isPaid = json['isPaid'];
|
||||
paymentTypeId = int.tryParse(json["payment_type_id"].toString());
|
||||
|
||||
vat = json['vat'] != null ? PurchaseVat.fromJson(json['vat']) : null;
|
||||
purchaseDate = json['purchaseDate'];
|
||||
createdAt = json['created_at'];
|
||||
updatedAt = json['updated_at'];
|
||||
paymentType = json['payment_type'] != null ? PaymentType.fromJson(json['payment_type']) : null;
|
||||
branch = json['branch'] != null ? Branch.fromJson(json['branch']) : null;
|
||||
user = json['user'] != null ? User.fromJson(json['user']) : null;
|
||||
party = json['party'] != null ? Party.fromJson(json['party']) : null;
|
||||
|
||||
if (json['details'] != null) {
|
||||
details = [];
|
||||
json['details'].forEach((v) {
|
||||
details?.add(PurchaseDetails.fromJson(v));
|
||||
});
|
||||
}
|
||||
|
||||
if (json['purchase_returns'] != null) {
|
||||
purchaseReturns = [];
|
||||
json['purchase_returns'].forEach((v) {
|
||||
purchaseReturns?.add(PurchaseReturn.fromJson(v));
|
||||
});
|
||||
}
|
||||
|
||||
// New List from JSON
|
||||
if (json['transactions'] != null) {
|
||||
transactions = [];
|
||||
json['transactions'].forEach((v) {
|
||||
transactions?.add(PaymentsTransaction.fromJson(v));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
num? id;
|
||||
num? partyId;
|
||||
num? businessId;
|
||||
num? userId;
|
||||
num? discountAmount;
|
||||
num? discountPercent;
|
||||
num? shippingCharge;
|
||||
String? discountType;
|
||||
num? dueAmount;
|
||||
num? paidAmount;
|
||||
num? changeAmount;
|
||||
num? vatAmount;
|
||||
num? vatPercent;
|
||||
num? vatId;
|
||||
num? totalAmount;
|
||||
String? invoiceNumber;
|
||||
bool? isPaid;
|
||||
int? paymentTypeId;
|
||||
PaymentType? paymentType;
|
||||
Branch? branch;
|
||||
String? purchaseDate;
|
||||
String? createdAt;
|
||||
String? updatedAt;
|
||||
User? user;
|
||||
Party? party;
|
||||
List<PurchaseDetails>? details;
|
||||
List<PurchaseReturn>? purchaseReturns;
|
||||
List<PaymentsTransaction>? transactions; // Added
|
||||
PurchaseVat? vat;
|
||||
}
|
||||
|
||||
class PurchaseDetails {
|
||||
PurchaseDetails({
|
||||
this.id,
|
||||
this.purchaseId,
|
||||
this.productId,
|
||||
this.productPurchasePrice,
|
||||
this.quantities,
|
||||
this.productWholeSalePrice,
|
||||
this.productSalePrice,
|
||||
this.productDealerPrice,
|
||||
this.productStock,
|
||||
this.profitPercent,
|
||||
this.mfgDate,
|
||||
this.expireDate,
|
||||
this.stockId,
|
||||
this.product,
|
||||
this.stock,
|
||||
});
|
||||
|
||||
PurchaseDetails.fromJson(dynamic json) {
|
||||
id = json['id'];
|
||||
purchaseId = json['purchase_id'];
|
||||
productId = json['product_id'];
|
||||
productPurchasePrice = json['productPurchasePrice'];
|
||||
quantities = json['quantities'];
|
||||
productDealerPrice = json['productDealerPrice'];
|
||||
productSalePrice = json['productSalePrice'];
|
||||
productStock = json['productStock'];
|
||||
profitPercent = json['profit_percent'];
|
||||
mfgDate = json['mfg_date'];
|
||||
expireDate = json['expire_date'];
|
||||
stockId = json['stock_id']; // Added
|
||||
productWholeSalePrice = json['productWholeSalePrice'];
|
||||
product = json['product'] != null ? Product.fromJson(json['product']) : null;
|
||||
stock = json['stock'] != null ? PurchaseStock.fromJson(json['stock']) : null;
|
||||
}
|
||||
|
||||
num? id;
|
||||
num? purchaseId;
|
||||
num? productId;
|
||||
num? productPurchasePrice;
|
||||
num? quantities;
|
||||
num? productDealerPrice;
|
||||
num? productSalePrice;
|
||||
num? productWholeSalePrice;
|
||||
num? productStock;
|
||||
num? profitPercent;
|
||||
num? stockId; // Added
|
||||
PurchaseStock? stock;
|
||||
String? mfgDate;
|
||||
String? expireDate;
|
||||
Product? product;
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final map = <String, dynamic>{};
|
||||
map['id'] = id;
|
||||
map['purchase_id'] = purchaseId;
|
||||
map['product_id'] = productId;
|
||||
map['productPurchasePrice'] = productPurchasePrice;
|
||||
map['quantities'] = quantities;
|
||||
map['stock_id'] = stockId;
|
||||
if (product != null) {
|
||||
map['product'] = product?.toJson();
|
||||
}
|
||||
return map;
|
||||
}
|
||||
}
|
||||
|
||||
class Product {
|
||||
Product({
|
||||
this.id,
|
||||
this.productName,
|
||||
this.categoryId,
|
||||
this.category,
|
||||
this.productType,
|
||||
this.vatAmount,
|
||||
this.vatType,
|
||||
this.vat,
|
||||
});
|
||||
|
||||
Product.fromJson(dynamic json) {
|
||||
id = json['id'];
|
||||
productName = json['productName'];
|
||||
productType = json['product_type'];
|
||||
categoryId = json['category_id'];
|
||||
vatAmount = json['vat_amount'];
|
||||
vatType = json['vat_type'];
|
||||
|
||||
category = json['category'] != null ? Category.fromJson(json['category']) : null;
|
||||
vat = json['vat'] != null ? PurchaseProductVat.fromJson(json['vat']) : null;
|
||||
}
|
||||
|
||||
num? id;
|
||||
String? productName;
|
||||
String? productType;
|
||||
String? vatType;
|
||||
num? categoryId;
|
||||
num? vatAmount;
|
||||
|
||||
Category? category;
|
||||
PurchaseProductVat? vat;
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final map = <String, dynamic>{};
|
||||
map['id'] = id;
|
||||
map['productName'] = productName;
|
||||
map['category_id'] = categoryId;
|
||||
if (category != null) {
|
||||
map['category'] = category?.toJson();
|
||||
}
|
||||
return map;
|
||||
}
|
||||
}
|
||||
|
||||
class Category {
|
||||
Category({
|
||||
this.id,
|
||||
this.categoryName,
|
||||
});
|
||||
|
||||
Category.fromJson(dynamic json) {
|
||||
id = json['id'];
|
||||
categoryName = json['categoryName'];
|
||||
}
|
||||
|
||||
num? id;
|
||||
String? categoryName;
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final map = <String, dynamic>{};
|
||||
map['id'] = id;
|
||||
map['categoryName'] = categoryName;
|
||||
return map;
|
||||
}
|
||||
}
|
||||
|
||||
class PurchaseStock {
|
||||
PurchaseStock({
|
||||
this.id,
|
||||
this.batchNo,
|
||||
this.variantName,
|
||||
this.warehouseId,
|
||||
});
|
||||
|
||||
PurchaseStock.fromJson(dynamic json) {
|
||||
id = json['id'];
|
||||
batchNo = json['batch_no'] ?? 'N/A';
|
||||
variantName = json['variant_name']; // Added
|
||||
warehouseId = json['warehouse_id']; // Added
|
||||
}
|
||||
|
||||
num? id;
|
||||
String? batchNo;
|
||||
String? variantName; // Added
|
||||
num? warehouseId; // Added
|
||||
}
|
||||
|
||||
class Party {
|
||||
Party({
|
||||
this.id,
|
||||
this.name,
|
||||
this.email,
|
||||
this.phone,
|
||||
this.type,
|
||||
this.address,
|
||||
});
|
||||
|
||||
Party.fromJson(dynamic json) {
|
||||
id = json['id'];
|
||||
name = json['name'];
|
||||
email = json['email'];
|
||||
phone = json['phone'];
|
||||
type = json['type']; // Added based on JSON
|
||||
address = json['address']; // Added based on JSON
|
||||
}
|
||||
|
||||
num? id;
|
||||
String? name;
|
||||
String? email;
|
||||
String? address;
|
||||
String? phone;
|
||||
String? type;
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final map = <String, dynamic>{};
|
||||
map['id'] = id;
|
||||
map['name'] = name;
|
||||
map['email'] = email;
|
||||
map['address'] = address;
|
||||
map['phone'] = phone;
|
||||
map['type'] = type;
|
||||
return map;
|
||||
}
|
||||
}
|
||||
|
||||
class User {
|
||||
User({
|
||||
this.id,
|
||||
this.name,
|
||||
this.role,
|
||||
});
|
||||
|
||||
User.fromJson(dynamic json) {
|
||||
id = json['id'];
|
||||
name = json['name'];
|
||||
role = json['role'];
|
||||
}
|
||||
|
||||
num? id;
|
||||
String? name;
|
||||
String? role;
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final map = <String, dynamic>{};
|
||||
map['id'] = id;
|
||||
map['name'] = name;
|
||||
map['role'] = role;
|
||||
return map;
|
||||
}
|
||||
}
|
||||
|
||||
class Branch {
|
||||
Branch({
|
||||
this.id,
|
||||
this.name,
|
||||
this.phone,
|
||||
this.address,
|
||||
});
|
||||
|
||||
Branch.fromJson(dynamic json) {
|
||||
id = json['id'];
|
||||
name = json['name'];
|
||||
phone = json['phone'];
|
||||
address = json['address'];
|
||||
}
|
||||
|
||||
num? id;
|
||||
String? name;
|
||||
String? phone;
|
||||
String? address;
|
||||
}
|
||||
|
||||
class PurchaseReturn {
|
||||
PurchaseReturn({
|
||||
this.id,
|
||||
this.businessId,
|
||||
this.purchaseId,
|
||||
this.invoiceNo,
|
||||
this.returnDate,
|
||||
this.createdAt,
|
||||
this.updatedAt,
|
||||
this.purchaseReturnDetails,
|
||||
});
|
||||
|
||||
PurchaseReturn.fromJson(dynamic json) {
|
||||
id = json['id'];
|
||||
businessId = json['business_id'];
|
||||
purchaseId = json['purchase_id'];
|
||||
invoiceNo = json['invoice_no'];
|
||||
returnDate = json['return_date'];
|
||||
createdAt = json['created_at'];
|
||||
updatedAt = json['updated_at'];
|
||||
if (json['details'] != null) {
|
||||
purchaseReturnDetails = [];
|
||||
json['details'].forEach((v) {
|
||||
purchaseReturnDetails?.add(PurchaseReturnDetails.fromJson(v));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
num? id;
|
||||
num? businessId;
|
||||
num? purchaseId;
|
||||
String? invoiceNo;
|
||||
String? returnDate;
|
||||
String? createdAt;
|
||||
String? updatedAt;
|
||||
List<PurchaseReturnDetails>? purchaseReturnDetails;
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final map = <String, dynamic>{};
|
||||
map['id'] = id;
|
||||
map['business_id'] = businessId;
|
||||
map['purchase_id'] = purchaseId;
|
||||
map['invoice_no'] = invoiceNo;
|
||||
map['return_date'] = returnDate;
|
||||
map['created_at'] = createdAt;
|
||||
map['updated_at'] = updatedAt;
|
||||
if (purchaseReturnDetails != null) {
|
||||
map['details'] = purchaseReturnDetails?.map((v) => v.toJson()).toList();
|
||||
}
|
||||
return map;
|
||||
}
|
||||
}
|
||||
|
||||
class PurchaseReturnDetails {
|
||||
PurchaseReturnDetails({
|
||||
this.id,
|
||||
this.businessId,
|
||||
this.purchaseReturnId,
|
||||
this.purchaseDetailId,
|
||||
this.returnAmount,
|
||||
this.returnQty,
|
||||
});
|
||||
|
||||
PurchaseReturnDetails.fromJson(dynamic json) {
|
||||
id = json['id'];
|
||||
businessId = json['business_id'];
|
||||
purchaseReturnId = json['purchase_return_id'];
|
||||
purchaseDetailId = json['purchase_detail_id'];
|
||||
returnAmount = json['return_amount'];
|
||||
returnQty = json['return_qty'];
|
||||
}
|
||||
|
||||
num? id;
|
||||
num? businessId;
|
||||
num? purchaseReturnId;
|
||||
num? purchaseDetailId;
|
||||
num? returnAmount;
|
||||
num? returnQty;
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final map = <String, dynamic>{};
|
||||
map['id'] = id;
|
||||
map['business_id'] = businessId;
|
||||
map['purchase_return_id'] = purchaseReturnId;
|
||||
map['purchase_detail_id'] = purchaseDetailId;
|
||||
map['return_amount'] = returnAmount;
|
||||
map['return_qty'] = returnQty;
|
||||
return map;
|
||||
}
|
||||
}
|
||||
|
||||
class PurchaseVat {
|
||||
PurchaseVat({
|
||||
this.id,
|
||||
this.name,
|
||||
this.rate,
|
||||
});
|
||||
|
||||
PurchaseVat.fromJson(dynamic json) {
|
||||
id = json['id'];
|
||||
name = json['name'];
|
||||
rate = json['rate'];
|
||||
}
|
||||
|
||||
num? id;
|
||||
String? name;
|
||||
num? rate;
|
||||
}
|
||||
|
||||
class PaymentType {
|
||||
PaymentType({
|
||||
this.id,
|
||||
this.name,
|
||||
});
|
||||
|
||||
PaymentType.fromJson(dynamic json) {
|
||||
id = json['id'];
|
||||
name = json['name'];
|
||||
}
|
||||
|
||||
num? id;
|
||||
String? name;
|
||||
}
|
||||
|
||||
class PurchaseProductVat {
|
||||
PurchaseProductVat({
|
||||
this.id,
|
||||
this.name,
|
||||
this.rate,
|
||||
});
|
||||
|
||||
PurchaseProductVat.fromJson(dynamic json) {
|
||||
id = json['id'];
|
||||
name = json['name'];
|
||||
rate = json['rate'];
|
||||
}
|
||||
|
||||
num? id;
|
||||
num? rate;
|
||||
String? name;
|
||||
}
|
||||
Reference in New Issue
Block a user