public static void InsertDataMonogDB()
        {
            var connectionStr = "mongodb://localhost";
            var client = new MongoClient(connectionStr);
            var server = client.GetServer();
            var db = server.GetDatabase("supermarketExtra");

            //Insert Vendor
            var expenses = db.GetCollection<MongoVendorExpense>(vendorCollectionString);
            var obj = new MongoVendorExpense() { VendorName = "Svoge", Month = 3, Year = 1998, Amount = 200 };
            expenses.Insert<MongoVendorExpense>(obj);

            //Insert products reports
            var prodReport = db.GetCollection<MongoProductReport>(productColelctionString);
            var bira1 = new MongoProductReport()
            {
                ProductId = 3,
                ProductName = "Zagorka",
                VendorName = "Svoge",
                TotalIncomes = 234,
                TotalQuantitySold = 14
            };

            var bira2 = new MongoProductReport()
            {
                ProductId = 2,
                ProductName = "Kamenitza",
                VendorName = "Svoge",
                TotalIncomes = 334,
                TotalQuantitySold = 14
            };

            var bira3 = new MongoProductReport()
            {
                ProductId = 1,
                ProductName = "Amstel",
                VendorName = "Svoge",
                TotalIncomes = 14,
                TotalQuantitySold = 14
            };

            var bira4 = new MongoProductReport()
            {
                ProductId = 5,
                ProductName = "Korola",
                VendorName = "Svoge",
                TotalIncomes = 2234,
                TotalQuantitySold = 14
            };

            prodReport.Insert<MongoProductReport>(bira1);
            prodReport.Insert<MongoProductReport>(bira2);
            prodReport.Insert<MongoProductReport>(bira3);
            prodReport.Insert<MongoProductReport>(bira4);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Method for extracting expenses reports in XML format
        /// </summary>
        /// <param name="filePath">Filepath for the .xml file</param>
        public static void ReadVendorMonthlyExpenses(string filePath)
        {
            XmlReader reader = XmlReader.Create(filePath);

            List<MongoVendorExpense> mongoVendorExpensesList = new List<MongoVendorExpense>();

            using (var msSQLServerContext = new SupermarketEntities())
            {
                using (reader)
                {
                    int vendorId = 0;

                    while (reader.Read())
                    {
                        //Insert a new vendor
                        if (reader.NodeType == XmlNodeType.Element && reader.Name == "sale")
                        {
                            string vendorName = reader.GetAttribute("vendor");
                            var vendor = msSQLServerContext.Vendors.FirstOrDefault(v => v.VendorName == vendorName);

                            if (vendor == null)
                            {
                                // the vendor doesn't exist
                                vendor = new Vendor
                                {
                                    VendorName = vendorName
                                };

                                msSQLServerContext.Vendors.Add(vendor);
                                msSQLServerContext.SaveChanges();
                            }

                            vendorId = vendor.VendorId;
                        }

                        //Insert Expenses
                        if (reader.NodeType == XmlNodeType.Element && reader.Name == "expenses")
                        {
                            string month = reader.GetAttribute("month");
                            DateTime monthAsDate = DateTime.ParseExact(month, "MMM-yyyy", CultureInfo.InvariantCulture);

                            decimal amount = reader.ReadElementContentAsDecimal();

                            var vendorMonthlyExpense = new VendorExpense
                            {
                                VendorId = vendorId,
                                Month = monthAsDate.Month,
                                Year = monthAsDate.Year,
                                Amount = amount
                            };

                            var mongoVendorExpense = new MongoVendorExpense
                            {
                                VendorId = vendorId,
                                Month = monthAsDate.Month,
                                Year = monthAsDate.Year,
                                Amount = amount
                            };

                            mongoVendorExpensesList.Add(mongoVendorExpense);
                            msSQLServerContext.VendorExpenses.Add(vendorMonthlyExpense);
                        }
                    }
                }

                MongoDBManager<MongoVendorExpense> mongoDBInserter = new MongoDBManager<MongoVendorExpense>();
                mongoDBInserter.InsertInMongoDB(mongoVendorExpensesList, "VendorExpenses");

                msSQLServerContext.SaveChanges();
            }
        }