@@ -99,13 +99,30 @@ public static void Seed(DataContext dbContext)
9999 dbContext . SaveChanges ( ) ;
100100 }
101101
102+ //Seed Territories
103+ if ( ! dbContext . Territories . Any ( ) )
104+ {
105+ var territoriesData = File . ReadAllText ( "./Resources/territories.json" ) ;
106+ var parsedTerritories = JsonConvert . DeserializeObject < TerritoryDb [ ] > ( territoriesData ) ;
107+
108+ dbContext . Territories . AddRange ( parsedTerritories ) ;
109+ dbContext . SaveChanges ( ) ;
110+ }
111+
102112 //Seed Regions
103113 if ( ! dbContext . Regions . Any ( ) )
104114 {
105115 var productsData = File . ReadAllText ( "./Resources/regions.json" ) ;
106116 var parsedRegions = JsonConvert . DeserializeObject < RegionDb [ ] > ( productsData ) ;
107117
108- dbContext . Regions . AddRange ( parsedRegions ) ;
118+
119+ foreach ( var region in parsedRegions )
120+ {
121+ var matchingTerritories = dbContext . Territories . Where ( t => t . RegionId == region . RegionId ) . ToList ( ) ;
122+ region . Territories = matchingTerritories ;
123+
124+ dbContext . Regions . Add ( region ) ;
125+ }
109126 dbContext . SaveChanges ( ) ;
110127 }
111128
@@ -115,7 +132,14 @@ public static void Seed(DataContext dbContext)
115132 var shippersData = File . ReadAllText ( "./Resources/shippers.json" ) ;
116133 var parsedShippers = JsonConvert . DeserializeObject < ShipperDb [ ] > ( shippersData ) ;
117134
118- dbContext . Shippers . AddRange ( parsedShippers ) ;
135+ foreach ( var shipper in parsedShippers )
136+ {
137+ var matchingOrders = dbContext . Orders . Where ( o => o . ShipperId == shipper . ShipperId ) . ToList ( ) ;
138+ shipper . Orders = matchingOrders ;
139+
140+ dbContext . Shippers . Add ( shipper ) ;
141+ }
142+
119143 dbContext . SaveChanges ( ) ;
120144 }
121145
@@ -125,17 +149,14 @@ public static void Seed(DataContext dbContext)
125149 var suppliersData = File . ReadAllText ( "./Resources/suppliers.json" ) ;
126150 var parsedSuppliers = JsonConvert . DeserializeObject < SupplierDb [ ] > ( suppliersData ) ;
127151
128- dbContext . Suppliers . AddRange ( parsedSuppliers ) ;
129- dbContext . SaveChanges ( ) ;
130- }
152+ foreach ( var supplier in parsedSuppliers )
153+ {
154+ var matchingProducts = dbContext . Products . Where ( p => p . SupplierId == supplier . SupplierId ) . ToList ( ) ;
155+ supplier . Products = matchingProducts ;
131156
132- //Seed Territories
133- if ( ! dbContext . Territories . Any ( ) )
134- {
135- var territoriesData = File . ReadAllText ( "./Resources/territories.json" ) ;
136- var parsedTerritories = JsonConvert . DeserializeObject < TerritoryDb [ ] > ( territoriesData ) ;
157+ dbContext . Suppliers . Add ( supplier ) ;
158+ }
137159
138- dbContext . Territories . AddRange ( parsedTerritories ) ;
139160 dbContext . SaveChanges ( ) ;
140161 }
141162
0 commit comments