class Advertisement {
  int? advertisementId;
  String? advertisementTitle;
  String? advertisementTitleAr;
  int? durationInSeconds;
  bool? showDelete;
  dynamic acknowledgment;
  late bool isOptional;
  List<ViewAttachFileColl>? viewAttachFileColl;
  int? skipButtonId;
  List<ActionButtonsColl>? actionButtonsColl;
  bool? isActive;
  num? pageSize;
  num? pageNo;
  num? languageId;

  Advertisement({
    this.advertisementId,
    this.advertisementTitle,
    this.advertisementTitleAr,
    this.durationInSeconds,
    this.showDelete,
    this.acknowledgment,
    required this.isOptional,
    // this.skipBtnTextEn,
    // this.skipBtnTextAr,
    this.viewAttachFileColl,
    this.skipButtonId,
    this.actionButtonsColl,
    this.isActive,
    this.pageSize,
    this.pageNo,
    this.languageId,
  });

  Advertisement.fromJson(Map<String, dynamic> json) {
    advertisementId = json['advertisementId'];
    advertisementTitle = json['advertisementTitle'];
    advertisementTitleAr = json['advertisementTitleAr'];
    durationInSeconds = json['durationInSeconds'];
    showDelete = json['showDelete'];
    acknowledgment = json['acknowledgment'];
    isOptional = json['isOptional'];
    // skipBtnTextEn = json['skipBtnTextEn'];
    // skipBtnTextAr = json['skipBtnTextAr'];
    if (json['viewAttachFileColl'] != null) {
      viewAttachFileColl = <ViewAttachFileColl>[];
      json['viewAttachFileColl'].forEach((v) {
        viewAttachFileColl!.add(ViewAttachFileColl.fromJson(v));
      });
    }
    skipButtonId = json['skipButtonId'];
    if (json['actionButtonsColl'] != null) {
      actionButtonsColl = <ActionButtonsColl>[];
      json['actionButtonsColl'].forEach((v) {
        actionButtonsColl!.add(ActionButtonsColl.fromJson(v));
      });
    }
    isActive = json['isActive'];
    pageSize = json['pageSize'];
    pageNo = json['pageNo'];
    languageId = json['languageId'];
  }

  Map<String, dynamic> toJson() {
    Map<String, dynamic> data = Map<String, dynamic>();
    data['advertisementId'] = this.advertisementId;
    data['advertisementTitle'] = this.advertisementTitle;
    data['advertisementTitleAr'] = this.advertisementTitleAr;
    data['durationInSeconds'] = this.durationInSeconds;
    data['showDelete'] = this.showDelete;
    data['acknowledgment'] = this.acknowledgment;
    data['isOptional'] = this.isOptional;
    // data['skipBtnTextEn'] = this.skipBtnTextEn;
    // data['skipBtnTextAr'] = this.skipBtnTextAr;
    if (this.viewAttachFileColl != null) {
      data['viewAttachFileColl'] = this.viewAttachFileColl!.map((v) => v.toJson()).toList();
    }
    data['skipButtonId'] = this.skipButtonId;
    if (this.actionButtonsColl != null) {
      data['actionButtonsColl'] = this.actionButtonsColl!.map((v) => v.toJson()).toList();
    }
    data['isActive'] = this.isActive;
    data['pageSize'] = this.pageSize;
    data['pageNo'] = this.pageNo;
    data['languageId'] = this.languageId;
    return data;
  }
}

class ViewAttachFileColl {
  dynamic attachmentId;
  String? fileName;
  String? contentType;
  dynamic attachFileStream;
  String? base64String;
  dynamic isActive;
  dynamic referenceItemId;
  dynamic content;
  dynamic filePath;
  dynamic languageId;

  ViewAttachFileColl({this.attachmentId, this.fileName, this.contentType, this.attachFileStream, this.base64String, this.isActive, this.referenceItemId, this.content, this.filePath, this.languageId});

  ViewAttachFileColl.fromJson(Map<String, dynamic> json) {
    attachmentId = json['attachmentId'];
    fileName = json['fileName'];
    contentType = json['contentType'];
    attachFileStream = json['attachFileStream'];
    base64String = json['base64String'];
    isActive = json['isActive'];
    referenceItemId = json['referenceItemId'];
    content = json['content'];
    filePath = json['filePath'];
    languageId = json['languageId'];
  }

  Map<String, dynamic> toJson() {
    Map<String, dynamic> data = new Map<String, dynamic>();
    data['attachmentId'] = this.attachmentId;
    data['fileName'] = this.fileName;
    data['contentType'] = this.contentType;
    data['attachFileStream'] = this.attachFileStream;
    data['base64String'] = this.base64String;
    data['isActive'] = this.isActive;
    data['referenceItemId'] = this.referenceItemId;
    data['content'] = this.content;
    data['filePath'] = this.filePath;
    data['languageId'] = this.languageId;
    return data;
  }
}

class ActionButtonsColl {
  late int actionButtonId;
  late String btnTextEn;
  late String btnTextAr;
  late String actionValue;
  late dynamic iconOrImage;
  late int orderNo;

  ActionButtonsColl({required this.actionButtonId, required this.btnTextEn, required this.btnTextAr, required this.actionValue, required this.iconOrImage, required this.orderNo});

  ActionButtonsColl.fromJson(Map<String, dynamic> json) {
    actionButtonId = json['actionButtonId'];
    btnTextEn = json['btnTextEn'];
    btnTextAr = json['btnTextAr'];
    actionValue = json['actionValue'];
    iconOrImage = json['iconOrImage'];
    orderNo = json['orderNo'];
  }

  Map<String, dynamic> toJson() {
    Map<String, dynamic> data = new Map<String, dynamic>();
    data['actionButtonId'] = this.actionButtonId;
    data['btnTextEn'] = this.btnTextEn;
    data['btnTextAr'] = this.btnTextAr;
    data['actionValue'] = this.actionValue;
    data['iconOrImage'] = this.iconOrImage;
    data['orderNo'] = this.orderNo;
    return data;
  }
}
