mobile_skt/lib/models/inventory_inout.model.dart

102 lines
3.1 KiB
Dart
Raw Normal View History

2024-10-16 09:48:17 +08:00
import 'package:sk_base_mobile/models/file.model.dart';
import 'package:sk_base_mobile/models/index.dart';
import 'package:sk_base_mobile/models/inventory.model.dart';
class InventoryInOutModel {
InventoryInOutModel({
required this.id,
required this.createdAt,
required this.updatedAt,
required this.inventoryInOutNumber,
required this.productId,
required this.inOrOut,
required this.time,
required this.quantity,
required this.unitPrice,
required this.amount,
required this.agent,
required this.issuanceNumber,
required this.remark,
required this.projectId,
required this.isDelete,
required this.files,
required this.project,
required this.product,
this.inventory,
});
final int? id;
final DateTime? createdAt;
final DateTime? updatedAt;
final String? inventoryInOutNumber;
final int? productId;
final int? inOrOut;
final DateTime? time;
final int? quantity;
final String? unitPrice;
final String? amount;
final String? agent;
final dynamic issuanceNumber;
final String? remark;
final int? projectId;
final int? isDelete;
final List<FileModel> files;
final ProjectModel? project;
final ProductModel? product;
final InventoryModel? inventory;
factory InventoryInOutModel.fromJson(Map<String, dynamic> json) {
return InventoryInOutModel(
id: json["id"],
createdAt: DateTime.tryParse(json["createdAt"] ?? "")?.toLocal(),
updatedAt: DateTime.tryParse(json["updatedAt"] ?? "")?.toLocal(),
inventoryInOutNumber: json["inventoryInOutNumber"],
productId: json["productId"],
inOrOut: json["inOrOut"],
time: DateTime.tryParse(json["time"] ?? "")?.toLocal(),
quantity: json["quantity"],
unitPrice: json["unitPrice"],
amount: json["amount"],
agent: json["agent"],
issuanceNumber: json["issuanceNumber"],
remark: json["remark"],
projectId: json["projectId"],
isDelete: json["isDelete"],
files: json["files"] == null
? []
: List<FileModel>.from(
json["files"]!.map((x) => FileModel.fromJson(x))),
project: json["project"] == null
? null
: ProjectModel.fromJson(json["project"]),
product: json["product"] == null
? null
: ProductModel.fromJson(json["product"]),
inventory: json['inventory'] == null
? null
: InventoryModel.fromJson(json["inventory"]),
);
}
Map<String, dynamic> toJson() => {
"id": id,
"createdAt": createdAt?.toIso8601String(),
"updatedAt": updatedAt?.toIso8601String(),
"inventoryInOutNumber": inventoryInOutNumber,
"productId": productId,
"inOrOut": inOrOut,
"time": time,
"quantity": quantity,
"unitPrice": unitPrice,
"amount": amount,
"agent": agent,
"issuanceNumber": issuanceNumber,
"remark": remark,
"projectId": projectId,
"isDelete": isDelete,
"files": files.map((x) => x).toList(),
"project": project?.toJson(),
"product": product?.toJson(),
"inventory": inventory?.toJson(),
};
}