public static void LoadVendorExpenses() { XmlDocument doc = new XmlDocument(); doc.Load("../../../Vendors-Expenses.xml"); XmlNode rootNode = doc.DocumentElement; List<Expens> expenses = new List<Expens>(); using (var db = new SupermarketEntities()) { string vendorName; var mongoClient = new MongoClient("mongodb://localhost/"); var mongoServer = mongoClient.GetServer(); var productReports = mongoServer.GetDatabase("Product-Reports"); var reports = productReports.GetCollection("expenses"); foreach (XmlNode item in rootNode.ChildNodes) { XmlAttribute atr = item.Attributes[0]; vendorName = atr.Value; int id = db.Vendors.Where(x => x.VendorName == vendorName).Select(x => x.ID).FirstOrDefault(); foreach (XmlNode node in item.ChildNodes) { Expens expense = new Expens(); string atrDate = node.Attributes[0].Value.ToString(); string dateFormat = "MMM-yyyy"; DateTime date = DateTime.ParseExact(atrDate, dateFormat, CultureInfo.InvariantCulture); decimal expenseValue = decimal.Parse(node.InnerText); expense.Date = date; expense.Expenses = expenseValue; expense.VendorId = id; expenses.Add(expense); ExpenseByName expenseByName = new ExpenseByName(); expenseByName.VendorName = vendorName; expenseByName.Date = expense.Date; expenseByName.Expenses = expense.Expenses; reports.Insert(expenseByName); } } foreach (Expens item in expenses) { db.Expenses.Add(item); } db.SaveChanges(); WriteToSqlLite(reports); } }
public static void LoadVendorExpenses() { XmlDocument doc = new XmlDocument(); doc.Load("../../../Vendors-Expenses.xml"); XmlNode rootNode = doc.DocumentElement; List <Expens> expenses = new List <Expens>(); using (var db = new SupermarketEntities()) { string vendorName; var mongoClient = new MongoClient("mongodb://localhost/"); var mongoServer = mongoClient.GetServer(); var productReports = mongoServer.GetDatabase("Product-Reports"); var reports = productReports.GetCollection("expenses"); foreach (XmlNode item in rootNode.ChildNodes) { XmlAttribute atr = item.Attributes[0]; vendorName = atr.Value; int id = db.Vendors.Where(x => x.VendorName == vendorName).Select(x => x.ID).FirstOrDefault(); foreach (XmlNode node in item.ChildNodes) { Expens expense = new Expens(); string atrDate = node.Attributes[0].Value.ToString(); string dateFormat = "MMM-yyyy"; DateTime date = DateTime.ParseExact(atrDate, dateFormat, CultureInfo.InvariantCulture); decimal expenseValue = decimal.Parse(node.InnerText); expense.Date = date; expense.Expenses = expenseValue; expense.VendorId = id; expenses.Add(expense); ExpenseByName expenseByName = new ExpenseByName(); expenseByName.VendorName = vendorName; expenseByName.Date = expense.Date; expenseByName.Expenses = expense.Expenses; reports.Insert(expenseByName); } } foreach (Expens item in expenses) { db.Expenses.Add(item); } db.SaveChanges(); WriteToSqlLite(reports); } }