307 lines
7.8 KiB
Dart
307 lines
7.8 KiB
Dart
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<String, dynamic> json) =>
|
|
PaymentRequestResponse(
|
|
success: json["success"],
|
|
message: json["message"],
|
|
data: PaymentRequestData.fromJson(json["data"]),
|
|
);
|
|
|
|
Map<String, dynamic> 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<PaymentRequest> data;
|
|
|
|
factory PaymentRequestData.fromJson(Map<String, dynamic> json) =>
|
|
PaymentRequestData(
|
|
currentPage: json["currentPage"],
|
|
totalPages: json["totalPages"],
|
|
totalEntities: json["totalEntities"],
|
|
data: List<PaymentRequest>.from(
|
|
json["data"].map((x) => PaymentRequest.fromJson(x))),
|
|
);
|
|
|
|
Map<String, dynamic> toJson() => {
|
|
"currentPage": currentPage,
|
|
"totalPages": totalPages,
|
|
"totalEntities": totalEntities,
|
|
"data": List<dynamic>.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<String, dynamic> 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<String, dynamic> 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<String, dynamic> json) => Currency(
|
|
id: json["id"],
|
|
currencyCode: json["currencyCode"],
|
|
currencyName: json["currencyName"],
|
|
symbol: json["symbol"],
|
|
isActive: json["isActive"],
|
|
);
|
|
|
|
Map<String, dynamic> 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<String, dynamic> json) => Project(
|
|
id: json["id"],
|
|
name: json["name"],
|
|
);
|
|
|
|
Map<String, dynamic> 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<String, dynamic> json) => ExpenseCategory(
|
|
id: json["id"],
|
|
name: json["name"],
|
|
noOfPersonsRequired: json["noOfPersonsRequired"],
|
|
isAttachmentRequried: json["isAttachmentRequried"],
|
|
description: json["description"],
|
|
);
|
|
|
|
Map<String, dynamic> 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<String, dynamic> json) => ExpenseStatus(
|
|
id: json["id"],
|
|
name: json["name"],
|
|
displayName: json["displayName"],
|
|
description: json["description"],
|
|
permissionIds: json["permissionIds"],
|
|
color: json["color"],
|
|
isSystem: json["isSystem"],
|
|
);
|
|
|
|
Map<String, dynamic> 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<String, dynamic> json) => CreatedBy(
|
|
id: json["id"],
|
|
firstName: json["firstName"],
|
|
lastName: json["lastName"],
|
|
email: json["email"],
|
|
photo: json["photo"],
|
|
jobRoleId: json["jobRoleId"],
|
|
jobRoleName: json["jobRoleName"],
|
|
);
|
|
|
|
Map<String, dynamic> toJson() => {
|
|
"id": id,
|
|
"firstName": firstName,
|
|
"lastName": lastName,
|
|
"email": email,
|
|
"photo": photo,
|
|
"jobRoleId": jobRoleId,
|
|
"jobRoleName": jobRoleName,
|
|
};
|
|
}
|