InTrackUser.fromMap constructor

InTrackUser.fromMap(
  1. Map<String, dynamic> userDetails
)

Implementation

InTrackUser.fromMap(Map<String, dynamic> userDetails) {
  if (userDetails.containsKey('userId')) {
    userId = userDetails['userId'].toString();
  }

  if (userDetails.containsKey('firstName')) {
    firstName = userDetails['firstName'].toString();
  }

  if (userDetails.containsKey('lastName')) {
    lastName = userDetails['lastName'].toString();
  }

  if (userDetails.containsKey('email')) {
    email = userDetails['email'].toString();
  }

  if (userDetails.containsKey('phone')) {
    phone = userDetails['phone'].toString();
  }

  if (userDetails.containsKey('country')) {
    country = userDetails['country'].toString();
  }

  if (userDetails.containsKey('state')) {
    state = userDetails['state'].toString();
  }

  if (userDetails.containsKey('city')) {
    city = userDetails['city'].toString();
  }

  if (userDetails.containsKey('gender')) {
    String genderString = userDetails['gender'].toString().toLowerCase();
    switch (genderString) {
      case 'female':
        gender = ApiUserGender.FEMALE;

        break;
      case 'male':
        gender = ApiUserGender.MALE;

        break;
      default:
        gender = ApiUserGender.OTHER;
    }
  }

  if (userDetails.containsKey('birthday')) {
    birthday = DateTime.parse(userDetails['birthday'].toString());
  }

  if (userDetails.containsKey('company')) {
    company = userDetails['company'].toString();
  }

  if (userDetails.containsKey('hashedPhone')) {
    hashedPhone = userDetails['hashedPhone'].toString();
  }

  if (userDetails.containsKey('hashedEmail')) {
    hashedEmail = userDetails['hashedEmail'].toString();
  }

  if (userDetails.containsKey('smsOptIn')) {
    smsOptIn = userDetails['smsOptIn'].toString().toLowerCase() == 'true';
  }

  if (userDetails.containsKey('emailOptIn')) {
    emailOptIn = userDetails['emailOptIn'].toString().toLowerCase() == 'true';
  }

  if (userDetails.containsKey('pushOptIn')) {
    pushOptIn = userDetails['pushOptIn'].toString().toLowerCase() == 'true';
  }

  if (userDetails.containsKey('webPushOptIn')) {
    webPushOptIn =
        userDetails['webPushOptIn'].toString().toLowerCase() == 'true';
  }

  if (userDetails.containsKey('attributes')) {
    attributes = userDetails['attributes'];
  }
}