v1.27 membership improvement
This commit is contained in:
+31
-16
@@ -1,36 +1,51 @@
|
||||
enum DurationType { free, subscription, lifetime, limited }
|
||||
|
||||
extension DurationTypeExt on DurationType {
|
||||
String enumToString() => toString().split(".").last;
|
||||
DurationType getType(String type) => DurationType.values.firstWhere((e) => e.enumToString() == type);
|
||||
}
|
||||
|
||||
enum DurationUnit { day, week, month, year }
|
||||
|
||||
extension DurationUnitExt on DurationUnit {
|
||||
String enumToString() => toString().split(".").last;
|
||||
DurationUnit getType(String type) => DurationUnit.values.firstWhere((e) => e.enumToString() == type);
|
||||
}
|
||||
|
||||
class Membership {
|
||||
late int membershipId;
|
||||
late String name;
|
||||
String? description;
|
||||
late int duration;
|
||||
late String durationType;
|
||||
late String durationUnit;
|
||||
late DurationType durationType;
|
||||
late DurationUnit durationUnit;
|
||||
int? trainingPlanId;
|
||||
String? trainingPlanDayIds;
|
||||
|
||||
Membership();
|
||||
|
||||
Membership.fromJson(Map json) {
|
||||
membershipId = json['membershipId'];
|
||||
name = json['name'];
|
||||
description = json['description'] ?? "";
|
||||
duration = json['duration'];
|
||||
durationUnit = json['durationUnit'];
|
||||
durationType = json['durationType'];
|
||||
durationType = DurationType.free.getType(json['durationType']);
|
||||
durationUnit = DurationUnit.day.getType(json['durationUnit']);
|
||||
trainingPlanId = json['trainingPlanId'] ?? 0;
|
||||
trainingPlanDayIds = json['trainingPlanDayIds'] ?? "";
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"membershipId": membershipId,
|
||||
"name": name,
|
||||
"description": description,
|
||||
"duration": duration,
|
||||
"durationUnit": durationUnit,
|
||||
"durationType": durationType,
|
||||
"trainingPlanId": trainingPlanId,
|
||||
"trainingPlanDayIds": trainingPlanDayIds,
|
||||
};
|
||||
Map<String, dynamic> toJson() => {
|
||||
"membershipId": membershipId,
|
||||
"name": name,
|
||||
"description": description,
|
||||
"duration": duration,
|
||||
'durationType': durationType.enumToString(),
|
||||
'durationUnit': durationUnit.enumToString(),
|
||||
"trainingPlanId": trainingPlanId,
|
||||
"trainingPlanDayIds": trainingPlanDayIds,
|
||||
};
|
||||
|
||||
@override
|
||||
String toString() => toJson().toString();
|
||||
}
|
||||
String toString() => toJson().toString();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user