Add pricing entry flow and platform admin foundations
This commit is contained in:
@@ -5,11 +5,23 @@ extension FinanceTypeX on FinanceType {
|
||||
String get label => this == FinanceType.receivable ? 'Alacak' : 'Borç';
|
||||
}
|
||||
|
||||
enum FinanceStatus { pending, paid }
|
||||
enum FinanceStatus { pending, reported, paid }
|
||||
|
||||
extension FinanceStatusX on FinanceStatus {
|
||||
String get value => name;
|
||||
String get label => this == FinanceStatus.pending ? 'Bekliyor' : 'Ödendi';
|
||||
String get label {
|
||||
switch (this) {
|
||||
case FinanceStatus.pending:
|
||||
return 'Bekliyor';
|
||||
case FinanceStatus.reported:
|
||||
return 'Onay Bekliyor';
|
||||
case FinanceStatus.paid:
|
||||
return 'Onaylandı';
|
||||
}
|
||||
}
|
||||
|
||||
bool get isOpen =>
|
||||
this == FinanceStatus.pending || this == FinanceStatus.reported;
|
||||
}
|
||||
|
||||
class FinanceEntry {
|
||||
@@ -44,7 +56,11 @@ class FinanceEntry {
|
||||
factory FinanceEntry.fromJson(Map<String, dynamic> j) {
|
||||
final expand = j['expand'] as Map<String, dynamic>?;
|
||||
final jobExp = expand?['job_id'] as Map<String, dynamic>?;
|
||||
String? _str(dynamic v) { final s = v as String?; return (s == null || s.isEmpty) ? null : s; }
|
||||
String? parseOptionalString(dynamic v) {
|
||||
final s = v as String?;
|
||||
return (s == null || s.isEmpty) ? null : s;
|
||||
}
|
||||
|
||||
return FinanceEntry(
|
||||
id: j['id'] as String,
|
||||
tenantId: j['tenant_id'] as String,
|
||||
@@ -55,9 +71,9 @@ class FinanceEntry {
|
||||
currency: j['currency'] as String? ?? 'TRY',
|
||||
status: FinanceStatus.values.firstWhere((e) => e.value == j['status'],
|
||||
orElse: () => FinanceStatus.pending),
|
||||
counterpartyTenantId: _str(j['counterparty_tenant_id']),
|
||||
paidAt: _str(j['paid_at']),
|
||||
counterpartyName: _str(j['counterparty_name']),
|
||||
counterpartyTenantId: parseOptionalString(j['counterparty_tenant_id']),
|
||||
paidAt: parseOptionalString(j['paid_at']),
|
||||
counterpartyName: parseOptionalString(j['counterparty_name']),
|
||||
patientCode: jobExp?['patient_code'] as String?,
|
||||
dateCreated: j['created'] as String?,
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user