Siopas Inventory PETI for ISTW Mobile
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123 lines
3.7 KiB

import 'm_asset_status_model.dart';
import 'warehouse_mode.dart';
class AssetStatusModel {
int? id;
String? mobile_id;
int? peti_id;
int? customer_id;
int? warehouse_id;
DateTime? exit_at;
String? exit_pic;
// int? exit_warehouse;
DateTime? enter_at;
String? enter_pic;
int? enter_warehouse;
DateTime? est_pengembalian;
int? kondisi_peti_id;
// int? status;
String? created_by;
String? updated_by;
DateTime? created_at;
DateTime? updated_at;
DateTime? deleted_at;
// PetiAssetModel? peti;
// WarehouseModel? warehouse;
// WarehouseEnterModel? warehouse_enter;
AssetStatusModel({
required this.id,
this.mobile_id,
this.peti_id,
this.customer_id,
this.warehouse_id,
this.exit_at,
this.exit_pic,
// this.exit_warehouse,
this.enter_at,
this.enter_pic,
this.enter_warehouse,
this.est_pengembalian,
this.kondisi_peti_id,
// this.status,
this.created_by,
this.updated_by,
this.created_at,
this.updated_at,
this.deleted_at,
// this.peti,
// this.warehouse,
// this.warehouse_enter,
});
factory AssetStatusModel.fromJson(Map<String, dynamic> json) {
return AssetStatusModel(
id: json['id'] != null ? int.parse(json['id'].toString()) : 0,
mobile_id: json['mobile_id'].toString(),
peti_id:
json['peti_id'] != null ? int.parse(json['peti_id'].toString()) : 0,
customer_id: json['customer_id'] != null
? int.parse(json['customer_id'].toString())
: 0,
warehouse_id: json['warehouse_id'] != null
? int.parse(json['warehouse_id'].toString())
: 0,
exit_at: parseDateTime(json['exit_at']),
exit_pic: json['exit_pic'],
// exit_warehouse: json['exit_warehouse'] != null
// ? int.parse(json['exit_warehouse'].toString())
// : 0,
enter_at: parseDateTime(json['enter_at']),
enter_pic: json['enter_pic'],
enter_warehouse: json['enter_warehouse'] != null
? int.parse(json['enter_warehouse'].toString())
: 0,
est_pengembalian: parseDateTime(json['est_pengembalian']),
kondisi_peti_id: json['kondisi_peti_id'] != null
? int.parse(json['kondisi_peti_id'].toString())
: 0,
created_by: json['created_by'] ?? 'null',
updated_by: json['updated_by'] ?? 'null',
created_at: parseDateTime(json['created_at']),
updated_at: parseDateTime(json['updated_at']),
deleted_at: parseDateTime(json['deleted_at']),
);
}
Map<String, dynamic> toJson() => {
'id': id,
'mobile_id': mobile_id.toString(),
'peti_id': peti_id,
'customer_id': customer_id,
'warehouse_id': warehouse_id,
'exit_at': exit_at?.toIso8601String(),
'exit_pic': exit_pic.toString(),
// 'exit_warehouse': exit_warehouse,
'enter_at': enter_at?.toIso8601String(),
'enter_pic': enter_pic,
'enter_warehouse': enter_warehouse?.toString(),
'est_pengembalian': est_pengembalian?.toIso8601String(),
'kondisi_peti_id': kondisi_peti_id,
// 'status': status.toString(),
'created_by': created_by,
'updated_by': updated_by,
'created_at': created_at?.toIso8601String(),
'updated_at': updated_at?.toIso8601String(),
'deleted_at': deleted_at?.toIso8601String(),
// 'peti': peti!.toJson(),
// 'warehouse': warehouse!.toJson(),
// 'warehouse_enter': warehouse_enter!.toJson(),
};
static DateTime? parseDateTime(String? dateTimeString) {
if (dateTimeString != null && dateTimeString.isNotEmpty) {
try {
return DateTime.parse(dateTimeString);
} catch (e) {
print('Error parsing DateTime: $e');
}
}
return null;
}
}