private static void GenerateData(string path) { var contextCreator = new TransactionContextCreator(GetSqliteConnectionString(path)); var featureManager = new FeatureManager(); if (!File.Exists(path)) { // Create the schema FeatureManager.CreateSchema(contextCreator.Create); } // Load the manager featureManager.Load(contextCreator.Create); // TODO : !!! // Generate exceptions // Generate more scenarios var s = Stopwatch.StartNew(); //var scenarios = new[] //{ // GetUploadImageFeature(), // GetDownloadImageFeature(), // GetLoadImagesAsync(), // GetDeleteImageAsync(), // GetSetAsDefaultAsync(), // GetCreateActivityData(), //}; //foreach (var data in scenarios) //{ // featureManager.MarkUsageAsync(data); // //featureManager.Write(data); //} var f = Feature.StartNew(@"Images", @"Upload"); try { throw new Exception(@"Unable to display feature"); featureManager.Write(f); } catch (Exception ex) { featureManager.Write(f, ex); } s.Stop(); Console.WriteLine(s.ElapsedMilliseconds); }
public static void Main(string[] args) { var freshDbPath = @"C:\Users\PetarPetrov\Desktop\data.sqlite"; var clientDbPath = @"C:\Users\PetarPetrov\Desktop\features.sqlite"; var serverDbPath = @"C:\Users\PetarPetrov\Desktop\server.sqlite"; try { //var addViewModel = new AddActivityViewModel(new ActivityCreator(), new ConsoleDialog()); //using (var dbContext = new TransactionContextCreator(string.Empty).Create()) //{ // var modelData = new AddActivityViewModelData(dbContext); // modelData.Load(); // addViewModel.Load(modelData); // dbContext.Complete(); //} var context = new AppContext((msg, level) => { Console.WriteLine(level + @":" + msg); }, () => new DbContext(GetSqliteConnectionString(freshDbPath)), new ConsoleDialog()); var module = new AppModule(context); module.Init(); module.Load(); return; if (!File.Exists(serverDbPath)) { CreateSchema(GetSqliteConnectionString(serverDbPath)); } foreach (var date in new[] { DateTime.Today.AddDays(-10), DateTime.Today.AddDays(-9), DateTime.Today.AddDays(-8), DateTime.Today.AddDays(-7), DateTime.Today.AddDays(-6), DateTime.Today.AddDays(-5), DateTime.Today.AddDays(-4), DateTime.Today.AddDays(-3), DateTime.Today.AddDays(-2), DateTime.Today.AddDays(-1), DateTime.Today, }) { ClientDataReplication.SimulateDay(serverDbPath, date); } var fm = new FeatureManager(); fm.Load(null); return; //GenerateData(clientDbPath); //return; //WeatherTest(); //return; if (!File.Exists(serverDbPath)) { CreateSchema(GetSqliteConnectionString(serverDbPath)); } var w = Stopwatch.StartNew(); GenerateData(clientDbPath); Console.WriteLine(@"Load client data"); var s = Stopwatch.StartNew(); ClientData clientData; using (var client = new TransactionContextCreator(GetSqliteConnectionString(clientDbPath)).Create()) { clientData = FeatureAdapter.GetData(client); clientData.FeatureEntryRows.Clear(); client.Complete(); } File.Delete(clientDbPath); s.Stop(); Console.WriteLine(s.ElapsedMilliseconds); ServerData serverData; using (var client = new TransactionContextCreator(GetSqliteConnectionString(serverDbPath)).Create()) { serverData = FeatureServerManager.GetServerData(client); client.Complete(); } while (true) { s.Restart(); Replicate(GetSqliteConnectionString(serverDbPath), clientData, serverData); s.Stop(); Console.WriteLine(s.ElapsedMilliseconds); //Console.ReadLine(); } w.Stop(); Console.WriteLine(w.ElapsedMilliseconds); return; var viewModel = new ExceptionsViewModel( new TransactionContextCreator(GetSqliteConnectionString(serverDbPath)).Create, ExceptionsSettings.Default); for (var i = 0; i < 100; i++) { viewModel.Load( ExceptionsDataProvider.GetTimePeriods, ExceptionsDataProvider.GetVersions, ExceptionsDataProvider.GetExceptions, ExceptionsDataProvider.GetExceptionsCounts); } w.Stop(); Console.WriteLine(w.ElapsedMilliseconds); Console.WriteLine(@"Time Periods"); foreach (var v in viewModel.TimePeriods) { Console.WriteLine('\t' + string.Empty + v.Name); } Console.WriteLine(); Console.WriteLine(@"Versions"); foreach (var v in viewModel.Versions) { Console.WriteLine('\t' + string.Empty + v.Name); } Console.WriteLine(); Console.WriteLine(@"Exceptions"); foreach (var vm in viewModel.LatestExceptions) { Console.WriteLine('\t' + string.Empty + new string(vm.Message.Take(40).ToArray()) + $@"... ({vm.CreatedAt.ToString(@"T")}) " + vm.User.Name + $@"({vm.Version.Name})"); } Console.WriteLine(); return; //SearchSourceCode(); //return; //DisplayHistogram(); //return; //GenerateDayReport(serverDbPath); // } catch (Exception ex) { Console.WriteLine(ex); } return; var c = @"Data Source = C:\Users\PetarPetrov\Desktop\ifsa.sqlite; Version = 3;"; ClientData data; using (var client = new TransactionContextCreator(c).Create()) { data = FeatureAdapter.GetData(client); client.Complete(); } data.FeatureEntryRows.Add(new DbFeatureEntryRow(@"#", DateTime.Today.AddDays(-1), -4)); //var s = Stopwatch.StartNew(); //var result = ClientDataPacker.Pack(data); //s.Stop(); //Console.WriteLine(s.ElapsedMilliseconds); //s.Restart(); //var back = ClientDataPacker.Unpack(result); //s.Stop(); //Console.WriteLine(s.ElapsedMilliseconds); //Console.WriteLine(back); //Console.WriteLine(); //Console.WriteLine(); //Console.WriteLine(); //Console.WriteLine(result.Length); return; //GenerateProject(PhoenixModel(), @"C:\temp\IfsaBuilder\IfsaBuilder\Phoenix"); //GenerateProject(WordpressModel(), @"C:\temp\IfsaBuilder\IfsaBuilder\Wordpress"); //var prj = new ClrProject(); //prj.Save(@"C:\temp\IfsaBuilder\IfsaBuilder\", project); //var AppContext = new AppContext(); //AppContext.DbContextCreator = new TransactionContextCreator(string.Empty); //AppContext.ModalDialog = new ConsoleDialog(); //var viewModel = new LoginsViewModel(AppContext, new LoginAdapter()); //try //{ // viewModel.InsertAsync(new Login(1, @"PPetrov", @"Password", DateTime.Now, false)).Wait(); // Console.WriteLine(@"Done"); //} //catch (Exception ex) //{ // Console.WriteLine(ex); //} //return; //// Register helpers //var cache = AppContext.DataCache; //cache.Add(new BrandHelper()); //cache.Add(new FlavorHelper()); //cache.Add(new ArticleHelper()); //try //{ // File.WriteAllText(@"C:\temp\diagnostics.txt", string.Empty); // //var viewModel = new LoginsViewModel(AppContext, new LoginAdapter()); // //viewModel.LoadData(); // //var v = new LoginViewModel(new Login(1, @"PPetrov", @"QWE234!", DateTime.Now, true)); // //var dialog = new ConsoleDialog(); // //viewModel.AddAsync(v, dialog).Wait(); // //viewModel.AddAsync(v, dialog).Wait(); // //viewModel.ChangePasswordAsync(v, dialog, @"sc1f1r3hack").Wait(); // //viewModel.AddAsync(v, dialog).Wait(); // //viewModel.ChangePasswordAsync(v, dialog, @"sc1f1r3hackV2").Wait(); // //foreach (var login in viewModel.Logins) // //{ // // Console.WriteLine(login.Name + " " + v.Password); // //} //} //catch (Exception e) //{ // Console.WriteLine(e); //} }