class HomeModel { String? status; int? statusCode; String? message; Data? data; HomeModel({this.status, this.statusCode, this.message, this.data}); HomeModel.fromJson(Map json) { status = json['status']; statusCode = json['status_code']; message = json['message']; data = json['data'] != null ? Data.fromJson(json['data']) : null; } Map toJson() { final Map data = {}; data['status'] = status; data['status_code'] = statusCode; data['message'] = message; if (this.data != null) { data['data'] = this.data!.toJson(); } return data; } } class Data { List? exploreTheUnseenActiveCalls; List? exploreTheUnseenExitedCalls; IndexLiveData? indexLiveData; UserData? userData; List? products; ContentByteVideo? contentByteVideo; bool? isUpstoxTokenRefreshed; String? upstoxAccessToken; String? upstoxClientId; String? upstoxSecretKey; Data( {this.exploreTheUnseenActiveCalls, this.exploreTheUnseenExitedCalls, this.indexLiveData, this.userData, this.products, this.contentByteVideo, this.isUpstoxTokenRefreshed, this.upstoxAccessToken, this.upstoxClientId, this.upstoxSecretKey}); Data.fromJson(Map json) { if (json['explore_the_unseen_active_calls'] != null) { exploreTheUnseenActiveCalls = []; json['explore_the_unseen_active_calls'].forEach((v) { exploreTheUnseenActiveCalls! .add(ExploreTheUnseenActiveCalls.fromJson(v)); }); } if (json['explore_the_unseen_exited_calls'] != null) { exploreTheUnseenExitedCalls = []; json['explore_the_unseen_exited_calls'].forEach((v) { exploreTheUnseenExitedCalls! .add(ExploreTheUnseenExitedCalls.fromJson(v)); }); } indexLiveData = json['index_live_data'] != null ? IndexLiveData.fromJson(json['index_live_data']) : null; userData = json['user_data'] != null ? UserData.fromJson(json['user_data']) : null; if (json['products'] != null) { products = []; json['products'].forEach((v) { products!.add(Products.fromJson(v)); }); } contentByteVideo = json['content_byte_video'] != null ? ContentByteVideo.fromJson(json['content_byte_video']) : null; isUpstoxTokenRefreshed = json['isUpstoxTokenRefreshed']; upstoxAccessToken = json['upstoxAccessToken']; upstoxClientId = json['upstox_client_id']; upstoxSecretKey = json['upstox_secret_key']; } Map toJson() { final Map data = {}; if (exploreTheUnseenActiveCalls != null) { data['explore_the_unseen_active_calls'] = exploreTheUnseenActiveCalls!.map((v) => v.toJson()).toList(); } if (exploreTheUnseenExitedCalls != null) { data['explore_the_unseen_exited_calls'] = exploreTheUnseenExitedCalls!.map((v) => v.toJson()).toList(); } if (indexLiveData != null) { data['index_live_data'] = indexLiveData!.toJson(); } if (userData != null) { data['user_data'] = userData!.toJson(); } if (products != null) { data['products'] = products!.map((v) => v.toJson()).toList(); } if (contentByteVideo != null) { data['content_byte_video'] = contentByteVideo!.toJson(); } data['isUpstoxTokenRefreshed'] = isUpstoxTokenRefreshed; data['upstoxAccessToken'] = upstoxAccessToken; data['upstox_client_id'] = upstoxClientId; data['upstox_secret_key'] = upstoxSecretKey; return data; } } class ExploreTheUnseenActiveCalls { int? id; int? productTypeXid; int? recommendationActionsXid; String? stockName; String? instrumentKey; String? stockImage; String? duration; String? currentPrice; String? buyPrice; String? targetPrice; String? stopLoss; int? isSendRecommendationNow; String? scheduleDateTime; String? createdAt; String? docs; ProductTypeData? productTypeData; ActionData? actionData; ExploreTheUnseenActiveCalls( {this.id, this.productTypeXid, this.recommendationActionsXid, this.stockName, this.instrumentKey, this.stockImage, this.duration, this.currentPrice, this.buyPrice, this.targetPrice, this.stopLoss, this.isSendRecommendationNow, this.scheduleDateTime, this.createdAt, this.docs, this.productTypeData, this.actionData}); ExploreTheUnseenActiveCalls.fromJson(Map json) { id = json['id']; productTypeXid = json['product_type_xid']; recommendationActionsXid = json['recommendation_actions_xid']; stockName = json['stock_name']; instrumentKey = json['instrument_key']; stockImage = json['stock_image']; duration = json['duration']; currentPrice = json['current_price']; buyPrice = json['buy_price']; targetPrice = json['target_price']; stopLoss = json['stop_loss']; isSendRecommendationNow = json['is_send_recommendation_now']; scheduleDateTime = json['schedule_date_time']; createdAt = json['created_at']; docs = json['docs']; productTypeData = json['product_type_data'] != null ? ProductTypeData.fromJson(json['product_type_data']) : null; actionData = json['action_data'] != null ? ActionData.fromJson(json['action_data']) : null; } Map toJson() { final Map data = {}; data['id'] = id; data['product_type_xid'] = productTypeXid; data['recommendation_actions_xid'] = recommendationActionsXid; data['stock_name'] = stockName; data['instrument_key'] = instrumentKey; data['stock_image'] = stockImage; data['duration'] = duration; data['current_price'] = currentPrice; data['buy_price'] = buyPrice; data['target_price'] = targetPrice; data['stop_loss'] = stopLoss; data['is_send_recommendation_now'] = isSendRecommendationNow; data['schedule_date_time'] = scheduleDateTime; data['created_at'] = createdAt; data['docs'] = docs; if (productTypeData != null) { data['product_type_data'] = productTypeData!.toJson(); } if (actionData != null) { data['action_data'] = actionData!.toJson(); } return data; } } class ExploreTheUnseenExitedCalls { int? id; int? productTypeXid; int? recommendationActionsXid; String? stockName; String? instrumentKey; String? stockImage; String? duration; String? currentPrice; String? buyPrice; String? targetPrice; String? stopLoss; int? isSendRecommendationNow; String? scheduleDateTime; String? createdAt; String? docs; ProductTypeData? productTypeData; ActionData? actionData; ExploreTheUnseenExitedCalls( {this.id, this.productTypeXid, this.recommendationActionsXid, this.stockName, this.instrumentKey, this.stockImage, this.duration, this.currentPrice, this.buyPrice, this.targetPrice, this.stopLoss, this.isSendRecommendationNow, this.scheduleDateTime, this.createdAt, this.docs, this.productTypeData, this.actionData}); ExploreTheUnseenExitedCalls.fromJson(Map json) { id = json['id']; productTypeXid = json['product_type_xid']; recommendationActionsXid = json['recommendation_actions_xid']; stockName = json['stock_name']; instrumentKey = json['instrument_key']; stockImage = json['stock_image']; duration = json['duration']; currentPrice = json['current_price']; buyPrice = json['buy_price']; targetPrice = json['target_price']; stopLoss = json['stop_loss']; isSendRecommendationNow = json['is_send_recommendation_now']; scheduleDateTime = json['schedule_date_time']; createdAt = json['created_at']; docs = json['docs']; productTypeData = json['product_type_data'] != null ? ProductTypeData.fromJson(json['product_type_data']) : null; actionData = json['action_data'] != null ? ActionData.fromJson(json['action_data']) : null; } Map toJson() { final Map data = {}; data['id'] = id; data['product_type_xid'] = productTypeXid; data['recommendation_actions_xid'] = recommendationActionsXid; data['stock_name'] = stockName; data['instrument_key'] = instrumentKey; data['stock_image'] = stockImage; data['duration'] = duration; data['current_price'] = currentPrice; data['buy_price'] = buyPrice; data['target_price'] = targetPrice; data['stop_loss'] = stopLoss; data['is_send_recommendation_now'] = isSendRecommendationNow; data['schedule_date_time'] = scheduleDateTime; data['created_at'] = createdAt; data['docs'] = docs; if (productTypeData != null) { data['product_type_data'] = productTypeData!.toJson(); } if (actionData != null) { data['action_data'] = actionData!.toJson(); } return data; } } class ProductTypeData { int? id; String? title; String? isActive; String? createdAt; ProductTypeData({this.id, this.title, this.isActive, this.createdAt}); ProductTypeData.fromJson(Map json) { id = json['id']; title = json['title']; isActive = json['is_active']; createdAt = json['created_at']; } Map toJson() { final Map data = {}; data['id'] = id; data['title'] = title; data['is_active'] = isActive; data['created_at'] = createdAt; return data; } } class ActionData { int? id; String? name; int? isActive; String? createdAt; ActionData({this.id, this.name, this.isActive, this.createdAt}); ActionData.fromJson(Map json) { id = json['id']; name = json['name']; isActive = json['is_active']; createdAt = json['created_at']; } Map toJson() { final Map data = {}; data['id'] = id; data['name'] = name; data['is_active'] = isActive; data['created_at'] = createdAt; return data; } } class IndexLiveData { String? status; Data1? data; IndexLiveData({this.status, this.data}); IndexLiveData.fromJson(Map json) { status = json['status']; data = json['data'] != null ? Data1.fromJson(json['data']) : null; } Map toJson() { final Map data = {}; data['status'] = status; if (this.data != null) { data['data'] = this.data!.toJson(); } return data; } } class Data1 { NSEINDEXNiftyBank? nSEINDEXNiftyBank; NSEINDEXNifty50? nSEINDEXNifty50; Data1({this.nSEINDEXNiftyBank, this.nSEINDEXNifty50}); Data1.fromJson(Map json) { nSEINDEXNiftyBank = json['NSE_INDEX:Nifty Bank'] != null ? NSEINDEXNiftyBank.fromJson(json['NSE_INDEX:Nifty Bank']) : null; nSEINDEXNifty50 = json['NSE_INDEX:Nifty 50'] != null ? NSEINDEXNifty50.fromJson(json['NSE_INDEX:Nifty 50']) : null; } Map toJson() { final Map data = {}; if (nSEINDEXNiftyBank != null) { data['NSE_INDEX:Nifty Bank'] = nSEINDEXNiftyBank!.toJson(); } if (nSEINDEXNifty50 != null) { data['NSE_INDEX:Nifty 50'] = nSEINDEXNifty50!.toJson(); } return data; } } class NSEINDEXNiftyBank { Ohlc? ohlc; String? timestamp; String? instrumentToken; String? symbol; double? lastPrice; String? volume; String? averagePrice; void oi; dynamic netChange; String? totalBuyQuantity; String? totalSellQuantity; String? lowerCircuitLimit; String? upperCircuitLimit; String? lastTradeTime; String? oiDayHigh; String? oiDayLow; NSEINDEXNiftyBank( {this.ohlc, this.timestamp, this.instrumentToken, this.symbol, this.lastPrice, this.volume, this.averagePrice, this.oi, this.netChange, this.totalBuyQuantity, this.totalSellQuantity, this.lowerCircuitLimit, this.upperCircuitLimit, this.lastTradeTime, this.oiDayHigh, this.oiDayLow}); NSEINDEXNiftyBank.fromJson(Map json) { ohlc = json['ohlc'] != null ? Ohlc.fromJson(json['ohlc']) : null; timestamp = json['timestamp']; instrumentToken = json['instrument_token']; symbol = json['symbol']; lastPrice = _parseJsonToDouble(json['last_price']); volume = json['volume']; averagePrice = json['average_price']; oi = json['oi']; netChange = json['net_change']; totalBuyQuantity = json['total_buy_quantity']; totalSellQuantity = json['total_sell_quantity']; lowerCircuitLimit = json['lower_circuit_limit']; upperCircuitLimit = json['upper_circuit_limit']; lastTradeTime = json['last_trade_time']; oiDayHigh = json['oi_day_high']; oiDayLow = json['oi_day_low']; } Map toJson() { final Map data = {}; if (ohlc != null) { data['ohlc'] = ohlc!.toJson(); } data['timestamp'] = timestamp; data['instrument_token'] = instrumentToken; data['symbol'] = symbol; data['last_price'] = lastPrice; data['volume'] = volume; data['average_price'] = averagePrice; data['net_change'] = netChange; data['total_buy_quantity'] = totalBuyQuantity; data['total_sell_quantity'] = totalSellQuantity; data['lower_circuit_limit'] = lowerCircuitLimit; data['upper_circuit_limit'] = upperCircuitLimit; data['last_trade_time'] = lastTradeTime; data['oi_day_high'] = oiDayHigh; data['oi_day_low'] = oiDayLow; return data; } } class Ohlc { double? open; double? high; double? low; double? close; Ohlc({this.open, this.high, this.low, this.close}); Ohlc.fromJson(Map json) { open = _parseJsonToDouble(json['open']); high = _parseJsonToDouble(json['high']); low = _parseJsonToDouble(json['low']); close = _parseJsonToDouble(json['close']); } Map toJson() { final Map data = {}; data['open'] = open; data['high'] = high; data['low'] = low; data['close'] = close; return data; } } class NSEINDEXNifty50 { Ohlc? ohlc; String? timestamp; String? instrumentToken; String? symbol; double? lastPrice; double? volume; double? averagePrice; double? netChange; String? totalBuyQuantity; String? totalSellQuantity; String? lowerCircuitLimit; String? upperCircuitLimit; String? lastTradeTime; String? oiDayHigh; String? oiDayLow; NSEINDEXNifty50( {this.ohlc, this.timestamp, this.instrumentToken, this.symbol, this.lastPrice, this.volume, this.averagePrice, this.netChange, this.totalBuyQuantity, this.totalSellQuantity, this.lowerCircuitLimit, this.upperCircuitLimit, this.lastTradeTime, this.oiDayHigh, this.oiDayLow}); NSEINDEXNifty50.fromJson(Map json) { ohlc = json['ohlc'] != null ? Ohlc.fromJson(json['ohlc']) : null; timestamp = json['timestamp']; instrumentToken = json['instrument_token']; symbol = json['symbol']; lastPrice = json['last_price'].toDouble(); volume = json['volume']; averagePrice = json['average_price']; netChange = json['net_change']; totalBuyQuantity = json['total_buy_quantity']; totalSellQuantity = json['total_sell_quantity']; lowerCircuitLimit = json['lower_circuit_limit']; upperCircuitLimit = json['upper_circuit_limit']; lastTradeTime = json['last_trade_time']; oiDayHigh = json['oi_day_high']; oiDayLow = json['oi_day_low']; } Map toJson() { final Map data = {}; if (ohlc != null) { data['ohlc'] = ohlc!.toJson(); } data['timestamp'] = timestamp; data['instrument_token'] = instrumentToken; data['symbol'] = symbol; data['last_price'] = lastPrice; data['volume'] = volume; data['average_price'] = averagePrice; data['net_change'] = netChange; data['total_buy_quantity'] = totalBuyQuantity; data['total_sell_quantity'] = totalSellQuantity; data['lower_circuit_limit'] = lowerCircuitLimit; data['upper_circuit_limit'] = upperCircuitLimit; data['last_trade_time'] = lastTradeTime; data['oi_day_high'] = oiDayHigh; data['oi_day_low'] = oiDayLow; return data; } } class UserData { int? id; String? firstName; String? lastName; String? userName; String? profilePhoto; String? isActive; String? createdAt; UserData( {this.id, this.firstName, this.lastName, this.userName, this.profilePhoto, this.isActive, this.createdAt}); UserData.fromJson(Map json) { id = json['id']; firstName = json['first_name']; lastName = json['last_name']; userName = json['user_name']; profilePhoto = json['profile_photo']; isActive = json['is_active']; createdAt = json['created_at']; } Map toJson() { final Map data = {}; data['id'] = id; data['first_name'] = firstName; data['last_name'] = lastName; data['user_name'] = userName; data['profile_photo'] = profilePhoto; data['is_active'] = isActive; data['created_at'] = createdAt; return data; } } class Products { int? id; String? title; String? createdAt; Products({this.id, this.title, this.createdAt}); Products.fromJson(Map json) { id = json['id']; title = json['title']; createdAt = json['created_at']; } Map toJson() { final Map data = {}; data['id'] = id; data['title'] = title; data['created_at'] = createdAt; return data; } } class ContentByteVideo { int? id; String? contentType; String? title; String? description; String? tags; String? file; int? categoryId; String? image; String? isActive; String? createdAt; String? link; ContentByteVideo( {this.id, this.contentType, this.title, this.description, this.tags, this.file, this.categoryId, this.image, this.isActive, this.createdAt, this.link}); ContentByteVideo.fromJson(Map json) { id = json['id']; contentType = json['content_type']; title = json['title']; description = json['description']; tags = json['tags']; file = json['file']; categoryId = json['category_id']; image = json['image']; isActive = json['is_active']; createdAt = json['created_at']; link = json['link']; } Map toJson() { final Map data = {}; data['id'] = id; data['content_type'] = contentType; data['title'] = title; data['description'] = description; data['tags'] = tags; data['file'] = file; data['category_id'] = categoryId; data['image'] = image; data['is_active'] = isActive; data['created_at'] = createdAt; data['link'] = link; return data; } } double? _parseJsonToDouble(dynamic value) { if (value is int) { return value.toDouble(); } else if (value is double) { return value; } else { return null; // Or handle it in another appropriate way } }