import 'dart:convert'; PaymentRequestResponse paymentRequestResponseFromJson(String str) => PaymentRequestResponse.fromJson(json.decode(str)); String paymentRequestResponseToJson(PaymentRequestResponse data) => json.encode(data.toJson()); class PaymentRequestResponse { PaymentRequestResponse({ required this.success, required this.message, required this.data, }); bool success; String message; PaymentRequestData data; factory PaymentRequestResponse.fromJson(Map json) => PaymentRequestResponse( success: json["success"], message: json["message"], data: PaymentRequestData.fromJson(json["data"]), ); Map toJson() => { "success": success, "message": message, "data": data.toJson(), }; } class PaymentRequestData { PaymentRequestData({ required this.currentPage, required this.totalPages, required this.totalEntities, required this.data, }); int currentPage; int totalPages; int totalEntities; List data; factory PaymentRequestData.fromJson(Map json) => PaymentRequestData( currentPage: json["currentPage"], totalPages: json["totalPages"], totalEntities: json["totalEntities"], data: List.from( json["data"].map((x) => PaymentRequest.fromJson(x))), ); Map toJson() => { "currentPage": currentPage, "totalPages": totalPages, "totalEntities": totalEntities, "data": List.from(data.map((x) => x.toJson())), }; } class PaymentRequest { PaymentRequest({ required this.id, required this.title, required this.description, this.recurringPayment, required this.paymentRequestUID, required this.payee, required this.currency, required this.amount, required this.dueDate, required this.project, required this.expenseCategory, required this.expenseStatus, required this.isAdvancePayment, required this.createdAt, required this.createdBy, required this.isActive, required this.isExpenseCreated, }); String id; String title; String description; dynamic recurringPayment; String paymentRequestUID; String payee; Currency currency; num amount; DateTime dueDate; Project project; ExpenseCategory expenseCategory; ExpenseStatus expenseStatus; bool isAdvancePayment; DateTime createdAt; CreatedBy createdBy; bool isActive; bool isExpenseCreated; factory PaymentRequest.fromJson(Map json) => PaymentRequest( id: json["id"], title: json["title"], description: json["description"], recurringPayment: json["recurringPayment"], paymentRequestUID: json["paymentRequestUID"], payee: json["payee"], currency: Currency.fromJson(json["currency"]), amount: json["amount"], dueDate: DateTime.parse(json["dueDate"]), project: Project.fromJson(json["project"]), expenseCategory: ExpenseCategory.fromJson(json["expenseCategory"]), expenseStatus: ExpenseStatus.fromJson(json["expenseStatus"]), isAdvancePayment: json["isAdvancePayment"], createdAt: DateTime.parse(json["createdAt"]), createdBy: CreatedBy.fromJson(json["createdBy"]), isActive: json["isActive"], isExpenseCreated: json["isExpenseCreated"], ); Map toJson() => { "id": id, "title": title, "description": description, "recurringPayment": recurringPayment, "paymentRequestUID": paymentRequestUID, "payee": payee, "currency": currency.toJson(), "amount": amount, "dueDate": dueDate.toIso8601String(), "project": project.toJson(), "expenseCategory": expenseCategory.toJson(), "expenseStatus": expenseStatus.toJson(), "isAdvancePayment": isAdvancePayment, "createdAt": createdAt.toIso8601String(), "createdBy": createdBy.toJson(), "isActive": isActive, "isExpenseCreated": isExpenseCreated, }; } class Currency { Currency({ required this.id, required this.currencyCode, required this.currencyName, required this.symbol, required this.isActive, }); String id; String currencyCode; String currencyName; String symbol; bool isActive; factory Currency.fromJson(Map json) => Currency( id: json["id"], currencyCode: json["currencyCode"], currencyName: json["currencyName"], symbol: json["symbol"], isActive: json["isActive"], ); Map toJson() => { "id": id, "currencyCode": currencyCode, "currencyName": currencyName, "symbol": symbol, "isActive": isActive, }; } class Project { Project({ required this.id, required this.name, }); String id; String name; factory Project.fromJson(Map json) => Project( id: json["id"], name: json["name"], ); Map toJson() => { "id": id, "name": name, }; } class ExpenseCategory { ExpenseCategory({ required this.id, required this.name, required this.noOfPersonsRequired, required this.isAttachmentRequried, required this.description, }); String id; String name; bool noOfPersonsRequired; bool isAttachmentRequried; String description; factory ExpenseCategory.fromJson(Map json) => ExpenseCategory( id: json["id"], name: json["name"], noOfPersonsRequired: json["noOfPersonsRequired"], isAttachmentRequried: json["isAttachmentRequried"], description: json["description"], ); Map toJson() => { "id": id, "name": name, "noOfPersonsRequired": noOfPersonsRequired, "isAttachmentRequried": isAttachmentRequried, "description": description, }; } class ExpenseStatus { ExpenseStatus({ required this.id, required this.name, required this.displayName, required this.description, this.permissionIds, required this.color, required this.isSystem, }); String id; String name; String displayName; String description; dynamic permissionIds; String color; bool isSystem; factory ExpenseStatus.fromJson(Map json) => ExpenseStatus( id: json["id"], name: json["name"], displayName: json["displayName"], description: json["description"], permissionIds: json["permissionIds"], color: json["color"], isSystem: json["isSystem"], ); Map toJson() => { "id": id, "name": name, "displayName": displayName, "description": description, "permissionIds": permissionIds, "color": color, "isSystem": isSystem, }; } class CreatedBy { CreatedBy({ required this.id, required this.firstName, required this.lastName, required this.email, required this.photo, required this.jobRoleId, required this.jobRoleName, }); String id; String firstName; String lastName; String email; String photo; String jobRoleId; String jobRoleName; factory CreatedBy.fromJson(Map json) => CreatedBy( id: json["id"], firstName: json["firstName"], lastName: json["lastName"], email: json["email"], photo: json["photo"], jobRoleId: json["jobRoleId"], jobRoleName: json["jobRoleName"], ); Map toJson() => { "id": id, "firstName": firstName, "lastName": lastName, "email": email, "photo": photo, "jobRoleId": jobRoleId, "jobRoleName": jobRoleName, }; }