public async Task TestFile() { #region arrange StringBuilder sb = new StringBuilder(); sb.AppendLine("model,Track_number"); sb.AppendLine("Ford,B325ROS"); sb.AppendLine("Audi,PL654CSM"); sb.AppendLine("BMW,B325DFH"); sb.AppendLine("Ford,B325IYS"); string filename = SimpleJobConditionalTransformersTest.DeleteFileIfExists("mycsv.csv"); File.WriteAllText(filename, sb.ToString()); var CSVfile = new ReceiverCSVFileInt(filename, Encoding.ASCII); await CSVfile.LoadData(); string filenameJSON = SimpleJobConditionalTransformersTest.DeleteFileIfExists("cars.json"); var sjons = new Sender_JSON(filenameJSON); sjons.valuesToBeSent = CSVfile.valuesRead; await sjons.Send(); #endregion #region act var f = new ReceiverJSONFileInt(filenameJSON, Encoding.UTF8); await f.LoadData(); #endregion #region assert f?.valuesRead?.Length.ShouldBe(4); f.valuesRead[0].Values["model"].ShouldBe("Ford"); f.valuesRead[0].Values["Track_number"].ShouldBe("B325ROS"); f.valuesRead[1].Values["model"].ShouldBe("Audi"); f.valuesRead[1].Values["Track_number"].ShouldBe("PL654CSM"); f.valuesRead[3].Values["Track_number"].ShouldBe("B325IYS"); #endregion }
private static void AddCompilationReferencesForRuntime() { var j = new SimpleJob(); var x = (Microsoft.Extensions.DependencyModel.Resolution.ICompilationAssemblyResolver)null; var RvCSV = new ReceiverCSV.ReceiverCSVFileInt("ASdsa", System.Text.Encoding.UTF8); var rvSql = new ReceiverDBSqlServer.ReceiverTableSQLServerInt((ReceiverDB.DBTableData <int, System.Data.SqlClient.SqlConnection>)null); #if !NETSTANDARD1_6 #if !NETCOREAPP1_1 #if !NETCOREAPP1_0 #if !NETCOREAPP2_0 var ole = new ReceiverOLEDB.ReceiverOleDBDatabaseInt(null); var receiver = new ReceiverSolution.ReceiverFromSolution(null); #endif #endif #endif #endif var rvSqlIte = new ReceiverDBSQLite.ReceiverTableSQLiteInt((ReceiverDB.DBTableData <int, Microsoft.Data.Sqlite.SqliteConnection>)null); var rvBinary = new ReceiverFile.ReceiverFileFromStorageBinary(null); var senderCSV = new Sender_CSV(null); var senderJson = new Sender_JSON(null); }
public static SimpleJobConditionalTransformers GetJobCSV() { #region ARRANGE StringBuilder sb = new StringBuilder(); sb.AppendLine("model,Track_number,buyYear"); sb.AppendLine("Ford,B325ROS,1990"); sb.AppendLine("Audi,PL654CSM,2004"); sb.AppendLine("BMW,B325DFH,2005"); sb.AppendLine("Ford,B325IYS,2007"); string filename = "mycsv.csv"; File.WriteAllText(filename, sb.ToString()); //define a receiver var receiverCSV = new ReceiverCSVFileInt(filename, Encoding.ASCII); //receiverCSV.Name = "From model:" + filename; //define a sender to csv for all records var senderAllToCSV = new Sender_CSV(DeleteFileIfExists("myAll.csv")); //senderAllToCSV.Name = "to csv allRecords"; //define a filter for audi var filterAudi = new FilterComparableEqual(typeof(string), "Audi", "model"); //define a sender just for audi var senderCSVAudi = new Sender_CSV(DeleteFileIfExists("myAudi.csv")); //senderCSVAudi.Name= "sender CSV"; //define a filter to transform the buyYear to string var buyYearTOString = new TransformerFieldStringInt("buyYear", "NewBuyYear"); //buyYearTOString.Name = "transform buyYear to int"; //define a filter for year>2000 var filterYear2000 = new FilterComparableGreat(typeof(int), 2000, "NewBuyYear"); //define a sender the year > 2000 to csv var sender2000CSV = new Sender_CSV(DeleteFileIfExists("my2000.csv")); //sender2000CSV.Name = "sender CSV"; //define a sender the year > 2000 to json var sender2000JSon = new Sender_JSON(DeleteFileIfExists("my2000.js")); //sender2000JSon.Name = "sender json"; //define a filter for Ford var filterFord = new FilterComparableEqual(typeof(string), "Ford", "model"); //define a sender just for ford var senderCSVFord = new Sender_CSV(DeleteFileIfExists("myFord.csv")); //senderCSVFord.Name = "sender CSV"; var cond = new SimpleJobConditionalTransformers(); //add a receiver cond.Receivers.Add(0, receiverCSV); //add a sender to csv for all records cond.AddSender(senderAllToCSV); //add a filter to transform the buyYear to string //and then fiter for year>2000 var buy = cond.Add(buyYearTOString, filterYear2000); //send the year> 2000 to csv cond.Add(filterYear2000, sender2000CSV); //send the year >2000 to json cond.Add(filterYear2000, sender2000JSon); //add a filter for audi and a sender just for audi cond.Add(filterAudi, senderCSVAudi); //add a filter for ford and a sender just for ford cond.Add(filterFord, senderCSVFord); return(cond); #endregion }
static void Main(string[] args) { var testClass = new TestClass { TheEncoding = Encoding.UTF8 }; var json = JsonConvert.SerializeObject(testClass, Formatting.Indented, new JsonEncodingConverter()); var obj = JsonConvert.DeserializeObject <TestClass>(json, new JsonEncodingConverter()); return; //var f = new TransformerIntString("asd", "bas"); //var settings1 = new JsonSerializerSettings() //{ // TypeNameHandling = TypeNameHandling.Objects, // Formatting = Formatting.Indented, // Error = HandleDeserializationError // //ConstructorHandling= ConstructorHandling.AllowNonPublicDefaultConstructor //}; //settings1.Converters.Add(new ExpressionJsonConverter(Assembly.GetEntryAssembly())); //var x = JsonConvert.SerializeObject(f,settings1); //Console.WriteLine(x); //return; brrbrrrr(); return; var receiver = new ReceiverBookmarkFileChrome(@"C:\Users\admin\Documents\bookmarks_7_25_17.html"); //var tr = new TransformAddField<string, DateTime>( // (addDate) => // { // var secs = double.Parse(addDate); // return new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(secs); // } // , "ADD_DATE", "realDate"); //var tr = new TransformAddField<string, DateTime>( // (addDate) => // new DateTime(1970, 1, 1, 0, 0, 0, 0) // .AddSeconds(double.Parse(addDate)) // , "ADD_DATE", "realDate"); string transformExpression = "var secs = double.Parse((oldValue??null).ToString());" + "var val=new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(secs);" + "val"; var tr = new TransformOneValueGeneral(transformExpression, "ADD_DATE", "realDate"); var sender = new Sender_HTMLRazor("BKChrome.cshtml", "b.html"); SimpleJob sj = new SimpleJob(); sj.Receivers.Add(0, receiver); sj.FiltersAndTransformers.Add(0, tr); sj.Senders.Add(0, sender); sj.Execute().Wait(); return; //var x = MemoryMappedFile.CreateNew("testmap", 2); //using (var writer = x.CreateViewAccessor(0,200, MemoryMappedFileAccess.Write)) //{ // // Write to MMF // for(int s = 0; s < 20; s++) // { // Console.WriteLine(s); // writer.Write(s, ('a'+s)); // } //} //using (var reader = x.CreateViewAccessor(0, 2000, MemoryMappedFileAccess.Read)) //{ // // Write to MMF // for (int s = 0; s < 20; s++) // { // Console.WriteLine(s); // var d= reader.ReadByte(s); // Console.WriteLine((char)d); // } //} //return; ISerializeData sd = new SerializeDataInMemory(); ISend csvExport = new Sender_CSV("a.csv"); ISend xmlExport = new Sender_XML("a.xml", "values"); ISend jsonExport = new Sender_JSON("a.json"); //ISend influx = new SenderDB_Influx("http://localhost:8086", "mydb", "logical_reads", "cpu_time_ms", "total_elapsed_time_ms"); var data = new DBTableData <int, SqlConnection>(sd) { ConnectionString = "Server=.;Database=DatePtAndrei;Trusted_Connection=True;", FieldNameToMark = "id", TableName = "active_slowquery", //Fields=new string[] { "id", "[session_id]" } }; IReceive r = new ReceiverTableSQLServerInt(data); ISimpleJob job = new SimpleJob(); job.Receivers.Add(0, r); job.Senders.Add(0, csvExport); job.Senders.Add(1, xmlExport); job.Senders.Add(2, jsonExport); //job.Senders.Add(3, influx); var settings = new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.Objects, Formatting = Formatting.Indented, Error = HandleDeserializationError //ConstructorHandling= ConstructorHandling.AllowNonPublicDefaultConstructor }; //var serialized = JsonConvert.SerializeObject(job, settings); //var deserialized = JsonConvert.DeserializeObject(File.ReadAllText("c.txt"), settings); ////File.WriteAllText("a.txt", serialized); //File.WriteAllText("b.txt",JsonConvert.SerializeObject(deserialized as IJob, settings)); //return; job.Execute().Wait(); return; Process.Start("notepad.exe", "a.json"); //var connection = new SqliteConnection(); //connection.ConnectionString = "DataSource=:memory:"; //connection.Open(); //Console.WriteLine("Hello World!"); //var options = new DbContextOptionsBuilder<ApiContext>() // //.UseInMemoryDatabase(databaseName: "Add_writes_to_database") // .UseSqlite(connection) // //.UseSqlite("DataSource=:memory:") // .Options; //using (var context = new ApiContext(options)) //{ // context.Database.EnsureCreated(); //} //var apiContext = new ApiContext(options); //apiContext.Posts.Add(new Post() //{ // Id = 1, // UserId = 1, // Content = "Post1" //}); //apiContext.SaveChanges(); //var db = apiContext.Database; //var cmd = connection.CreateCommand(); //cmd.CommandText = "select count(*) from Posts"; //var i=cmd.ExecuteScalar(); //var c = ClaimsPrincipal.Current; //if (c == null) //{ //} //var n = Thread.CurrentThread.Name; //Console.WriteLine("ASD"); }