CategoriesModel
unknown
dart
3 years ago
4.1 kB
6
Indexable
import 'dart:convert';
import 'package:base_architecture/data_layer/models/api_models/books_models/book_model.dart';
import 'package:base_architecture/data_layer/models/api_models/translated_name_model.dart';
class CategoriesModel {
CategoriesModel({this.data});
CategoriesModel.fromJson(Map<String, dynamic> json) {
data = json['data'] != null
? new CategoriesModelData.fromJson(json['data'])
: null;
}
CategoriesModelData? data;
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
if (this.data != null) {
data['data'] = this.data!.toJson();
}
return data;
}
}
class CategoriesModelData {
CategoriesModelData({this.categories,this.mainCategories});
CategoriesModelData.fromJson(Map<String, dynamic> json) {
if (json['categories'] != null) {
categories = <CategoriesItem>[];
json['categories'].forEach((v) {
categories!.add(CategoriesItem.fromJson(v));
});
}
if (json['main_categories'] != null) {
mainCategories = <MainCategoriesTabs>[];
json['main_categories'].forEach((v) {
mainCategories!.add(new MainCategoriesTabs.fromJson(v));
});
}
}
List<CategoriesItem>? categories;
List<MainCategoriesTabs>? mainCategories;
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
if (categories != null) {
data['categories'] = categories!.map((v) => v.toJson()).toList();
}
if (this.mainCategories != null) {
data['main_categories'] =
this.mainCategories!.map((v) => v.toJson()).toList();
}
return data;
}
}
class CategoriesItem {
CategoriesItem({
this.id,
this.translatedName,
this.imageFullPath,
this.soundFullPath,
this.mainCategoryBooks,
});
CategoriesItem.fromJson(Map<String, dynamic> json) {
id = json['id'];
translatedName = json['translated_name'] != null
? TranslatedNameModel.fromJson(json['translated_name'])
: null;
imageFullPath = json['image_full_path'];
soundFullPath = json['sound_full_path'];
if (json['books'] != null) {
mainCategoryBooks = <Book>[];
json['books'].forEach((v) {
mainCategoryBooks!.add(Book.fromJson(v));
});
}
}
int? id;
TranslatedNameModel? translatedName;
String? imageFullPath;
String? soundFullPath;
List<Book>? mainCategoryBooks;
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = id;
data['translated_name'] = translatedName;
data['image_full_path'] = imageFullPath;
data['sound_full_path'] = soundFullPath;
if (mainCategoryBooks != null) {
data['books'] = mainCategoryBooks!.map((v) => v.toJson()).toList();
}
return data;
}
static Map<String, dynamic> toMap(CategoriesItem categoriesItem) => {
'id': categoriesItem.id,
'translated_name': categoriesItem.translatedName,
'image_full_path': categoriesItem.imageFullPath,
'sound_full_path': categoriesItem.soundFullPath,
'books': categoriesItem.mainCategoryBooks,
};
}
class MainCategoriesTabs {
int? id;
String? imageFullPath;
String? soundFullPath;
String? nameAr;
String? nameEn;
String? nameHe;
MainCategoriesTabs(
{this.id,
this.imageFullPath,
this.soundFullPath,
this.nameAr,
this.nameEn,
this.nameHe});
MainCategoriesTabs.fromJson(Map<String, dynamic> json) {
id = json['id'];
imageFullPath = json['image_full_path'];
soundFullPath = json['sound_full_path'];
nameAr = json['name_ar'];
nameEn = json['name_en'];
nameHe = json['name_he'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['image_full_path'] = this.imageFullPath;
data['sound_full_path'] = this.soundFullPath;
data['name_ar'] = this.nameAr;
data['name_en'] = this.nameEn;
data['name_he'] = this.nameHe;
return data;
}
}
Editor is loading...