private IList <Brand> GetVehicleDetails() { XmlSerializer deserializer = new XmlSerializer(typeof(BrandObjects)); #if NETCORE TextReader textReader = new StreamReader(@"..\..\..\..\..\..\..\common\Data\XlsIO\ExportData.xml"); #else TextReader textReader = new StreamReader(@"..\..\..\..\..\..\common\Data\XlsIO\ExportData.xml"); #endif BrandObjects brands = (BrandObjects)deserializer.Deserialize(textReader); List <Brand> list = new List <Brand>(); string brandName = brands.BrandObject[0].BrandName; string vehicleType = brands.BrandObject[0].VahicleType; string modelName = brands.BrandObject[0].ModelName; Brand brand = new Brand(brandName); brand.VehicleTypes = new List <VehicleType>(); VehicleType vehicle = new VehicleType(vehicleType); vehicle.Models = new List <Model>(); Model model = new Model(modelName); brand.VehicleTypes.Add(vehicle); list.Add(brand); foreach (BrandObject brandObj in brands.BrandObject) { if (brandName == brandObj.BrandName) { if (vehicleType == brandObj.VahicleType) { vehicle.Models.Add(new Model(brandObj.ModelName)); continue; } else { vehicle = new VehicleType(brandObj.VahicleType); vehicle.Models = new List <Model>(); vehicle.Models.Add(new Model(brandObj.ModelName)); brand.VehicleTypes.Add(vehicle); vehicleType = brandObj.VahicleType; } continue; } else { brand = new Brand(brandObj.BrandName); vehicle = new VehicleType(brandObj.VahicleType); vehicle.Models = new List <Model>(); vehicle.Models.Add(new Model(brandObj.ModelName)); brand.VehicleTypes = new List <VehicleType>(); brand.VehicleTypes.Add(vehicle); vehicleType = brandObj.VahicleType; list.Add(brand); brandName = brandObj.BrandName; } } textReader.Close(); return(list); }
//Helper Method private IList <Brand> GetVehicleDetails() { XmlSerializer deserializer = new XmlSerializer(typeof(BrandObjects)); //Read data from XML file. TextReader textReader = new StreamReader(@"..\..\Data\ExportData.xml"); BrandObjects brands = (BrandObjects)deserializer.Deserialize(textReader); //Initialize parent collection to add data from XML file. List <Brand> list = new List <Brand>(); string brandName = brands.BrandObject[0].BrandName; string vehicleType = brands.BrandObject[0].VehicleType; string modelName = brands.BrandObject[0].ModelName; //Parent class Brand brand = new Brand(brandName); brand.VehicleTypes = new List <VehicleType>(); VehicleType vehicle = new VehicleType(vehicleType); vehicle.Models = new List <Model>(); Model model = new Model(modelName); brand.VehicleTypes.Add(vehicle); list.Add(brand); foreach (BrandObject brandObj in brands.BrandObject) { if (brandName == brandObj.BrandName) { if (vehicleType == brandObj.VehicleType) { vehicle.Models.Add(new Model(brandObj.ModelName)); continue; } else { vehicle = new VehicleType(brandObj.VehicleType); vehicle.Models = new List <Model>(); vehicle.Models.Add(new Model(brandObj.ModelName)); brand.VehicleTypes.Add(vehicle); vehicleType = brandObj.VehicleType; } continue; } else { brand = new Brand(brandObj.BrandName); vehicle = new VehicleType(brandObj.VehicleType); vehicle.Models = new List <Model>(); vehicle.Models.Add(new Model(brandObj.ModelName)); brand.VehicleTypes = new List <VehicleType>(); brand.VehicleTypes.Add(vehicle); vehicleType = brandObj.VehicleType; list.Add(brand); brandName = brandObj.BrandName; } } textReader.Close(); return(list); }