course_unit_entity.g.dart 4.98 KB
import 'package:wow_english/generated/json/base/json_convert_content.dart';
import 'package:wow_english/models/course_unit_entity.dart';

CourseUnitEntity $CourseUnitEntityFromJson(Map<String, dynamic> json) {
  final CourseUnitEntity courseUnitEntity = CourseUnitEntity();
  final List<
      CourseUnitDetail>? courseUnitVOList = (json['courseUnitVOList'] as List<
      dynamic>?)
      ?.map(
          (e) => jsonConvert.convert<CourseUnitDetail>(e) as CourseUnitDetail)
      .toList();
  if (courseUnitVOList != null) {
    courseUnitEntity.courseUnitVOList = courseUnitVOList;
  }
  final int? nowStep = jsonConvert.convert<int>(json['nowStep']);
  if (nowStep != null) {
    courseUnitEntity.nowStep = nowStep;
  }
  final int? total = jsonConvert.convert<int>(json['total']);
  if (total != null) {
    courseUnitEntity.total = total;
  }
  final int? nowCourseModuleId = jsonConvert.convert<int>(
      json['nowCourseModuleId']);
  if (nowCourseModuleId != null) {
    courseUnitEntity.nowCourseModuleId = nowCourseModuleId;
  }
  final String? nowCourseModuleName = jsonConvert.convert<String>(
      json['nowCourseModuleName']);
  if (nowCourseModuleName != null) {
    courseUnitEntity.nowCourseModuleName = nowCourseModuleName;
  }
  final String? courseModuleThemeColor = jsonConvert.convert<String>(
      json['courseModuleThemeColor']);
  if (courseModuleThemeColor != null) {
    courseUnitEntity.courseModuleThemeColor = courseModuleThemeColor;
  }
  final String? courseModuleCode = jsonConvert.convert<String>(
      json['courseModuleCode']);
  if (courseModuleCode != null) {
    courseUnitEntity.courseModuleCode = courseModuleCode;
  }
  return courseUnitEntity;
}

Map<String, dynamic> $CourseUnitEntityToJson(CourseUnitEntity entity) {
  final Map<String, dynamic> data = <String, dynamic>{};
  data['courseUnitVOList'] =
      entity.courseUnitVOList?.map((v) => v.toJson()).toList();
  data['nowStep'] = entity.nowStep;
  data['total'] = entity.total;
  data['nowCourseModuleId'] = entity.nowCourseModuleId;
  data['nowCourseModuleName'] = entity.nowCourseModuleName;
  data['courseModuleThemeColor'] = entity.courseModuleThemeColor;
  data['courseModuleCode'] = entity.courseModuleCode;
  return data;
}

extension CourseUnitEntityExtension on CourseUnitEntity {
  CourseUnitEntity copyWith({
    List<CourseUnitDetail>? courseUnitVOList,
    int? nowStep,
    int? total,
    int? nowCourseModuleId,
    String? nowCourseModuleName,
    String? courseModuleThemeColor,
    String? courseModuleCode,
  }) {
    return CourseUnitEntity()
      ..courseUnitVOList = courseUnitVOList ?? this.courseUnitVOList
      ..nowStep = nowStep ?? this.nowStep
      ..total = total ?? this.total
      ..nowCourseModuleId = nowCourseModuleId ?? this.nowCourseModuleId
      ..nowCourseModuleName = nowCourseModuleName ?? this.nowCourseModuleName
      ..courseModuleThemeColor = courseModuleThemeColor ??
          this.courseModuleThemeColor
      ..courseModuleCode = courseModuleCode ?? this.courseModuleCode;
  }
}

CourseUnitDetail $CourseUnitDetailFromJson(Map<String, dynamic> json) {
  final CourseUnitDetail courseUnitDetail = CourseUnitDetail();
  final int? courseModuleId = jsonConvert.convert<int>(json['courseModuleId']);
  if (courseModuleId != null) {
    courseUnitDetail.courseModuleId = courseModuleId;
  }
  final int? id = jsonConvert.convert<int>(json['id']);
  if (id != null) {
    courseUnitDetail.id = id;
  }
  final String? name = jsonConvert.convert<String>(json['name']);
  if (name != null) {
    courseUnitDetail.name = name;
  }
  final String? coverUrl = jsonConvert.convert<String>(json['coverUrl']);
  if (coverUrl != null) {
    courseUnitDetail.coverUrl = coverUrl;
  }
  final bool? lock = jsonConvert.convert<bool>(json['lock']);
  if (lock != null) {
    courseUnitDetail.lock = lock;
  }
  final int? sortOrder = jsonConvert.convert<int>(json['sortOrder']);
  if (sortOrder != null) {
    courseUnitDetail.sortOrder = sortOrder;
  }
  final int? status = jsonConvert.convert<int>(json['status']);
  if (status != null) {
    courseUnitDetail.status = status;
  }
  return courseUnitDetail;
}

Map<String, dynamic> $CourseUnitDetailToJson(CourseUnitDetail entity) {
  final Map<String, dynamic> data = <String, dynamic>{};
  data['courseModuleId'] = entity.courseModuleId;
  data['id'] = entity.id;
  data['name'] = entity.name;
  data['coverUrl'] = entity.coverUrl;
  data['lock'] = entity.lock;
  data['sortOrder'] = entity.sortOrder;
  data['status'] = entity.status;
  return data;
}

extension CourseUnitDetailExtension on CourseUnitDetail {
  CourseUnitDetail copyWith({
    int? courseModuleId,
    int? id,
    String? name,
    String? coverUrl,
    bool? lock,
    int? sortOrder,
    int? status,
  }) {
    return CourseUnitDetail()
      ..courseModuleId = courseModuleId ?? this.courseModuleId
      ..id = id ?? this.id
      ..name = name ?? this.name
      ..coverUrl = coverUrl ?? this.coverUrl
      ..lock = lock ?? this.lock
      ..sortOrder = sortOrder ?? this.sortOrder
      ..status = status ?? this.status;
  }
}