private static void ResetSchema(TransactionContextCreator contextCreator) { try { using (var ctx = contextCreator.Create()) { FeatureManager.DropSchema(ctx); ctx.Complete(); } } catch (Exception _) { } try { using (var ctx = contextCreator.Create()) { FeatureManager.CreateSchema(ctx); ctx.Complete(); } } catch (Exception _) { } }
public static void Replicate() { try { var contextCreator = new TransactionContextCreator(@"Data Source = C:\Users\PetarPetrov\Desktop\server.sqlite; Version = 3;"); var clientData = new ClientData(); clientData.Add(new Dictionary <string, FeatureContextRow> { { @"Agenda", new FeatureContextRow(1, @"Agenda") } }); clientData.Add(new[] { new FeatureExceptionRow(1, @"new exception : stack trace => ..."), }); clientData.Add(new Dictionary <long, List <FeatureRow> >() { { 1, new List <FeatureRow>() { new FeatureRow(1, @"Add Activity", 1), new FeatureRow(2, @"Close Activity", 1), new FeatureRow(3, @"Cancel Activity", 1), } }, }); clientData.Add(new[] { new FeatureEntryRow(2, "N/A", DateTime.Now), new FeatureEntryRow(3, "Sick", DateTime.Now) }); clientData.Add(new[] { new FeatureExceptionEntryRow(1, DateTime.Today.AddDays(-1), 1), }); //ResetSchema(contextCreator); var s = Stopwatch.StartNew(); using (var ctx = contextCreator.Create()) { //FeatureServerManager.CreateSchema(ctx); for (var i = 0; i < 1; i++) { FeatureManager.Replicate(ctx, @"BG900343", @"1.0.0.0", clientData.GetBytes()); } ctx.Complete(); } s.Stop(); Console.WriteLine(s.ElapsedMilliseconds); } catch (Exception ex) { Console.WriteLine(ex); } }
private static void GenerateData(string path) { var contextCreator = new TransactionContextCreator(GetSqliteConnectionString(path)); var featureManager = new Atos.Client.Features.FeatureManager(() => contextCreator.Create()); if (!File.Exists(path)) { // Create the schema Atos.Client.Features.FeatureManager.CreateSchema(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 = new Feature(@"Images", @"Upload"); try { throw new Exception(@"Unable to display feature"); featureManager.Save(f); } catch (Exception ex) { featureManager.Save(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 pth = @"C:\Users\PetarPetrov\AppData\Local\Packages\FSAforWindows8_g87ygcespgq1j\LocalState\ifsa.sqlite"; var data = File.ReadAllBytes(pth); var dbString = Convert.ToBase64String(data); var l = dbString.Length; //var rules = new[] //{ // new SourceCodeRule(@"Class must be sealed or abstract", cts => // { // return cts.IndexOf(@"public class", 0, StringComparison.OrdinalIgnoreCase) >= 0; // }), // new SourceCodeRule(@"No structs", cts => // { // return cts.IndexOf(@" struct ", 0, StringComparison.OrdinalIgnoreCase) >= 0; // }), // new SourceCodeRule(@"Interface must start with an 'I'", cts => // { // var flag = @"public interface "; // var index = cts.IndexOf(flag, StringComparison.OrdinalIgnoreCase); // if (index >= 0) // { // var name = cts.Substring(index + flag.Length); // return !name.StartsWith(@"I", StringComparison.OrdinalIgnoreCase); // } // return false; // }), // new SourceCodeRule(@"Only one class/enum/interface per file", cts => // { // var definitions = 0; // foreach (var flag in new[] // { // @"public sealed class ", // @"public interface ", // @"public enum ", // }) // { // definitions += Count(cts, flag); // if (definitions > 1) // { // return true; // } // } // return definitions > 1; // }), //}; var sw = Stopwatch.StartNew(); var projectFile = @"C:\Sources\Atos\Atos.iFSA\Atos.iFSA.csproj"; projectFile = @"C:\Sources\Atos\Atos.Client\Atos.Client.csproj"; //projectFile = @"C:\Cchbc\PhoenixClient\Metro\iFSA Metro 8.1\iFSA Metro\iFSA.csproj"; var rules = SourceCodeRules.General; var sourceProject = GetSourceProject(projectFile); sourceProject.Apply(rules); sw.Stop(); Console.WriteLine(sw.ElapsedMilliseconds); foreach (var rule in rules) { Console.WriteLine(@" - " + rule.Name); foreach (var violation in rule.Violations) { Console.WriteLine("\t- " + violation.Filename); } Console.WriteLine(); } return; //var dataUser = default(User); //var c = Convert.ToBase64String(File.ReadAllBytes(@"C:\Users\PetarPetrov\Desktop\burn.jpg")); //Console.WriteLine(c); //var provider = UserDataProvider.GetUsers(null); //var h = DataHelper.GetTradeChannel(null, null, null); //public static TradeChannel GetTradeChannel(IDbContext context, DataCache cache, Outlet outlet) //{ // if (context == null) throw new ArgumentNullException(nameof(context)); // if (cache == null) throw new ArgumentNullException(nameof(cache)); // if (outlet == null) throw new ArgumentNullException(nameof(outlet)); // TradeChannel result; // cache.GetValues<TradeChannel>(context).TryGetValue(-1, out result); // return result ?? TradeChannel.Empty; //} //public static SubTradeChannel GetSubTradeChannel(IDbContext context, DataCache cache, Outlet outlet) //{ // if (context == null) throw new ArgumentNullException(nameof(context)); // if (cache == null) throw new ArgumentNullException(nameof(cache)); // if (outlet == null) throw new ArgumentNullException(nameof(outlet)); // SubTradeChannel result; // cache.GetValues<SubTradeChannel>(context).TryGetValue(-1, out result); // return result ?? SubTradeChannel.Empty; //} //FeatureDataReplicaSimulation.Replicate(); //Console.WriteLine(ExtractContractField(@"comment")); //Console.WriteLine(ExtractContractField(@"h_t_outlets_name2")); //Console.WriteLine(ExtractContractField(@"h_atp_tax1_no")); //Console.WriteLine(ExtractContractField(@"contact_persons_2")); //Console.WriteLine(data); //foreach (var f in Directory.GetFiles(@"C:\Users\PetarPetrov\Desktop\HR_Refresher log")) //{ // if (f.IndexOf(".20170531", StringComparison.OrdinalIgnoreCase) < 0) // { // continue; // } // var contents = File.ReadAllText(f); // var start = contents.IndexOf(@"Activation(", StringComparison.OrdinalIgnoreCase); // if (start >= 0) // { // Console.WriteLine(f); // //var end = contents.IndexOf(@"Alcohol Licenses", start, StringComparison.OrdinalIgnoreCase); // //if (end >= 0) // //{ // // var val = contents.Substring(start, end - start); // //} // } //} //FeatureDataReplicaSimulation.Replicate(); return; var imgAsString = File.ReadAllBytes(@"C:\Users\PetarPetrov\Desktop\signature.jpg"); //imgAsString = File.ReadAllBytes(@"C:\Users\PetarPetrov\Desktop\signature.jpg"); var b64 = Convert.ToBase64String(imgAsString); Console.WriteLine(b64.Length); using (var client = new TransactionContextCreator(GetSqliteConnectionString(@"C:\Users\PetarPetrov\Desktop\BG000956.sqlite")).Create()) { foreach (var name in client.Execute(new Query <string>(@"SELECT name FROM sqlite_master WHERE type='table' order by name", dr => dr.GetString(0)))) { var localQuery = @"select count(*) from " + name + " where rec_status <> 1"; try { var v = client.Execute(new Query <int>(localQuery, r => r.GetInt32(0))).Single(); if (v != 0) { Console.WriteLine(name + " " + v); } } catch { Console.WriteLine(name); } } client.Complete(); } return; //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, // DateTime.Today.AddDays(-10) //}) //{ // ClientDataReplication.SimulateDay(serverDbPath, date); //} //return; return; //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); //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); } 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 ViewModel(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); //} }