/// Page : 0
/// PageSize : 0
/// Keyword : "string"
/// IsFeature : true
/// IsDiscount : true
/// IsNewest : true
/// IsBestSell : true
/// CategoryId : 0
/// BrandId : 0
/// ItemFilters : [0]
/// Brands : [0]
/// SortOrder : 0

class ListProductRequest {
  int? _page;
  int? _pageSize;
  String? _keyword;
  bool? _isFeature;
  bool? _isDiscount;
  bool? _isNewest;
  bool? _isBestSell;
  int? _categoryId;
  int? _brandId;
  List<int>? _itemFilters;
  List<int>? _brands;
  int? _sortOrder;

  int? get page => _page;
  int? get pageSize => _pageSize;
  String? get keyword => _keyword;
  bool? get isFeature => _isFeature;
  bool? get isDiscount => _isDiscount;
  bool? get isNewest => _isNewest;
  bool? get isBestSell => _isBestSell;
  int? get categoryId => _categoryId;
  int? get brandId => _brandId;
  List<int>? get itemFilters => _itemFilters;
  List<int>? get brands => _brands;
  int? get sortOrder => _sortOrder;

  ListProductRequest({
      int? page, 
      int? pageSize, 
      String? keyword, 
      bool? isFeature, 
      bool? isDiscount, 
      bool? isNewest, 
      bool? isBestSell, 
      int? categoryId, 
      int? brandId, 
      List<int>? itemFilters, 
      List<int>? brands, 
      int? sortOrder}){
    _page = page;
    _pageSize = pageSize;
    _keyword = keyword;
    _isFeature = isFeature;
    _isDiscount = isDiscount;
    _isNewest = isNewest;
    _isBestSell = isBestSell;
    _categoryId = categoryId;
    _brandId = brandId;
    _itemFilters = itemFilters;
    _brands = brands;
    _sortOrder = sortOrder;
}

  ListProductRequest.fromJson(dynamic json) {
    _page = json['Page'];
    _pageSize = json['PageSize'];
    _keyword = json['Keyword'];
    _isFeature = json['IsFeature'];
    _isDiscount = json['IsDiscount'];
    _isNewest = json['IsNewest'];
    _isBestSell = json['IsBestSell'];
    _categoryId = json['CategoryId'];
    _brandId = json['BrandId'];
    _itemFilters = json['ItemFilters'] != null ? json['ItemFilters'].cast<int>() : [];
    _brands = json['Brands'] != null ? json['Brands'].cast<int>() : [];
    _sortOrder = json['SortOrder'];
  }

  Map<String, dynamic> toJson() {
    var map = <String, dynamic>{};
    map['Page'] = _page;
    map['PageSize'] = _pageSize;
    map['Keyword'] = _keyword;
    map['IsFeature'] = _isFeature;
    map['IsDiscount'] = _isDiscount;
    map['IsNewest'] = _isNewest;
    map['IsBestSell'] = _isBestSell;
    map['CategoryId'] = _categoryId;
    map['BrandId'] = _brandId;
    map['ItemFilters'] = _itemFilters;
    map['Brands'] = _brands;
    map['SortOrder'] = _sortOrder;
    return map;
  }

}