private static void GenerateXmlReports(string pathToSave) { using (var db = new ChemicalsDbContext()) { var manufacturers = (from man in db.Manufacturers.Include("Name") join p in db.Produces on man.Id equals p.ManufacturerId join pr in db.Products.Include("Name").Include("Formula") on p.ProductId equals pr.Id select new { ManufacturerName = man.Name, ProductName = pr.Name, Amount = p.Amount, Formula = pr.Formula }).ToList(); var manufacturersList = new List <XmlManufacturer>(); var productsList = new List <XmlProduct>(); foreach (var manufacturer in manufacturers) { productsList.Add(new XmlProduct { Name = manufacturer.ProductName, Amout = manufacturer.Amount, Formula = manufacturer.Formula }); var currentManufacturer = new XmlManufacturer { Name = manufacturer.ManufacturerName, Products = productsList }; manufacturersList.Add(currentManufacturer); } var report = new XmlReportModel { Manufacturers = manufacturersList }; var reportGenerator = new XmlReportGenerator(); reportGenerator.ExportXmlReport(report, pathToSave); } Console.WriteLine("The report was successfully generated."); }
private static void GenerateXmlReports(string pathToSave) { using (var db = new ChemicalsDbContext()) { var manufacturers = (from man in db.Manufacturers.Include("Name") join p in db.Produces on man.Id equals p.ManufacturerId join pr in db.Products.Include("Name").Include("Formula") on p.ProductId equals pr.Id select new { ManufacturerName = man.Name, ProductName = pr.Name, Amount = p.Amount, Formula = pr.Formula }).ToList(); var manufacturersList = new List<XmlManufacturer>(); var productsList = new List<XmlProduct>(); foreach (var manufacturer in manufacturers) { productsList.Add(new XmlProduct { Name = manufacturer.ProductName, Amout = manufacturer.Amount, Formula = manufacturer.Formula }); var currentManufacturer = new XmlManufacturer { Name = manufacturer.ManufacturerName, Products = productsList }; manufacturersList.Add(currentManufacturer); } var report = new XmlReportModel { Manufacturers = manufacturersList }; var reportGenerator = new XmlReportGenerator(); reportGenerator.ExportXmlReport(report, pathToSave); } Console.WriteLine("The report was successfully generated."); }