class GetItemsForSaleList {
  int? itemSaleID;
  String? title;
  String? titleAr;
  String? description;
  String? descriptionAr;
  int? categoryID;
  String? categoryTitle;
  int? regionID;
  String? regionName;
  String? countryName;
  String? currencyCode;
  String? startDate;
  String? endDate;
  int? quotePrice;
  int? employeeNumber;
  String? profilePicture;
  String? fullName;
  String? emailAddress;
  String? mobileNumber;
  bool? isApproved;
  String? status;
  List<ItemAttachments>? itemAttachments;
  String? created;
  dynamic? comments;
  dynamic? isActive;
  dynamic? pageSize;
  dynamic? pageNo;
  dynamic? languageId;

  GetItemsForSaleList(
      {this.itemSaleID,
        this.title,
        this.titleAr,
        this.description,
        this.descriptionAr,
        this.categoryID,
        this.categoryTitle,
        this.regionID,
        this.regionName,
        this.countryName,
        this.currencyCode,
        this.startDate,
        this.endDate,
        this.quotePrice,
        this.employeeNumber,
        this.profilePicture,
        this.fullName,
        this.emailAddress,
        this.mobileNumber,
        this.isApproved,
        this.status,
        this.itemAttachments,
        this.created,
        this.comments,
        this.isActive,
        this.pageSize,
        this.pageNo,
        this.languageId});

  GetItemsForSaleList.fromJson(Map<String, dynamic> json) {
    itemSaleID = json['itemSaleID'];
    title = json['title'];
    titleAr = json['title_Ar'];
    description = json['description'];
    descriptionAr = json['description_Ar'];
    categoryID = json['categoryID'];
    categoryTitle = json['categoryTitle'];
    regionID = json['regionID'];
    regionName = json['regionName'];
    countryName = json['countryName'];
    currencyCode = json['currencyCode'];
    startDate = json['startDate'];
    endDate = json['endDate'];
    quotePrice = json['quotePrice'];
    employeeNumber = json['employeeNumber'];
    profilePicture = json['profilePicture'];
    fullName = json['fullName'];
    emailAddress = json['emailAddress'];
    mobileNumber = json['mobileNumber'];
    isApproved = json['isApproved'];
    status = json['status'];
    if (json['itemAttachments'] != null) {
      itemAttachments = <ItemAttachments>[];
      json['itemAttachments'].forEach((v) {
        itemAttachments!.add(new ItemAttachments.fromJson(v));
      });
    }
    created = json['created'];
    comments = json['comments'];
    isActive = json['isActive'];
    pageSize = json['pageSize'];
    pageNo = json['pageNo'];
    languageId = json['languageId'];
  }

  Map<String, dynamic> toJson() {
    Map<String, dynamic> data = new Map<String, dynamic>();
    data['itemSaleID'] = this.itemSaleID;
    data['title'] = this.title;
    data['title_Ar'] = this.titleAr;
    data['description'] = this.description;
    data['description_Ar'] = this.descriptionAr;
    data['categoryID'] = this.categoryID;
    data['categoryTitle'] = this.categoryTitle;
    data['regionID'] = this.regionID;
    data['regionName'] = this.regionName;
    data['countryName'] = this.countryName;
    data['currencyCode'] = this.currencyCode;
    data['startDate'] = this.startDate;
    data['endDate'] = this.endDate;
    data['quotePrice'] = this.quotePrice;
    data['employeeNumber'] = this.employeeNumber;
    data['profilePicture'] = this.profilePicture;
    data['fullName'] = this.fullName;
    data['emailAddress'] = this.emailAddress;
    data['mobileNumber'] = this.mobileNumber;
    data['isApproved'] = this.isApproved;
    data['status'] = this.status;
    if (this.itemAttachments != null) {
      data['itemAttachments'] =
          this.itemAttachments!.map((v) => v.toJson()).toList();
    }
    data['created'] = this.created;
    data['comments'] = this.comments;
    data['isActive'] = this.isActive;
    data['pageSize'] = this.pageSize;
    data['pageNo'] = this.pageNo;
    data['languageId'] = this.languageId;
    return data;
  }
}

class ItemAttachments {
  int? attachmentId;
  String? fileName;
  String? contentType;
  dynamic? attachFileStream;
  dynamic? base64String;
  dynamic? isActive;
  int? referenceItemId;
  String? content;
  String? filePath;

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

  ItemAttachments.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'];
  }

  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;
    return data;
  }
}
