public static List<DummyOrder> RandomDummyOrders(int nrOrders, RavenDbConnection dbConnection) { var result = new List<DummyOrder>(); DateTime time = _start.AddDays(gen.Next(range)); var clientsList = dbConnection.GetClients(1, 15).Results; for (int i = 0; i < nrOrders; ++i) { var client = clientsList[gen.Next(clientsList.Count)]; result.Add(new DummyOrder(client.Id, client.FirstName, client.LastName, client.Country, null, null, DateTime.Now)); } foreach (var order in result) { int nrProducts = gen.Next(1, 5); for (int i = 0; i < nrProducts; ++i) order.AddProduct(_products[gen.Next(_products.Count)], Math.Round(gen.NextDouble() * 300,2)); int bankId = gen.Next(_banks.Count()); order.AddPayment(_banks[bankId] + "/" + (++_transactions[bankId]), Math.Round(gen.NextDouble() * -order.Balance,2)); order.AddPayment(_banks[bankId] + "/" + (++_transactions[bankId]), Math.Round(gen.NextDouble() * -order.Balance,2)); } return result; }
private static void Main(string[] args) { var manager = new ConnectionManager(); var dbConnector = new RavenDbConnection(manager); const bool _populating = false; const int _nrClients = 100000; const bool _reading = true; const int _page = 6; const int _itemsPerPage = 10000; const bool _deleting = false; const bool _order = false; #region Populate ClientsDB if (_populating) { var clients = RandomClients(_nrClients); DateTime time = _start.AddDays(gen.Next(range)); dbConnector.AddClients(clients); } #endregion #region Reading the data base if (_reading) { ShardedResults<Client> list = dbConnector.GetClients(_page, _itemsPerPage); foreach (var client in list.Results) { Console.WriteLine(client.ToString()); } if (list.ErrorConnectionStrings.Count > 0) { Console.WriteLine("Failed Connections"); foreach (var conectionStringName in list.ErrorConnectionStrings) { Console.WriteLine(conectionStringName); } } } #endregion #region Clearing the data base if (_deleting) { //ShardedResults<Client> list = dbConnector.GetClients(_page, _itemsPerPage); dbConnector.DeleteAllClients(); } #endregion #region Simulating several orders if (_order) { var order = new Order("Rest/clients/671603", "Albert", "Solberg", "Norway", null, null, DateTime.Now); order.AddProduct("Mouse", 15.50); order.AddProduct("Cable", 3.25); order.AddPayment("PKO-01", 17.75); dbConnector.AddOrder(order); } //var orderList = RandomOrders(90000,dbConnector); //dbConnector.AddOrders(orderList); var example = dbConnector.GetOrder("orders/250000"); //var olist = dbConnector.GetOrders(2, 15); //dbConnector.DeleteAllOrders(); #endregion Console.Write("End of program. Press any key to exit the application..."); Console.ReadKey(); }