LCOV - code coverage report
Current view: | top level - lib/models - participant_model.dart |  |  | Coverage | Total | Hit
Test: | lcov.info |  | Lines: | 51.4 % | 37 | 19
Test Date: | 2025-08-12 03:21:51 |  | Functions: | - | 0 | 0

                Line data    Source code
           1              : class Participant {
           2              :   final String id;
           3              :   final String eventId;
           4              :   final String memberId;
           5              :   final String? name;
           6              :   final String? email;
           7              :   final String? phoneNumber;
           8              :   final String? status; // 'registered', 'confirmed', 'cancelled', 'attended'
           9              :   final DateTime? registeredAt;
          10              :   final DateTime? confirmedAt;
          11              :   final DateTime? cancelledAt;
          12              :   final DateTime? attendedAt;
          13              :   final bool isPaid;
          14              :   final double? paidAmount;
          15              :   final String? notes;
          16              :   final DateTime? createdAt;
          17              :   final DateTime? updatedAt;
          18              :   String? memberType; // 회원 유형 필드 추가: '정회원', '준회원', '게스트' 등
          19              :
          20            5 :   Participant({
          21              :     required this.id,
          22              :     required this.eventId,
          23              :     required this.memberId,
          24              :     this.name,
          25              :     this.email,
          26              :     this.phoneNumber,
          27              :     this.status,
          28              :     this.registeredAt,
          29              :     this.confirmedAt,
          30              :     this.cancelledAt,
          31              :     this.attendedAt,
          32              :     this.isPaid = false,
          33              :     this.paidAmount,
          34              :     this.notes,
          35              :     this.createdAt,
          36              :     this.updatedAt,
          37              :   });
          38              :
          39              :   // JSON 데이터로부터 Participant 객체 생성
          40            2 :   factory Participant.fromJson(Map<String, dynamic> json) {
          41            2 :     return Participant(
          42            4 :       id: json['id']?.toString() ?? '',
          43            4 :       eventId: json['eventId']?.toString() ?? '',
          44            4 :       memberId: json['memberId']?.toString() ?? '',
          45            4 :       name: json['name']?.toString(),
          46            2 :       email: json['email']?.toString(),
          47            2 :       phoneNumber: json['phoneNumber']?.toString(),
          48            3 :       status: json['status']?.toString(),
          49            2 :       registeredAt: json['registeredAt'] != null ? DateTime.parse(json['registeredAt'].toString()) : null,
          50            2 :       confirmedAt: json['confirmedAt'] != null ? DateTime.parse(json['confirmedAt'].toString()) : null,
          51            2 :       cancelledAt: json['cancelledAt'] != null ? DateTime.parse(json['cancelledAt'].toString()) : null,
          52            2 :       attendedAt: json['attendedAt'] != null ? DateTime.parse(json['attendedAt'].toString()) : null,
          53            2 :       isPaid: json['isPaid'] ?? false,
          54            2 :       paidAmount: json['paidAmount'] != null ? double.tryParse(json['paidAmount'].toString()) : null,
          55            2 :       notes: json['notes']?.toString(),
          56            2 :       createdAt: json['createdAt'] != null ? DateTime.parse(json['createdAt'].toString()) : null,
          57            2 :       updatedAt: json['updatedAt'] != null ? DateTime.parse(json['updatedAt'].toString()) : null,
          58              :     );
          59              :   }
          60              :
          61              :   // Participant 객체를 JSON으로 변환
          62            0 :   Map<String, dynamic> toJson() {
          63            0 :     return {
          64            0 :       'id': id,
          65            0 :       'eventId': eventId,
          66            0 :       'memberId': memberId,
          67            0 :       'name': name,
          68            0 :       'email': email,
          69            0 :       'phoneNumber': phoneNumber,
          70            0 :       'status': status,
          71            0 :       'registeredAt': registeredAt?.toIso8601String(),
          72            0 :       'confirmedAt': confirmedAt?.toIso8601String(),
          73            0 :       'cancelledAt': cancelledAt?.toIso8601String(),
          74            0 :       'attendedAt': attendedAt?.toIso8601String(),
          75            0 :       'isPaid': isPaid,
          76            0 :       'paidAmount': paidAmount,
          77            0 :       'notes': notes,
          78            0 :       'createdAt': createdAt?.toIso8601String(),
          79            0 :       'updatedAt': updatedAt?.toIso8601String(),
          80              :     };
          81              :   }
          82              : }

Generated by: LCOV version 2.3.1-1