feat(App): update Finlytic Flutter app UI and blocs
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
|
||||
class CorporateEventModel extends Equatable {
|
||||
final String id;
|
||||
final String symbol;
|
||||
final String companyName;
|
||||
final String eventType;
|
||||
final DateTime eventDate;
|
||||
final String description;
|
||||
|
||||
const CorporateEventModel({
|
||||
required this.id,
|
||||
required this.symbol,
|
||||
required this.companyName,
|
||||
required this.eventType,
|
||||
required this.eventDate,
|
||||
required this.description,
|
||||
});
|
||||
|
||||
factory CorporateEventModel.fromJson(Map<String, dynamic> json) {
|
||||
DateTime parseDate(dynamic raw) {
|
||||
if (raw == null) return DateTime(1970);
|
||||
final str = raw.toString();
|
||||
try {
|
||||
if (str.contains('.')) {
|
||||
final parts = str.split('.');
|
||||
if (parts.length >= 3) {
|
||||
return DateTime(int.parse(parts[2]), int.parse(parts[1]), int.parse(parts[0]));
|
||||
}
|
||||
}
|
||||
return DateTime.parse(str);
|
||||
} catch (_) {
|
||||
return DateTime(1970);
|
||||
}
|
||||
}
|
||||
|
||||
return CorporateEventModel(
|
||||
id: json['id']?.toString() ?? json['Id']?.toString() ?? '',
|
||||
symbol: json['symbol']?.toString() ?? json['Symbol']?.toString() ?? '',
|
||||
companyName: json['companyName']?.toString() ?? json['CompanyName']?.toString() ?? '',
|
||||
eventType: json['eventType']?.toString() ?? json['EventType']?.toString() ?? '',
|
||||
eventDate: parseDate(json['eventDate'] ?? json['EventDate']),
|
||||
description: json['description']?.toString() ?? json['Description']?.toString() ?? '',
|
||||
);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
return {
|
||||
'id': id,
|
||||
'symbol': symbol,
|
||||
'companyName': companyName,
|
||||
'eventType': eventType,
|
||||
'eventDate': eventDate.toIso8601String(),
|
||||
'description': description,
|
||||
};
|
||||
}
|
||||
|
||||
@override
|
||||
List<Object?> get props => [id, symbol, companyName, eventType, eventDate, description];
|
||||
}
|
||||
Reference in New Issue
Block a user