import  ' package:test_sa/models/device/supplier.dart ' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								class  ModelDefinition  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  ModelDefinition ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    this . id , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    this . assetName , 
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    this . assetDescription , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    this . modelDefCode , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    this . modelName , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    this . manufacturerId , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    this . manufacturerName , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    this . supplierName , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    this . replacementDate , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    this . essentialEquipement , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    this . businessCritical , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    this . lifeSpan , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    this . modelDefRelatedDefects , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    this . suppliers , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  ModelDefinition . fromJson ( dynamic  json )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    id  =  json [ ' id ' ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    assetName  =  json [ ' assetName ' ] ; 
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    assetDescription  =  json [ ' assetDescription ' ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    modelDefCode  =  json [ ' modelDefCode ' ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    modelName  =  json [ ' modelName ' ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    manufacturerId  =  json [ ' manufacturerId ' ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    manufacturerName  =  json [ ' manufacturerName ' ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    supplierName  =  json [ ' supplierName ' ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    replacementDate  =  json [ ' replacementDate ' ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    essentialEquipement  =  json [ ' essentialEquipement ' ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    businessCritical  =  json [ ' businessCritical ' ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    lifeSpan  =  json [ ' lifeSpan ' ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( json [ ' modelDefRelatedDefects ' ]  ! =  null )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      modelDefRelatedDefects  =  [ ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      json [ ' modelDefRelatedDefects ' ] . forEach ( ( v )  { 
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        modelDefRelatedDefects ! . add ( ModelDefRelatedDefects . fromJson ( v ) ) ;  // Use '!' since modelDefRelatedDefects is initialized here
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( json [ ' suppliers ' ]  ! =  null )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      suppliers  =  [ ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      json [ ' suppliers ' ] . forEach ( ( v )  { 
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        suppliers ! . add ( Supplier . fromJson ( v ) ) ;  // Use '!' since suppliers is initialized here
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  num ?  id ;  // Now nullable
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  String ?  assetName ;  // Now nullable
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  String ?  assetDescription ;  // Now nullable
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  String ?  modelDefCode ;  // Now nullable
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  String ?  modelName ;  // Now nullable
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  num ?  manufacturerId ;  // Now nullable
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  String ?  manufacturerName ;  // Now nullable
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  String ?  supplierName ;  // Remains dynamic asit can hold various types
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  String ?  replacementDate ;  // Now nullable
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  String ?  essentialEquipement ;  // Now nullable
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  String ?  businessCritical ;  // Now nullable
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  num ?  lifeSpan ;  // Now nullable
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  List < ModelDefRelatedDefects > ?  modelDefRelatedDefects ;  // Now nullable
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  List < Supplier > ?  suppliers ;  // Now nullable
 
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  // ... (copyWith method remains the same, just with nullable parameters)
 
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  Map < String ,  dynamic >  toJson ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    final  map  =  < String ,  dynamic > { } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    map [ ' id ' ]  =  id ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    map [ ' assetName ' ]  =  assetName ; 
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    // ... (rest of the toJson method remains the same, no need for null-aware operator here as properties are already checked for null in the if conditions)
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( modelDefRelatedDefects  ! =  null )  { 
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      map [ ' modelDefRelatedDefects ' ]  =  modelDefRelatedDefects ! . map ( ( v )  = >  v . toJson ( ) ) . toList ( ) ;  // Use '!' since modelDefRelatedDefects could be null
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( suppliers  ! =  null )  { 
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      map [ ' suppliers ' ]  =  suppliers ! . map ( ( v )  = >  v . toJson ( ) ) . toList ( ) ;  // Use '!' since suppliers could be null
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  map ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								class  ModelDefRelatedDefects  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  ModelDefRelatedDefects ( { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    this . id , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    this . defectName , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    this . workPerformed , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    this . estimatedTime , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  ModelDefRelatedDefects . fromJson ( dynamic  json )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    id  =  json [ ' id ' ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    defectName  =  json [ ' defectName ' ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    workPerformed  =  json [ ' workPerformed ' ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    estimatedTime  =  json [ ' estimatedTime ' ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  num ?  id ;  // Now nullable
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  String ?  defectName ;  // Now nullable
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  String ?  workPerformed ;  // Now nullable
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  String ?  estimatedTime ;  // Now nullable
 
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  // ... (copyWith method remains the same, just with nullable parameters)
 
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  Map < String ,  dynamic >  toJson ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    final  map  =  < String ,  dynamic > { } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    map [ ' id ' ]  =  id ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    map [ ' defectName ' ]  =  defectName ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    map [ ' workPerformed ' ]  =  workPerformed ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    map [ ' estimatedTime ' ]  =  estimatedTime ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  map ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}