//PDFGenerator.GeneratePDF();
        static void ProductReportsToJsonAndMongo()
        {
            ParadiseSupermarketChainEntities sqlCon = new ParadiseSupermarketChainEntities();
            var query =
                from product in sqlCon.Products
                join vendor in sqlCon.Vendors on
                product.VendorId equals vendor.Id
                join sale in sqlCon.Sales on
                product.Id equals sale.ProductId
                join date in sqlCon.Dates on
                sale.DateId equals date.Id
                orderby product.Id
                select new
                {
                    Id = product.Id,
                    Name = product.Name,
                    Quantity = sale.Quantity,
                    Sum = sale.Sum,
                    VendorName = vendor.Name,
                    Date = date.Date
                };

            Dictionary<int, Tuple<string, int, decimal, string, DateTime>> collection = new Dictionary<int, Tuple<string, int, decimal, string, DateTime>>();

            foreach (var item in query)
            {
                if (!collection.ContainsKey(item.Id))
                {
                    collection.Add(item.Id, new Tuple<string, int, decimal, string, DateTime>((string)item.Name, (int)item.Quantity, (decimal)item.Sum, (string)item.VendorName, (DateTime)item.Date));
                    continue;
                }

                int newQuantity = collection[item.Id].Item2 + (int)item.Quantity;
                decimal newSum = collection[item.Id].Item3 + item.Sum;

                collection[item.Id] = new Tuple<string, int, decimal, string, DateTime>((string)item.Name, newQuantity, newSum, (string)item.VendorName, (DateTime)item.Date);
            }

            foreach (var item in collection)
            {
                JSON.Extract(item.Key, item.Value.Item1, item.Value.Item4, item.Value.Item2, item.Value.Item3);
                MongoWriter mongoWriter = new MongoWriter("Products");
                mongoWriter.WriteProduct(item.Key, item.Value.Item1, item.Value.Item4, item.Value.Item2, item.Value.Item3, item.Value.Item5);
            }
        }
        static void LoadVendor()
        {
            ParadiseSupermarketChainEntities sqlCon = new ParadiseSupermarketChainEntities();
            using (sqlCon)
            {
                MongoWriter mongo = new MongoWriter("Expenses");
                XmlReader reader = new XmlReader("E:\\Vendor-Expenses.xml");
                while (reader.ReadNextSale())
                {
                    while (reader.ReadNextExpenses())
                    {
                        mongo.WriteExpenses(reader.Vendor, reader.Month, reader.Expenses);
                        var expence = new EntityFramework.Data.Expenses()
                        {
                            Expenses1 = decimal.Parse(reader.Expenses),
                            ExpensesDate = DateTime.Parse(reader.Month)
                        };
                        int vendorIdd = 1;
                        var VendorId =
                           from vendor in sqlCon.Vendors
                           where vendor.Name == reader.Vendor
                           select new
                              {
                                  Id = vendor.Id
                              };
                        var vendorIdc = sqlCon.Vendors.Where(v => v.Name == reader.Vendor).FirstOrDefault();

                        expence.VendorId = vendorIdd;

                        sqlCon.Expenses.Add(expence);
                        sqlCon.SaveChanges();
                    }
                }
            }
        }