// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'membre_complete_model.dart';

// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************

MembreCompletModel _$MembreCompletModelFromJson(Map<String, dynamic> json) =>
    MembreCompletModel(
      id: json['id'] as String?,
      nom: json['nom'] as String,
      prenom: json['prenom'] as String,
      email: json['email'] as String,
      telephone: json['telephone'] as String?,
      telephoneWave: json['telephoneWave'] as String?,
      dateNaissance: json['dateNaissance'] == null
          ? null
          : DateTime.parse(json['dateNaissance'] as String),
      genre: $enumDecodeNullable(_$GenreEnumMap, json['genre']),
      adresse: json['adresse'] as String?,
      ville: json['ville'] as String?,
      codePostal: json['codePostal'] as String?,
      region: json['region'] as String?,
      pays: json['pays'] as String?,
      profession: json['profession'] as String?,
      nationalite: json['nationalite'] as String?,
      photo: json['photo'] as String?,
      statut:
          $enumDecodeNullable(_$StatutMembreEnumMap, json['statutCompte']) ??
          StatutMembre.actif,
      role: json['role'] as String?,
      organisationId: json['organisationId'] as String?,
      organisationNom: json['organisationNom'] as String?,
      dateAdhesion: json['dateAdhesion'] == null
          ? null
          : DateTime.parse(json['dateAdhesion'] as String),
      dateFinAdhesion: json['dateFinAdhesion'] == null
          ? null
          : DateTime.parse(json['dateFinAdhesion'] as String),
      membreBureau: json['membreBureau'] as bool? ?? false,
      responsable: json['responsable'] as bool? ?? false,
      fonctionBureau: json['fonctionBureau'] as String?,
      numeroMembre: json['numeroMembre'] as String?,
      cotisationAJour: json['cotisationAJour'] as bool? ?? false,
      nombreEvenementsParticipes:
          (json['nombreEvenementsParticipes'] as num?)?.toInt() ?? 0,
      derniereActivite: json['derniereActivite'] == null
          ? null
          : DateTime.parse(json['derniereActivite'] as String),
      statutMatrimonial: json['statutMatrimonial'] as String?,
      typeIdentite: json['typeIdentite'] as String?,
      numeroIdentite: json['numeroIdentite'] as String?,
      notes: json['notes'] as String?,
      dateCreation: json['dateCreation'] == null
          ? null
          : DateTime.parse(json['dateCreation'] as String),
      dateModification: json['dateModification'] == null
          ? null
          : DateTime.parse(json['dateModification'] as String),
      actif: json['actif'] as bool? ?? true,
      niveauVigilanceKyc: $enumDecodeNullable(
        _$NiveauVigilanceKycEnumMap,
        json['niveauVigilanceKyc'],
      ),
      statutKyc: $enumDecodeNullable(_$StatutKycEnumMap, json['statutKyc']),
      dateVerificationIdentite: json['dateVerificationIdentite'] == null
          ? null
          : DateTime.parse(json['dateVerificationIdentite'] as String),
      motDePasseTemporaire: json['motDePasseTemporaire'] as String?,
    );

Map<String, dynamic> _$MembreCompletModelToJson(MembreCompletModel instance) =>
    <String, dynamic>{
      'id': instance.id,
      'nom': instance.nom,
      'prenom': instance.prenom,
      'email': instance.email,
      'telephone': instance.telephone,
      'telephoneWave': instance.telephoneWave,
      'dateNaissance': instance.dateNaissance?.toIso8601String(),
      'genre': _$GenreEnumMap[instance.genre],
      'adresse': instance.adresse,
      'ville': instance.ville,
      'codePostal': instance.codePostal,
      'region': instance.region,
      'pays': instance.pays,
      'profession': instance.profession,
      'nationalite': instance.nationalite,
      'photo': instance.photo,
      'statutCompte': _$StatutMembreEnumMap[instance.statut]!,
      'role': instance.role,
      'organisationId': instance.organisationId,
      'organisationNom': instance.organisationNom,
      'dateAdhesion': instance.dateAdhesion?.toIso8601String(),
      'dateFinAdhesion': instance.dateFinAdhesion?.toIso8601String(),
      'membreBureau': instance.membreBureau,
      'responsable': instance.responsable,
      'fonctionBureau': instance.fonctionBureau,
      'numeroMembre': instance.numeroMembre,
      'cotisationAJour': instance.cotisationAJour,
      'nombreEvenementsParticipes': instance.nombreEvenementsParticipes,
      'derniereActivite': instance.derniereActivite?.toIso8601String(),
      'statutMatrimonial': instance.statutMatrimonial,
      'typeIdentite': instance.typeIdentite,
      'numeroIdentite': instance.numeroIdentite,
      'notes': instance.notes,
      'dateCreation': instance.dateCreation?.toIso8601String(),
      'dateModification': instance.dateModification?.toIso8601String(),
      'actif': instance.actif,
      'niveauVigilanceKyc':
          _$NiveauVigilanceKycEnumMap[instance.niveauVigilanceKyc],
      'statutKyc': _$StatutKycEnumMap[instance.statutKyc],
      'dateVerificationIdentite': instance.dateVerificationIdentite
          ?.toIso8601String(),
      'motDePasseTemporaire': instance.motDePasseTemporaire,
    };

const _$GenreEnumMap = {
  Genre.homme: 'HOMME',
  Genre.femme: 'FEMME',
  Genre.autre: 'AUTRE',
};

const _$StatutMembreEnumMap = {
  StatutMembre.actif: 'ACTIF',
  StatutMembre.inactif: 'INACTIF',
  StatutMembre.suspendu: 'SUSPENDU',
  StatutMembre.enAttente: 'EN_ATTENTE_VALIDATION',
};

const _$NiveauVigilanceKycEnumMap = {
  NiveauVigilanceKyc.simplifie: 'SIMPLIFIE',
  NiveauVigilanceKyc.renforce: 'RENFORCE',
};

const _$StatutKycEnumMap = {
  StatutKyc.nonVerifie: 'NON_VERIFIE',
  StatutKyc.enCours: 'EN_COURS',
  StatutKyc.verifie: 'VERIFIE',
  StatutKyc.refuse: 'REFUSE',
};
