static void Main(string[] args) { HttpClient client = new HttpClient(); var hasValues = true; List <Rootobject> obj = new List <Rootobject>(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.Timeout = new TimeSpan(0, 2, 30); var json = ""; var url = string.Format("https://airapi.airly.eu/v1/sensorsWithWios/current?southwestLat=49&southwestLong=22&northeastLat=54&northeastLong=18&apikey=TsTYb8xiNEI5c4Uc92GiFofG4DnP1W0l"); HttpResponseMessage response = client.GetAsync(url).Result; if (response.IsSuccessStatusCode) { var temp = response.Content.ReadAsStringAsync().Result; Console.WriteLine("response "); if (temp == "[]") { hasValues = false; Console.WriteLine("The list is empty"); } else { json = temp; var rootOBjList = JsonConvert.DeserializeObject <List <Rootobject> >(json); obj.AddRange(rootOBjList); //Converting objects to csv file using (var parser = new ChoCSVWriter <Rootobject>("Emp.csv").WithFirstLineHeader()) { Console.WriteLine("Inserting into csv...."); parser.Write(obj); } } } }
static void ToTextTest() { ChoTypeConverterFormatSpec.Instance.DateTimeFormat = "G"; ChoTypeConverterFormatSpec.Instance.BooleanFormat = ChoBooleanFormatSpec.YesOrNo; //ChoTypeConverterFormatSpec.Instance.EnumFormat = ChoEnumFormatSpec.Name; List <EmployeeRec> objs = new List <EmployeeRec>(); EmployeeRec rec1 = new EmployeeRec(); rec1.Id = 10; rec1.Name = "Mark"; objs.Add(rec1); EmployeeRec rec2 = new EmployeeRec(); rec2.Id = 200; rec2.Name = "Lou"; objs.Add(rec2); Console.WriteLine(ChoCSVWriter.ToText(objs)); }
static void ByteArrayTest() { StringBuilder csv = new StringBuilder(); using (var r = new ChoParquetReader(@"C:\Projects\GitHub\ChoETL\src\Test\ChoParquetWriterTest\bin\Debug\netcoreapp2.1\ByteArrayTest.parquet") .ParquetOptions(o => o.TreatByteArrayAsString = true) ) { var dt = r.AsDataTable("x"); Console.WriteLine(ChoJSONWriter.ToText(dt)); return; using (var w = new ChoCSVWriter(csv) .WithFirstLineHeader() .UseNestedKeyFormat(false) ) w.Write(r); } Console.WriteLine(csv.ToString()); }
public IResult Report(ReportInfo reportInfo)//raporlama { var result = GetReport(reportInfo); try { File.Delete($"wwwroot/csv/{reportInfo.UserId}.csv"); using (var w = new ChoCSVWriter <Report>($"wwwroot/csv/{reportInfo.UserId}.csv").WithFirstLineHeader()) { w.Write(result.Data); w.Dispose(); } return(new SuccessResult()); } catch (Exception e) { Console.WriteLine(e); } return(new ErrorResult()); }
static void Sample3() { using (var p = new ChoCSVReader <Site>("Sample3.csv") //.ClearFields() // .WithField(m => m.SiteID) // .WithField(m => m.SiteAddress.City) .WithFirstLineHeader(true) .Configure(c => c.ObjectValidationMode = ChoObjectValidationMode.ObjectLevel) ) { StringBuilder msg = new StringBuilder(); using (var w = new ChoCSVWriter <Site>(new StringWriter(msg)) .WithFirstLineHeader() ) { w.Write(p); } Console.WriteLine(msg.ToString()); //foreach (var rec in p) //Console.WriteLine(rec.Dump()); } }
static void TestHashtable() { Hashtable ht = new Hashtable(); ht.Add(1, "Raj"); ht.Add(2, "Tom"); StringBuilder sb = new StringBuilder(); using (var w = new ChoCSVWriter(sb) .WithFirstLineHeader() .WithField("Key", fieldName: "Id") .WithField("Value", fieldName: "Name") ) { w.Write(ht); w.Write(ht); w.Write((Hashtable)null); w.Write(1); } Console.WriteLine(sb.ToString()); }
static void EnumTest() { ChoTypeConverterFormatSpec.Instance.EnumFormat = ChoEnumFormatSpec.Description; List <ExpandoObject> objs = new List <ExpandoObject>(); dynamic rec1 = new ExpandoObject(); rec1.Id = 10; rec1.Name = "Mark"; rec1.JoinedDate = new DateTime(2001, 2, 2); rec1.IsActive = true; rec1.Salary = new ChoCurrency(100000); rec1.Status = EmployeeType.Permanent; objs.Add(rec1); dynamic rec2 = new ExpandoObject(); rec2.Id = 200; rec2.Name = "Lou"; rec2.JoinedDate = new DateTime(1990, 10, 23); rec2.IsActive = false; rec2.Salary = new ChoCurrency(150000); rec2.Status = EmployeeType.Contract; objs.Add(rec2); using (var stream = new MemoryStream()) using (var reader = new StreamReader(stream)) using (var writer = new StreamWriter(stream)) using (var parser = new ChoCSVWriter(writer).WithFirstLineHeader().QuoteAllFields()) { parser.Write(objs); writer.Flush(); stream.Position = 0; Console.WriteLine(reader.ReadToEnd()); } }
static void ReadNWrite() { string csv = @"Id, Name 1, Tom 2, Mark "; StringBuilder csvOut = new StringBuilder(); using (var r = ChoCSVReader.LoadText(csv) .WithFirstLineHeader() ) { using (var w = new ChoCSVWriter(csvOut)) w.Write(r.Select(r1 => new { r1.Id, r1.Name, City = "NY" })); } Console.WriteLine(csvOut.ToString()); }
static void TestDictionary() { Dictionary <int, Manager> ht = new Dictionary <int, Manager>(); ht.Add(1, new Manager { Name = "TOm", Salary = 10000, Department = "IT" }); Dictionary <int, Employee> ht1 = new Dictionary <int, Employee>(); ht1.Add(1, new Employee { Name = "TOm" }); StringBuilder sb = new StringBuilder(); using (var w = new ChoCSVWriter(sb) .WithFirstLineHeader() ) { w.Write(ht); } Console.WriteLine(sb.ToString()); }
static void CodeFirstWithDeclarativeApproachWriteRecordsToFile() { List <EmployeeRec> objs = new List <EmployeeRec>(); EmployeeRec rec1 = new EmployeeRec(); rec1.Id = 10; rec1.Name = "Mark"; objs.Add(rec1); EmployeeRec rec2 = new EmployeeRec(); rec2.Id = 200; rec2.Name = "Lou"; objs.Add(rec2); using (var tx = File.OpenWrite("Emp.csv")) { using (var parser = new ChoCSVWriter <EmployeeRec>(tx)) { parser.Write(objs); } } }
static void FormatSpecDynamicTest() { ChoTypeConverterFormatSpec.Instance.DateTimeFormat = "d"; ChoTypeConverterFormatSpec.Instance.BooleanFormat = ChoBooleanFormatSpec.YOrN; List <ExpandoObject> objs = new List <ExpandoObject>(); dynamic rec1 = new ExpandoObject(); rec1.Id = 10; rec1.Name = "Mark"; rec1.JoinedDate = new DateTime(2001, 2, 2); rec1.IsActive = true; rec1.Salary = 100000; objs.Add(rec1); dynamic rec2 = new ExpandoObject(); rec2.Id = 200; rec2.Name = "Lou"; rec2.JoinedDate = new DateTime(1990, 10, 23); rec2.IsActive = false; rec2.Salary = 150000; objs.Add(rec2); using (var stream = new MemoryStream()) using (var reader = new StreamReader(stream)) using (var writer = new StreamWriter(stream)) using (var parser = new ChoCSVWriter(writer).WithFirstLineHeader()) { parser.Write(objs); writer.Flush(); stream.Position = 0; Console.WriteLine(reader.ReadToEnd()); } }
static void DataFirstApproachWriteSingleRecord() { using (var stream = new MemoryStream()) using (var reader = new StreamReader(stream)) using (var writer = new StreamWriter(stream)) using (var parser = new ChoCSVWriter(writer)) { dynamic rec1 = new ExpandoObject(); rec1.Id = 1; rec1.Name = "Mark"; parser.Write(rec1); dynamic rec2 = new ExpandoObject(); rec2.Id = 2; rec2.Name = "Jason"; parser.Write(rec2); writer.Flush(); stream.Position = 0; Console.WriteLine(reader.ReadToEnd()); } }
public async Task <GameStarFSDTO[]> Get() { string path = AppDomain.CurrentDomain.BaseDirectory + @"pauseproject.json"; Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", path); database = FirestoreDb.Create("pauseproject-349dd"); var res = await GetCollection(); string filepath = AppDomain.CurrentDomain.BaseDirectory; using (StreamWriter file = new System.IO.StreamWriter(filepath + @"\..\..\..\Data\users.json")) { JsonSerializer serializer = new JsonSerializer(); serializer.Serialize(file, res); } using (var r = new ChoJSONReader(filepath + @"\..\..\..\Data\users.json")) { using (var w = new ChoCSVWriter(filepath + @"\..\..\..\Data\" + "users.csv").WithFirstLineHeader()) { w.Write(r); } } return(res); }
static void IntArrayTest() { dynamic address = new ChoDynamicObject(); address.Street = "10 River Rd"; address.City = "Princeton"; dynamic state = new ChoDynamicObject(); state.State = "NJ"; state.Zip = "09930"; address.State = state; using (var w = new ChoCSVWriter("intarray.csv") .Setup(s => s.RecordFieldWriteError += (o, e) => Console.WriteLine(e.Exception.ToString())) .Configure(c => c.NestedColumnSeparator = '/') ) { //w.Write(new KeyValuePair<int, string>(1, "MM")); //w.Write(new KeyValuePair<int, string>(1, "MM")); w.Write(new { id = "1s->", address = address }); } }
static void CodeFirstWithDeclarativeApproachWriteRecords() { ChoTypeConverterFormatSpec.Instance.DateTimeFormat = "G"; //ChoTypeConverterFormatSpec.Instance.BooleanFormat = ChoBooleanFormatSpec.YesOrNo; //ChoTypeConverterFormatSpec.Instance.EnumFormat = ChoEnumFormatSpec.Name; List <EmployeeRec> objs = new List <EmployeeRec>(); EmployeeRec rec1 = new EmployeeRec(); rec1.Id = 10; rec1.Name = "Mark"; objs.Add(rec1); EmployeeRec rec2 = new EmployeeRec(); rec2.Id = 200; rec2.Name = "Lou"; objs.Add(rec2); using (var stream = new MemoryStream()) using (var reader = new StreamReader(stream)) using (var writer = new StreamWriter(stream)) using (var parser = new ChoCSVWriter <EmployeeRec>(writer)) { parser.BeforeRecordFieldWrite += (o, e) => { Console.WriteLine(e.PropertyName); }; parser.Write(objs); writer.Flush(); stream.Position = 0; Console.WriteLine(reader.ReadToEnd()); } }
static void Main(string[] args) { /* List<Rootobject> obj = new List<Rootobject>(); * var anonymousData = from pl in obj * select new * { * pl.id, * pl.uuid, * pl.name, * pl.description, * pl.state * };*/ using (var csv = new ChoCSVWriter("emp2.csv").WithFirstLineHeader()) { using (var json = new ChoJSONReader("all.json")) { csv.Write(json.Select(i => new { // Info about device Id = i.id != null ? i.id : 0, DeviceUuid = i.uuid != null ? i.uuid : null, DeviceName = i.name != null ? i.name : null, DeviceDescription = i.description != null ? i.description : null, DeviceState = i.state != null ? i.state : null, SystemTags = i.system_tags.Length > 0 ? i.system_tags[0] : null, UserTags = i.user_tags.Length > 0 ? i.user_tags[0] : null, LastReading = i.last_reading_at != null ? i.last_reading_at : null, AddedAt = i.added_at != null ? i.added_at : null, Updated = i.updated_at != null ? i.updated_at : null, MacAddress = i.mac_address != null ? i.mac_address : null, //Info about owner OwnerID = i.owner != null ? i.owner.id : 0, OwnerUuid = i.owner != null ? i.owner.uuid : null, OwnerUserName = i.owner != null ? i.owner.username : null, OwnerAvatar = i.owner != null ? i.owner.avatar : null, OwnerUrl = i.owner != null ? i.owner.url : null, OwnerJoinDate = i.owner != null ? i.owner.joined_at : null, OwnerCity = i.owner != null ? i.owner.location.city : null, OwnerCountry = i.owner != null ? i.owner.location.country : null, OwnerCountryCode = i.owner != null ? i.owner.location.country_code : null, // DeviceIds = i.owner.device_ids.Length > 0 ? i.owner.device_ids[0] : 0, //Info about data DataRecorded_At = i.data != null ? i.data.recorded_at : null, DataAdded_At = i.data != null ? i.data.added_at : null, DataLocation = i.data.ip != null ? i.data.location.ip : null, DataExposure = i.data != null ? i.data.location.exposure : null, DataElevation = i.data != null ? i.data.location.elevation : 0, DataLatitude = i.data != null ? i.data.location.latitude : 0, DataLongitude = i.data != null ? i.data.location.longitude : 0, DataGeoLocation = i.data != null ? i.data.location.geohash : null, DataCity = i.data != null ? i.data.location.city : null, DataCountryCode = i.data != null ? i.data.location.country_code : null, DataCountry = i.data != null ? i.data.location.country : null, //SensorBattery BSensorsId = i.data.sensors.Length > 0 ? i.data.sensors[0].id : 0, BSensortAncestry = i.data.sensors.Length > 0 ? i.data.sensors[0].ancestry : null, BSensorName = i.data.sensors.Length > 0 ? i.data.sensors[0].name : null, BSensorDescription = i.data.sensors.Length > 0 ? i.data.sensors[0].description : null, BSensorUnit = i.data.sensors.Length > 0 ? i.data.sensors[0].unit : 0, BSensorCreatedAt = i.data.sensors.Length > 0 ? i.data.sensors[0].created_at : DateTime.MinValue, BSensorUpdated_at = i.data.sensors.Length > 0 ? i.data.sensors[0].updated_at : DateTime.MinValue, BSensorMeasurement_id = i.data.sensors.Length > 0 ? i.data.sensors[0].measurement_id : 0, BSensorUuid = i.data.sensors.Length > 0 ? i.data.sensors[0].uuid : null, BSensorValue = i.data.sensors.Length > 0 ? i.data.sensors[0].value : 0, BSensorRawValue = i.data.sensors.Length > 0 ? i.data.sensors[0].raw_value : 0, BSensorPrevValue = i.data.sensors.Length > 0 ? i.data.sensors[0].prev_value : 0, BSensorPrevRawValue = i.data.sensors.Length > 0 ? i.data.sensors[0].prev_raw_value : 0, //SensorHumidity SensorsHId = i.data.sensors.Length > 1 ? i.data.sensors[1].id : 0, SensortHAncestry = i.data.sensors.Length > 1 ? i.data.sensors[1].ancestry : null, SensorHName = i.data.sensors.Length > 1 ? i.data.sensors[1].name : null, SensorHDescription = i.data.sensors.Length > 1 ? i.data.sensors[1].description : null, SensorHUnit = i.data.sensors.Length > 1 ? i.data.sensors[1].unit : 0, SensorHCreatedAt = i.data.sensors.Length > 1 ? i.data.sensors[1].created_at : DateTime.MinValue, SensorHUpdated_at = i.data.sensors.Length > 1 ? i.data.sensors[1].updated_at : DateTime.MinValue, SensorHMeasurement_id = i.data.sensors.Length > 1 ? i.data.sensors[1].measurement_id : 0, SensorHUuid = i.data.sensors.Length > 1 ? i.data.sensors[1].uuid : null, SensorHValue = i.data.sensors.Length > 1 ? i.data.sensors[1].value : 0, SensorHRawValue = i.data.sensors.Length > 1 ? i.data.sensors[1].raw_value : 0, SensorHPrevValue = i.data.sensors.Length > 1 ? i.data.sensors[1].prev_value : 0, SensorHPrevRawValue = i.data.sensors.Length > 1 ? i.data.sensors[1].prev_raw_value : 0, //Temperature TSensorsId = i.data.sensors.Length > 2 ? i.data.sensors[2].id : 0, TSensortAncestry = i.data.sensors.Length > 2 ? i.data.sensors[2].ancestry : null, TSensorName = i.data.sensors.Length > 2 ? i.data.sensors[2].name : null, TSensorDescription = i.data.sensors.Length > 2 ? i.data.sensors[2].description : null, TSensorUnit = i.data.sensors.Length > 2 ? i.data.sensors[2].unit : 0, TSensorCreatedAt = i.data.sensors.Length > 2 ? i.data.sensors[2].created_at : DateTime.MinValue, TSensorUpdated_at = i.data.sensors.Length > 2 ? i.data.sensors[2].updated_at : DateTime.MinValue, TSensorMeasurement_id = i.data.sensors.Length > 2 ? i.data.sensors[2].measurement_id : 0, TSensorUuid = i.data.sensors.Length > 2 ? i.data.sensors[2].uuid : null, TSensorValue = i.data.sensors.Length > 2 ? i.data.sensors[2].value : 0, TSensorRawValue = i.data.sensors.Length > 2 ? i.data.sensors[2].raw_value : 0, TSensorPrevValue = i.data.sensors.Length > 2 ? i.data.sensors[2].prev_value : 0, TSensorPrevRawValue = i.data.sensors.Length > 2 ? i.data.sensors[2].prev_raw_value : 0, //No2 gas sensor GasSensorsId = i.data.sensors.Length > 3 ? i.data.sensors[3].id : 0, GasSensortAncestry = i.data.sensors.Length > 3 ? i.data.sensors[3].ancestry : null, GasSensorName = i.data.sensors.Length > 3 ? i.data.sensors[3].name : null, GasSensorDescription = i.data.sensors.Length > 3 ? i.data.sensors[3].description : null, GasSensorUnit = i.data.sensors.Length > 3 ? i.data.sensors[3].unit : 0, GasSensorCreatedAt = i.data.sensors.Length > 3 ? i.data.sensors[3].created_at : DateTime.MinValue, GasSensorUpdated_at = i.data.sensors.Length > 3 ? i.data.sensors[3].updated_at : DateTime.MinValue, GasSensorMeasurement_id = i.data.sensors.Length > 3 ? i.data.sensors[3].measurement_id : 0, GasSensorUuid = i.data.sensors.Length > 4 ? i.data.sensors[3].uuid : null, GasSensorValue = i.data.sensors.Length > 4 ? i.data.sensors[3].value : 0, GasSensorRawValue = i.data.sensors.Length > 4 ? i.data.sensors[3].raw_value : 0, GasSensorPrevValue = i.data.sensors.Length > 4 ? i.data.sensors[3].prev_value : 0, GasSensorPrevRawValue = i.data.sensors.Length > 4 ? i.data.sensors[3].prev_raw_value : 0, //CO2 gas sensor CoSensorsId = i.data.sensors.Length > 5 ? i.data.sensors[4].id : -1, CoSensortAncestry = i.data.sensors.Length > 5 ? i.data.sensors[4].ancestry : null, CoSensorName = i.data.sensors.Length > 5 ? i.data.sensors[4].name : null, CoSensorDescription = i.data.sensors.Length > 5 ? i.data.sensors[4].description : null, CoSensorUnit = i.data.sensors.Length > 5 ? i.data.sensors[4].unit : -1, CoSensorCreatedAt = i.data.sensors.Length > 5 ? i.data.sensors[4].created_at : DateTime.MinValue, CoSensorUpdated_at = i.data.sensors.Length > 5 ? i.data.sensors[4].updated_at : DateTime.MinValue, CoSensorMeasurement_id = i.data.sensors.Length > 5 ? i.data.sensors[4].measurement_id : -1, CoSensorUuid = i.data.sensors.Length > 5 ? i.data.sensors[4].uuid : null, CoSensorValue = i.data.sensors.Length > 5 ? i.data.sensors[4].value : -1, CoSensorRawValue = i.data.sensors.Length > 5 ? i.data.sensors[4].raw_value : -1, CoSensorPrevValue = i.data.sensors.Length > 5 ? i.data.sensors[4].prev_value : -1, CoSensorPrevRawValue = i.data.sensors.Length > 5 ? i.data.sensors[4].prev_raw_value : -1, //Network sensor NetSensorsId = i.data.sensors.Length > 6 ? i.data.sensors[5].id : 0, NetSensortAncestry = i.data.sensors.Length > 6 ? i.data.sensors[5].ancestry : null, NetSensorName = i.data.sensors.Length > 6 ? i.data.sensors[5].name : null, NetSensorDescription = i.data.sensors.Length > 6 ? i.data.sensors[5].description : null, NetSensorUnit = i.data.sensors.Length > 6 ? i.data.sensors[5].unit : 0, NetSensorCreatedAt = i.data.sensors.Length > 6 ? i.data.sensors[5].created_at : DateTime.MinValue, NetSensorUpdated_at = i.data.sensors.Length > 6 ? i.data.sensors[5].updated_at : DateTime.MinValue, NetSensorMeasurement_id = i.data.sensors.Length > 6 ? i.data.sensors[5].measurement_id : 0, NetSensorUuid = i.data.sensors.Length > 6 ? i.data.sensors[5].uuid : null, NetSensorValue = i.data.sensors.Length > null ? i.data.sensors[5].value : 0, NetSensorRawValue = i.data.sensors.Length > null ? i.data.sensors[5].raw_value : 0, NetSensorPrevValue = i.data.sensors.Length > null ? i.data.sensors[5].prev_value : 0, NetSensorPrevRawValue = i.data.sensors.Length > null ? i.data.sensors[5].prev_raw_value : 0, //decibel sensor db DBSensorsId = i.data.sensors.Length > 7 ? i.data.sensors[6].id : 0, DBSensortAncestry = i.data.sensors.Length > 7 ? i.data.sensors[6].ancestry : null, DbSensorName = i.data.sensors.Length > 7 ? i.data.sensors[6].name : null, DbSensorDescription = i.data.sensors.Length > 7 ? i.data.sensors[6].description : null, DbSensorUnit = i.data.sensors.Length > 7 ? i.data.sensors[6].unit : 0, DbSensorCreatedAt = i.data.sensors.Length > 7 ? i.data.sensors[6].created_at : DateTime.MinValue, DbSensorUpdated_at = i.data.sensors.Length > 7 ? i.data.sensors[6].updated_at : DateTime.MinValue, DbSensorMeasurement_id = i.data.sensors.Length > 7 ? i.data.sensors[6].measurement_id : 0, DbSensorUuid = i.data.sensors.Length > 7 ? i.data.sensors[6].uuid : null, DbSensorValue = i.data.sensors.Length > 7 ? i.data.sensors[6].value : 0, DbSensorRawValue = i.data.sensors.Length > 7 ? i.data.sensors[6].raw_value : 0, DbSensorPrevValue = i.data.sensors.Length > 7 ? i.data.sensors[6].prev_value : 0, DbSensorPrevRawValue = i.data.sensors.Length > 7 ? i.data.sensors[6].prev_raw_value : 0, // LDR Analog Light Sensor LSensorsId = i.data.sensors.Length > 8 ? i.data.sensors[7].id : 0, LSensortAncestry = i.data.sensors.Length > 8 ? i.data.sensors[7].ancestry : null, LSensorName = i.data.sensors.Length > 8 ? i.data.sensors[7].name : null, LSensorDescription = i.data.sensors.Length > 8 ? i.data.sensors[7].description : null, LSensorUnit = i.data.sensors.Length > 8 ? i.data.sensors[7].unit : 0, LSensorCreatedAt = i.data.sensors.Length > 8 ? i.data.sensors[7].created_at : DateTime.MinValue, LSensorUpdated_at = i.data.sensors.Length > 8 ? i.data.sensors[7].updated_at : DateTime.MinValue, LSensorMeasurement_id = i.data.sensors.Length > 8 ? i.data.sensors[7].measurement_id : 0, LSensorUuid = i.data.sensors.Length > 8 ? i.data.sensors[7].uuid : null, LSensorValue = i.data.sensors.Length > 8 ? i.data.sensors[7].value : 0, LSensorRawValue = i.data.sensors.Length > 8 ? i.data.sensors[7].raw_value : 0, LSensorPrevValue = i.data.sensors.Length > 8 ? i.data.sensors[7].prev_value : 0, LSensorPrevRawValue = i.data.sensors.Length > 8 ? i.data.sensors[7].prev_raw_value : 0, //solar panel SolSensorsId = i.data.sensors.Length > 9 ? i.data.sensors[8].id : 0, SolSensortAncestry = i.data.sensors.Length > 9 ? i.data.sensors[8].ancestry : null, SolSensorName = i.data.sensors.Length > 9 ? i.data.sensors[8].name : null, SolSensorDescription = i.data.sensors.Length > 9 ? i.data.sensors[8].description : null, SolSensorUnit = i.data.sensors.Length > 9 ? i.data.sensors[8].unit : 0, SolSensorCreatedAt = i.data.sensors.Length > 9 ? i.data.sensors[8].created_at : DateTime.MinValue, SolSensorUpdated_at = i.data.sensors.Length > 9 ? i.data.sensors[8].updated_at : DateTime.MinValue, SolSensorMeasurement_id = i.data.sensors.Length > 9 ? i.data.sensors[8].measurement_id : 0, SolSensorUuid = i.data.sensors.Length > 9 ? i.data.sensors[8].uuid : null, SolSensorValue = i.data.sensors.Length > 9 ? i.data.sensors[8].value : 0, SolSensorRawValue = i.data.sensors.Length > 9 ? i.data.sensors[8].raw_value : 0, SolSensorPrevValue = i.data.sensors.Length > 9 ? i.data.sensors[8].prev_value : 0, SolSensorPrevRawValue = i.data.sensors.Length > 9 ? i.data.sensors[8].prev_raw_value : 0, //kit info KitId = i.kit != null ? i.kit.id : 0, KitUuid = i.kit != null ? i.kit.uuid : null, KitSlug = i.kit != null ? i.kit.slug : null, KitName = i.kit != null ? i.kit.name : null, KitDescription = i.kit != null ? i.kit.description : null, KitCreatedAt = i.kit != null ? i.kit.created_at : null, KitUpdatedAt = i.kit != null ? i.kit.updated_at : null })); } } }
private void btnOK_Click(object sender, EventArgs e) { btnOK.Focus(); SaveFileDialog sfd = new SaveFileDialog(); sfd.InitialDirectory = Application.StartupPath; if (sfd.ShowDialog() == DialogResult.OK) { using (ChoETL.ChoCSVWriter <UnJourTransfert> writer = new ChoCSVWriter <UnJourTransfert>(sfd.FileName)) { for (int i = 0; i < LJ.Count; i++) { hScrollBar1.Value = i + 1; hScrollBar1_Scroll(hScrollBar1, new ScrollEventArgs(new ScrollEventType(), 0)); UnJour unJour = (UnJour)LJ[i]; UnJourTransfert ujt = new UnJourTransfert(); unJour.annee = this.dateTimePicker1.Value.Year; unJour.mois = this.dateTimePicker1.Value.Month; unJour.jour = this.dateTimePicker1.Value.Day; ujt.LaDate = DateTime.Parse(this.dateTimePicker1.Text).ToString("yyyy-MM-dd"); try { if (unJour.matin1.sys == 0) { ctlUneTension1.export(); string[] exp = ctlUneTension1.strValues.Split(';'); unJour.matin1.sys = int.Parse("0" + exp[0]); unJour.matin1.dia = int.Parse("0" + exp[1]); unJour.matin1.pul = int.Parse("0" + exp[2]); } if (unJour.matin2.sys == 0) { ctlUneTension2.export(); string[] exp = ctlUneTension2.strValues.Split(';'); unJour.matin2.sys = int.Parse("0" + exp[0]); unJour.matin2.dia = int.Parse("0" + exp[1]); unJour.matin2.pul = int.Parse("0" + exp[2]); } if (unJour.matin3.sys == 0) { ctlUneTension3.export(); string[] exp = ctlUneTension3.strValues.Split(';'); unJour.matin3.sys = int.Parse("0" + exp[0]); unJour.matin3.dia = int.Parse("0" + exp[1]); unJour.matin3.pul = int.Parse("0" + exp[2]); } if (unJour.soir1.sys == 0) { ctlUneTension4.export(); string[] exp = ctlUneTension4.strValues.Split(';'); unJour.soir1.sys = int.Parse("0" + exp[0]); unJour.soir1.dia = int.Parse("0" + exp[1]); unJour.soir1.pul = int.Parse("0" + exp[2]); } if (unJour.soir2.sys == 0) { ctlUneTension5.export(); string[] exp = ctlUneTension5.strValues.Split(';'); unJour.soir2.sys = int.Parse("0" + exp[0]); unJour.soir2.dia = int.Parse("0" + exp[1]); unJour.soir2.pul = int.Parse("0" + exp[2]); } if (unJour.soir3.sys == 0) { ctlUneTension6.export(); string[] exp = ctlUneTension6.strValues.Split(';'); unJour.soir3.sys = int.Parse("0" + exp[0]); unJour.soir3.dia = int.Parse("0" + exp[1]); unJour.soir3.pul = int.Parse("0" + exp[2]); } ujt.sys1 = unJour.matin1.sys; ujt.dia1 = unJour.matin1.dia; ujt.pul1 = unJour.matin1.pul; ujt.moy1 = unJour.matin1.pul; ujt.sys2 = unJour.matin2.sys; ujt.dia2 = unJour.matin2.dia; ujt.pul2 = unJour.matin2.pul; ujt.moy2 = unJour.matin2.pul; ujt.sys3 = unJour.matin3.sys; ujt.dia3 = unJour.matin3.dia; ujt.pul3 = unJour.matin3.pul; ujt.moy3 = unJour.matin3.pul; ujt.sys4 = unJour.soir1.sys; ujt.dia4 = unJour.soir1.dia; ujt.pul4 = unJour.soir1.pul; ujt.moy4 = unJour.soir1.pul; ujt.sys5 = unJour.soir2.sys; ujt.dia5 = unJour.soir2.dia; ujt.pul5 = unJour.soir2.pul; ujt.moy5 = unJour.soir2.pul; ujt.sys6 = unJour.soir3.sys; ujt.dia6 = unJour.soir3.dia; ujt.pul6 = unJour.soir3.pul; ujt.moy6 = unJour.soir3.pul; } catch (Exception ex) { MessageBox.Show(ex.Message); } try { writer.Write(ujt); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } } }
static void Main() { try { // Create a new RestClient, pull in the URI value from an environment variable var client = new RestClient(Environment.GetEnvironmentVariable("SERVICE_URI", EnvironmentVariableTarget.User)) { Timeout = -1 }; client.UseNewtonsoftJson(); // Create a new RestRequest, and specify it as a POST var request = new RestRequest(Method.POST); request.AddHeader("Accept", "application/json"); request.AddHeader("apikey", Environment.GetEnvironmentVariable("STATE_API_KEY", EnvironmentVariableTarget.User)); // Set the API key in the header value request.AddHeader("Content-Type", "application/json"); // Set the Content-Type appropriately String payload = File.ReadAllText(@"../../../../examples/input_samples/json_format/example1.json"); // Read the json query from the example1.json file - update this path if needed. request.AddParameter("application/json", payload, ParameterType.RequestBody); request.OnBeforeDeserialization = resp => { resp.ContentType = "application/json"; }; IRestResponse response = client.Execute(request); // Check that our response was valid. if (response.StatusCode == System.Net.HttpStatusCode.OK) { // By default, the returned object contains the json in the 'result' value, we need to extract it. var jsonOutput = JObject.Parse(response.Content)["result"].ToString(); // Once you have the data, you can output it in many formats, as listed below: // Write the output directly to the console (mostly for debugging) Console.WriteLine(jsonOutput); Console.ReadLine(); //Pause the output terminal (hack) // Write the raw json out to a file "output.json" File.WriteAllText(@"output.json", jsonOutput); // Write the output to a csv file "output.csv" - an easy way is to use a 3rd party libary ChoETL // https://github.com/Cinchoo/ChoETL // There are ways to do it with much fewer dependencies, like converting Datatable to CSV, but // JSON.NET is still the best library for reading/serializing json in .NET (which ChoETL uses). System.Text.StringBuilder json = new System.Text.StringBuilder(jsonOutput); using (var r = new ChoJSONReader(json)) { using (var w = new ChoCSVWriter(@"output.csv").WithFirstLineHeader()) { w.Write(r); } } } else { Console.WriteLine(String.Format("{0} : {1}", response.StatusCode, response.StatusDescription)); Console.ReadLine(); } } catch (Exception ex) { Console.WriteLine(String.Format("Something went wrong: {0}", ex.Message)); Console.ReadLine(); } }
static void Main(string[] args) { ChoETLFrxBootstrap.TraceLevel = System.Diagnostics.TraceLevel.Off; QuotesIssue(); return; WriteSpecificColumns(); return; //DictionaryTest(); //return; //ListTest(); //return; //int z = 44; //Console.WriteLine(String.Format("{0:000}", z)); //return; Sample3(); return; InheritanceTest(); return; NestedObjects(); return; CSVWithQuotes(); return; ChoCSVRecordConfiguration config = new ChoCSVRecordConfiguration(); config.FileHeaderConfiguration.HasHeaderRecord = true; config.CSVRecordFieldConfigurations.Add(new ChoCSVRecordFieldConfiguration("Id", 1) { FieldName = " Id ", QuoteField = true }); config.CSVRecordFieldConfigurations.Add(new ChoCSVRecordFieldConfiguration("Name", 2)); List <ExpandoObject> objs = new List <ExpandoObject>(); dynamic rec1 = new ExpandoObject(); rec1.Id = 1.1; rec1.Name = "Mark"; objs.Add(rec1); dynamic rec2 = new ExpandoObject(); rec2.Id = 2; rec2.Name = "Tom"; objs.Add(rec2); NumberFormatInfo nfi = new NumberFormatInfo(); nfi.NumberDecimalSeparator = "~"; using (var parser = new ChoCSVWriter("Emp.csv", config) .WithField("Id", fieldType: typeof(double), valueConverter: (v) => ((double)v).ToString(nfi)) .WithField("Name") .Setup(w => w.FileHeaderWrite += (o, e) => { e.HeaderText = "C1, C2"; } )) { parser.Write(objs); } //ToTextTest(); }
private void J2C_Convert_Click(object sender, EventArgs e) { J2C_Button_Save.Enabled = false; J2C_Button_Convert.Enabled = false; J2C_SaveToolStripMenuItem.Enabled = false; file_list.Clear(); data_list.Clear(); json_list.Clear(); csv_list.Clear(); json_data.Clear(); csv_cols_data.Clear(); col_list.Clear(); J2C_DataGridView.Rows.Clear(); J2C_DataGridView.Columns.Clear(); foreach (String item in J2C_ListBox_Folder.Items) { foreach (String file in Directory.GetFiles(item, "*.json", SearchOption.AllDirectories)) { file_list.Add(file); } } foreach (String file in file_list) { try { string jsonString = File.ReadAllText(file); this.json_list.Add(file, new JsonTextReader(new StringReader(jsonString))); } catch (Exception ex) { J2C_ListBox_Logs.Items.Add(file); J2C_ListBox_Logs.Items.Add(ex.StackTrace); J2C_ListBox_Logs.Items.Add(ex.Message); } } List <string> line = new List <string>(); foreach (String fullpath in json_list.Keys) { try { JsonTextReader obj = json_list[fullpath]; StringBuilder csvData = new StringBuilder(); using (var r = new ChoJSONReader().Load(obj).WithJSONPath(J2C_TextBox_JPath.Text)) { using (var w = new ChoCSVWriter(csvData).WithFirstLineHeader()) { w.Write(r); } } csv_list.Add(fullpath, csvData); line.Add(csvData.ToString()); } catch (Exception ex) { J2C_ListBox_Logs.Items.Add(fullpath); J2C_ListBox_Logs.Items.Add(ex.StackTrace); J2C_ListBox_Logs.Items.Add(ex.Message); } } foreach (String fullpath in csv_list.Keys) { StringBuilder csvData = csv_list[fullpath]; string col1 = csvData.ToString().Split("\n").ToArray()[0]; string col2 = NumReplace(col1, 200); col2 = col2.Replace("\n", ""); csv_cols_data.Add(fullpath, new KeyValuePair <string, string>(col1, col2)); foreach (string key in col2.Split(",")) { string txtout = RemoveChars(key); if (!col_list.Contains(txtout)) { col_list.Add(txtout); } } } foreach (string key in col_list) { try { DataGridViewColumn DGVC = new DataGridViewColumn(); DGVC.Name = key; DGVC.HeaderText = key; DGVC.HeaderCell.Value = key; DGVC.CellTemplate = new DataGridViewTextBoxCell(); J2C_DataGridView.Columns.Add(DGVC); } catch (Exception ex2) { J2C_ListBox_Logs.Items.Add(key); J2C_ListBox_Logs.Items.Add(ex2.Message); } } foreach (String fullpath in csv_list.Keys) { J2C_DataGridView.Rows.Add(); } new Thread(() => { Thread.CurrentThread.IsBackground = true; int i = 0; foreach (String fullpath in csv_list.Keys) { try { DataGridViewRow DGVC = new DataGridViewRow(); string csv = csv_list[fullpath].ToString(); KeyValuePair <string, string> cols = csv_cols_data[fullpath]; string[] cols1 = cols.Key.Split(","); string[] cols2 = cols.Value.Split(","); int colindex = 0; foreach (string colx in cols2) { string colnameorg = cols1[colindex]; string colname = RemoveChars(cols2[colindex]); string colvalue = RemoveChars(csv_list[fullpath].ToString().Split("\n")[1].Split(",")[colindex]); J2C_DataGridView.Invoke((Action) delegate { string valx = J2C_DataGridView.Rows[i].Cells[colname].Value == null ? string.Empty : J2C_DataGridView.Rows[i].Cells[colname].Value.ToString(); if (valx.IsEmpty()) { J2C_DataGridView.Rows[i].Cells[colname].Value = colvalue; J2C_DataGridView.Rows[i].Cells[colname].ToolTipText = colnameorg + "<>" + colvalue; } else { J2C_DataGridView.Rows[i].Cells[colname].Value += J2C_TextBox_JSep.Text + colvalue; J2C_DataGridView.Rows[i].Cells[colname].ToolTipText += J2C_TextBox_JSep.Text + colnameorg + "<>" + colvalue; } }); colindex++; } i++; } catch (Exception ex) { J2C_ListBox_Logs.Items.Add("DG: " + fullpath); J2C_ListBox_Logs.Items.Add(ex.StackTrace); J2C_ListBox_Logs.Items.Add(ex.Message); } } J2C_Button_Convert.Invoke((Action) delegate { J2C_Button_Convert.Enabled = true; }); J2C_Button_Save.Invoke((Action) delegate { J2C_Button_Save.Enabled = true; }); }).Start(); }
static void Main(string[] args) { //string v = @"4,'123\r\n4,abc'"; //foreach (var ss in v.SplitNTrim(",", ChoStringSplitOptions.None, '\'')) // Console.WriteLine(ss + "-"); //return; dynamic rec = new ExpandoObject(); rec.Id = 1; rec.Name = "Raj"; using (var wr = new ChoCSVWriter("EmpOut.csv")) { wr.Write(new List <ExpandoObject>() { rec }); } return; ChoCSVRecordConfiguration config = new ChoCSVRecordConfiguration(); //config.AutoDiscoverColumns = false; config.CSVFileHeaderConfiguration.HasHeaderRecord = true; config.ThrowAndStopOnMissingField = true; //config.MapRecordFields<EmployeeRec>(); //config.RecordFieldConfigurations.Add(new ChoCSVRecordFieldConfiguration("Id", 1)); //config.RecordFieldConfigurations.Add(new ChoCSVRecordFieldConfiguration("Name", 2)); //dynamic row; //using (var stream = new MemoryStream()) //using (var reader = new StreamReader(stream)) //using (var writer = new StreamWriter(stream)) //using (var parser = new ChoCSVReader(reader, config)) //{ // writer.WriteLine("Id,Name"); // writer.WriteLine("1,Carl"); // writer.WriteLine("2,Mark"); // writer.Flush(); // stream.Position = 0; // while ((row = parser.Read()) != null) // { // Console.WriteLine(row.Id); // } //} //return; //DataTable dt = new ChoCSVReader<EmployeeRec>("Emp.csv").AsDataTable(); //var z = dt.Rows.Count; //return; foreach (var e in new ChoCSVReader <EmployeeRec>("Emp.csv")) { Console.WriteLine(e.ToStringEx()); } return; //var reader = new ChoCSVReader<EmployeeRec>("Emp.csv"); //var rec = (object)null; //while ((rec = reader.Read()) != null) // Console.WriteLine(rec.ToStringEx()); //var config = new ChoCSVRecordConfiguration(typeof(EmployeeRec)); //var e = new ChoCSVReader("Emp.csv", config); //dynamic i; //while ((i = e.Read()) != null) // Console.WriteLine(i.Id); ChoETLFramework.Initialize(); using (var stream = new MemoryStream()) using (var reader = new StreamReader(stream)) using (var writer = new StreamWriter(stream)) using (var parser = new ChoCSVReader <EmployeeRec>(reader)) { writer.WriteLine("Id,Name"); writer.WriteLine("1,Carl"); writer.WriteLine("2,Mark"); writer.Flush(); stream.Position = 0; //var dr = parser.AsDataReader(); //while (dr.Read()) //{ // Console.WriteLine(dr[0]); //} object row = null; //parser.Configuration.ColumnCountStrict = true; while ((row = parser.Read()) != null) { Console.WriteLine(row.ToStringEx()); } } }
static void Sample4() { using (var jr = new ChoJSONReader("sample4.json").Configure(c => c.UseJSONSerialization = true)) { using (var xw = new ChoCSVWriter("sample4.csv").WithFirstLineHeader()) { foreach (JObject jItem in jr) { dynamic item = jItem; var identifiers = ChoEnumerable.AsEnumerable <JObject>(jItem).Select(e => ((IList <JToken>)((dynamic)e).identifiers).Select(i => new { identityText = i["identityText"].ToString(), identityTypeCode = i["identityTypeCode"].ToString() })).SelectMany(x => x); var members = ChoEnumerable.AsEnumerable <JObject>(jItem).Select(e => ((IList <JToken>)((dynamic)e).members).Select(m => ((IList <JToken>)((dynamic)m).identifiers).Select(i => new { dob = m["dob"].ToString(), firstName = m["firstName"].ToString(), gender = m["gender"].ToString(), identityText = i["identityText"].ToString(), identityTypeCode = i["identityTypeCode"].ToString(), lastname = m["lastName"].ToString(), memberId = m["memberId"].ToString(), optOutIndicator = m["optOutIndicator"].ToString(), relationship = m["relationship"].ToString() }))).SelectMany(x => x).SelectMany(y => y); var comb = members.ZipEx(identifiers, (m, i) => { if (i == null) { return new { item.ccId, item.hId, identifiers_identityText = String.Empty, identifiers_identityTypeCode = String.Empty, members_dob = m.dob, members_firstName = m.firstName, members_gender = m.gender, members_identifiers_identityText = m.identityText, members_identityTypeCode = m.identityTypeCode, members_lastname = m.lastname, members_memberid = m.memberId, member_optOutIndicator = m.optOutIndicator, member_relationship = m.relationship, SubscriberFirstName = item.subscriberFirstame, SubscriberLastName = item.subscriberLastName, } } ; else { return new { item.ccId, item.hId, identifiers_identityText = i.identityText, identifiers_identityTypeCode = i.identityTypeCode, members_dob = m.dob, members_firstName = m.firstName, members_gender = m.gender, members_identifiers_identityText = m.identityText, members_identityTypeCode = m.identityTypeCode, members_lastname = m.lastname, members_memberid = m.memberId, member_optOutIndicator = m.optOutIndicator, member_relationship = m.relationship, SubscriberFirstName = item.subscriberFirstame, SubscriberLastName = item.subscriberLastName, } }; }); xw.Write(comb); } } } //foreach (var e in jr.Select(i => new[] { i.ccId.ToString(), i.hId.ToString() } //.Concat(((IList<JToken>)i.identifiers).Select(jt => jt["identityText"].ToString())) //.Concat(((IList<JToken>)i.members).Select(jt => jt["dob"].ToString())) //) //) // xw.Write(e.ToList().ToExpandoObject()); //foreach (var e in jr.Select(i => new { i.ccId, i.hId, identityText = ((IList<JToken>)i.identifiers).Select(x => x["identityText"]) })) //{ //} }
static void Main(string[] args) { var songs = new List <SongDTO>(); var tunes = new List <TuneDTO>(); var meters = new List <MeterDTO>(); var parts = new List <BookPartDTO>(); var sections = new List <BookSectionDTO>(); var songSection = new List <SongSectionDTO>(); var songSectionLine = new List <SongSectionLineDTO>(); XmlSerializer serializer = new XmlSerializer(typeof(object), new XmlRootAttribute("html")); var nodes = (XmlNode[])serializer.Deserialize(new XmlTextReader(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "raw2.xml"))); var lastSectionId = ""; var lastPartId = ""; var lastSong = new SongDTO { Number = 0 }; for (int i = 0; i < nodes.Length; i++) { if (nodes[i].Name == "h1") { //we're at a header var bookPart = new BookPartDTO { Id = nodes[i].InnerText.Underscore(), Name = nodes[i].InnerText.Humanize(LetterCasing.Title) }; parts.Add(bookPart); lastPartId = bookPart.Id; } else if (nodes[i].Name == "h2" && nodes[i].NextSibling.Name == "h2") { var children = nodes[i].ChildNodes; //were at a section title var bookSection = new BookSectionDTO { Id = nodes[i].InnerText.Underscore(), BookPartId = lastPartId, Name = nodes[i].InnerText.Humanize(LetterCasing.Title) }; sections.Add(bookSection); lastSectionId = bookSection.Id; } else if (nodes[i].Name == "h2" && nodes[i].NextSibling.Name == "p") { var rawMeterName = nodes[i].ChildNodes[1].InnerText; var meter = meters.FirstOrDefault(m => m.Name == rawMeterName); if (meter == null) { var newMeter = new MeterDTO { Id = rawMeterName, Name = rawMeterName }; meters.Add(newMeter); meter = newMeter; } var rawTuneName = nodes[i].ChildNodes[1].InnerText.Replace("[", "").Replace(".", ""); var tune = tunes.FirstOrDefault(t => t.Name == rawTuneName); if (tune == null) { var newTune = new TuneDTO { Id = rawTuneName, Name = rawTuneName }; tunes.Add(newTune); tune = newTune; } var song = new SongDTO { Number = lastSong.Number + 1, Id = (lastSong.Number + 1).ToString(), BookSectionId = lastSectionId, MeterId = meter.Id, TuneId = tune.Id }; songs.Add(song); lastSong = song; } else if (nodes[i].Name == "p") { //song body var body = nodes[i].InnerText.Replace("<span>", "").Replace("</span>", ""); var songSections = body.Split("\r\n \r\n", StringSplitOptions.None).ToList(); for (int ii = 0; ii < songSections.Count; ii++) { if (songSections[ii].Count() <= 1) { break; } var section = new SongSectionDTO { Id = lastSong.Id + "." + ii, SongId = lastSong.Id, Order = ii }; songSection.Add(section); var currentSongLines = songSections[ii].Split("\n").ToList(); //remove spacing currentSongLines.RemoveAll(r => r == "\r"); for (int b = 0; b < currentSongLines.Count; b++) { currentSongLines[b] = currentSongLines[b].Replace(" ", "").Replace("\r", ""); } for (int iii = 0; iii < currentSongLines.Count; iii++) { var line = currentSongLines[iii]; if (line.Trim() == "") { continue; } songSectionLine.Add(new SongSectionLineDTO { Id = lastSong.Id + "." + section.Order + "." + iii.ToString(), Order = iii, SongSectionId = section.Id, Line = line }); } } } } using (var writer = new ChoCSVWriter <SongDTO>(@"C:\output\songs.csv")) { writer.Write(songs); } using (var writer = new ChoCSVWriter <TuneDTO>(@"C:\output\tunes.csv")) { writer.Write(tunes); } using (var writer = new ChoCSVWriter <MeterDTO>(@"C:\output\meters.csv")) { writer.Write(meters); } using (var writer = new ChoCSVWriter <BookPartDTO>(@"C:\output\book_parts.csv")) { writer.Write(parts); } using (var writer = new ChoCSVWriter <BookSectionDTO>(@"C:\output\book_sections.csv")) { writer.Write(sections); } using (var writer = new ChoCSVWriter <SongSectionDTO>(@"C:\output\song_sections.csv")) { writer.Write(songSection); } using (var writer = new ChoCSVWriter <SongSectionLineDTO>(@"C:\output\song_section_lines.csv")) { writer.Write(songSectionLine); } }
public static int RunSimulation(string fileName, DateTime?fromDate, DateTime?toDate, int verbosity, bool graphic, Int32 delay, bool interactive, bool csvOutput) { Engine engine = new Engine(); if (fileName.Length == 0) { throw new Exception("no file specified"); } DateTime currentTime = engine.LoadYaml(fileName, true); Console.WriteLine("Loaded file in {0} ms", engine.LoadDelay.Milliseconds); engine.World.Time.Restart(); DateTime reachDate = toDate ?? currentTime; if (fromDate != null) { if (fromDate < engine.World.Time.Start) { throw new Exception(String.Format( "`from` date ({0:yyyy-MM-dd}) cannot be lower than the simulation start date ({1:yyyy-MM-dd})", fromDate, engine.World.Time.Start)); } engine.World.Time.Current = (DateTime)fromDate; // Yes, the current date, NOT the starting one verbosity = Math.Max(1, verbosity); } if (toDate != null) { if (toDate < engine.World.Time.Start) { throw new Exception(String.Format( "`to` date ({0:yyyy-MM-dd}) cannot be lower than the simulation start date ({1:yyyy-MM-dd})", toDate, engine.World.Time.Start)); } } if (fromDate != null && reachDate < fromDate) { throw new Exception(String.Format( "the target date ({0:yyyy-MM-dd}) cannot be lower than `from` date ({1:yyyy-MM-dd})", reachDate, fromDate)); } if (verbosity <= 0) // No step details to show? Fast-forward directly to target! { engine.World.Time.Current = reachDate; } ChoCSVWriter csvWriter = null; if (csvOutput) { csvWriter = new ChoCSVWriter(fileName + ".csv"); csvWriter.WithFirstLineHeader(); string[] fields = new string[2 + engine.World.Kpis.Count + (verbosity > 1 ? engine.World.Map.SizeX * engine.World.Map.SizeY * engine.World.Resources.Count : 0)]; int i = 0; fields[i++] = "#"; fields[i++] = "Date"; foreach (var kpi in engine.World.Kpis) { fields[i++] = kpi.Name; } for (int y = 0; y < engine.World.Map.SizeY; y++) { for (int x = 0; x < engine.World.Map.SizeX; x++) { foreach (var resource in engine.World.Resources.Values) { fields[i++] = "[" + x + ":" + y + "] " + resource.Name; } } } csvWriter.WriteHeader(fields); } IDictionary <string, int> widths = engine.World.ComputeWidths(); // Compute all the maximum widths (int, int)startPosition = Console.GetCursorPosition(); //-- Main loop while (!engine.World.Time.Reached(reachDate) || interactive) { if (verbosity >= 1) { PrintCurrent(engine, verbosity, graphic, startPosition, widths, csvWriter); } if (interactive) { ConsoleKeyInfo cki = Console.ReadKey(true); if ((cki.Key == ConsoleKey.LeftArrow) || (cki.Key == ConsoleKey.PageUp)) { // Go Backward engine.World.Time.StepBack(); } else if ((cki.Key == ConsoleKey.UpArrow) || (cki.Key == ConsoleKey.Home)) { // Go to Start engine.World.Time.Restart(); } else if ((cki.Key == ConsoleKey.DownArrow) || (cki.Key == ConsoleKey.End)) { // Go to End engine.World.Time.Current = engine.World.Time.End; } else if ((cki.Key == ConsoleKey.T)) { // Go to target date engine.World.Time.Current = reachDate; } else if ((cki.Key == ConsoleKey.Escape) || (cki.Key == ConsoleKey.Q)) { //Exit break; } else { engine.World.Time.Step(); } } else { if (delay > 0) { Thread.Sleep(delay); } engine.World.Time.Step(); } } PrintCurrent(engine, verbosity, graphic, startPosition, widths, csvWriter); if (csvWriter != null) { csvWriter.Close(); } return(0); }
public async Task <List <int> > Get(string id) { string path = AppDomain.CurrentDomain.BaseDirectory + @"pauseproject.json"; Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", path); database = FirestoreDb.Create("pauseproject-349dd"); var res = await GetCollection(id); string filepath = AppDomain.CurrentDomain.BaseDirectory; using (StreamWriter file = new System.IO.StreamWriter(filepath + @"\..\..\..\Data\users.json")) { JsonSerializer serializer = new JsonSerializer(); serializer.Serialize(file, res); } using (var r = new ChoJSONReader(filepath + @"\..\..\..\Data\users.json")) { using (var w = new ChoCSVWriter(filepath + @"\..\..\..\Data\" + "users.csv").WithFirstLineHeader()) { w.Write(r); } } //start machine learning algorithm var mlContext = new MLContext(); var trainingDataView = mlContext.Data.LoadFromTextFile <GameStarFSDTO>(filepath + @"..\..\..\Data\users.csv", hasHeader: true, separatorChar: ','); var testDataView = mlContext.Data.LoadFromTextFile <GameStarFSDTO>(filepath + @"..\..\..\Data\usersTest.csv", hasHeader: true, separatorChar: ','); var options = new MatrixFactorizationTrainer.Options { MatrixColumnIndexColumnName = "userIDEncoded", MatrixRowIndexColumnName = "collectionIDEncoded", LabelColumnName = "value", NumberOfIterations = 20, ApproximationRank = 100 }; var pipeline = mlContext.Transforms.Conversion.MapValueToKey( inputColumnName: "userID", outputColumnName: "userIDEncoded") .Append(mlContext.Transforms.Conversion.MapValueToKey( inputColumnName: "collectionID", outputColumnName: "collectionIDEncoded") .Append(mlContext.Recommendation().Trainers.MatrixFactorization(options))); var model = pipeline.Fit(trainingDataView); var predictions = model.Transform(testDataView); var metrics = mlContext.Regression.Evaluate(predictions, labelColumnName: "value", scoreColumnName: "Score"); var predictionEngine = mlContext.Model.CreatePredictionEngine <GameStarFSDTO, GameRatingPrediction>(model); //predict specific game for a user /* * var prediction = predictionEngine.Predict( * new GameStarFSDTO() * { * userID = "Xa5hyfP8HjaX9kbsLTnckuQfuaI3", * collectionID = 4200 * } * ); * Console.WriteLine($" Score: {prediction.Score}"); * Console.WriteLine(); */ Games.LoadGameData(filepath + @"..\..\..\Data\recommendation-games.csv"); //Console.WriteLine(Games._games.Value.Count); var top5 = (from m in Games._games.Value let p = predictionEngine.Predict( new GameStarFSDTO() { userID = id, collectionID = m.ID }) orderby p.Score descending select(collectionID: m.ID, p.Score)).Take(10); List <int> gamesRecommended = new List <int>(); foreach (var t in top5) { gamesRecommended.Add((int)Games.Get(t.collectionID)?.ID); } //Console.WriteLine($" Score:{t.Score}\tMovie: {Games.Get(t.collectionID)?.ID}"); return(gamesRecommended); }
static void Main(string[] args) { HttpClient client = new HttpClient(); var hasValues = true; var page = 1; List <Device> objects = new List <Device>(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.Timeout = new TimeSpan(0, 2, 30); var json = ""; while (hasValues) { var url = string.Format("https://api.smartcitizen.me/v0/devices?page={0}", page); // var url = string.Format("https://airapi.airly.eu/v1/sensorsWithWios/current?southwestLat=49&southwestLong=22&northeastLat=54&northeastLong=18&apikey=TsTYb8xiNEI5c4Uc92GiFofG4DnP1W0l"); HttpResponseMessage response = client.GetAsync(url).Result; if (response.IsSuccessStatusCode) { //var json = response.Content.ReadAsStringAsync().Result; Console.WriteLine("response " + page); var temp = response.Content.ReadAsStringAsync().Result; if (temp == "[]") { hasValues = false; Console.WriteLine("The list is empty"); } else if (json == "") { json = temp; } else { json = json.Substring(0, json.Length - 1); json += "," + temp.Substring(1, temp.Length - 1); } } page++; } string csvapath = "D:\\Others\\repositories\\source\\repos\\Csharpprojects\\Csharpprojects\\Readfromafile\\MyList.json"; File.WriteAllText(csvapath, json); using (var csv = new ChoCSVWriter("dev2.csv").WithFirstLineHeader()) { using (var json23 = new ChoJSONReader(csvapath)) { csv.Write(json23.Select(i => new { // Info about device Id = i.id != null ? i.id : 0, DeviceUuid = i.uuid != null ? i.uuid : null, DeviceName = i.name != null ? i.name : null, DeviceDescription = i.description != null ? i.description : null, DeviceState = i.state != null ? i.state : null, SystemTags = i.system_tags.Length > 0 ? i.system_tags[0] : null, UserTags = i.user_tags.Length > 0 ? i.user_tags[0] : null, LastReading = i.last_reading_at != null ? i.last_reading_at : null, AddedAt = i.added_at != null ? i.added_at : null, Updated = i.updated_at != null ? i.updated_at : null, MacAddress = i.mac_address != null ? i.mac_address : null, //Info about owner OwnerID = i.owner != null ? i.owner.id : 0, OwnerUuid = i.owner != null ? i.owner.uuid : null, OwnerUserName = i.owner != null ? i.owner.username : null, OwnerAvatar = i.owner != null ? i.owner.avatar : null, OwnerUrl = i.owner != null ? i.owner.url : null, OwnerJoinDate = i.owner != null ? i.owner.joined_at : null, OwnerCity = i.owner != null ? i.owner.location.city : null, OwnerCountry = i.owner != null ? i.owner.location.country : null, OwnerCountryCode = i.owner != null ? i.owner.location.country_code : null, // DeviceIds = i.owner.device_ids.Length > 0 ? i.owner.device_ids[0] : 0, //Info about data DataRecorded_At = i.data != null ? i.data.recorded_at : null, DataAdded_At = i.data != null ? i.data.added_at : null, DataLocation = i.data.ip != null ? i.data.location.ip : null, DataExposure = i.data != null ? i.data.location.exposure : null, DataElevation = i.data != null ? i.data.location.elevation : 0, DataLatitude = i.data != null ? i.data.location.latitude : 0, DataLongitude = i.data != null ? i.data.location.longitude : 0, DataGeoLocation = i.data != null ? i.data.location.geohash : null, DataCity = i.data != null ? i.data.location.city : null, DataCountryCode = i.data != null ? i.data.location.country_code : null, DataCountry = i.data != null ? i.data.location.country : null, //SensorBattery BSensorsId = i.data.sensors.Length > 0 ? i.data.sensors[0].id : 0, BSensortAncestry = i.data.sensors.Length > 0 ? i.data.sensors[0].ancestry : null, BSensorName = i.data.sensors.Length > 0 ? i.data.sensors[0].name : null, BSensorDescription = i.data.sensors.Length > 0 ? i.data.sensors[0].description : null, BSensorUnit = i.data.sensors.Length > 0 ? i.data.sensors[0].unit : 0, BSensorCreatedAt = i.data.sensors.Length > 0 ? i.data.sensors[0].created_at : DateTime.MinValue, BSensorUpdated_at = i.data.sensors.Length > 0 ? i.data.sensors[0].updated_at : DateTime.MinValue, BSensorMeasurement_id = i.data.sensors.Length > 0 ? i.data.sensors[0].measurement_id : 0, BSensorUuid = i.data.sensors.Length > 0 ? i.data.sensors[0].uuid : null, BSensorValue = i.data.sensors.Length > 0 ? i.data.sensors[0].value : 0, BSensorRawValue = i.data.sensors.Length > 0 ? i.data.sensors[0].raw_value : 0, BSensorPrevValue = i.data.sensors.Length > 0 ? i.data.sensors[0].prev_value : 0, BSensorPrevRawValue = i.data.sensors.Length > 0 ? i.data.sensors[0].prev_raw_value : 0, //SensorHumidity SensorsHId = i.data.sensors.Length > 1 ? i.data.sensors[1].id : 0, SensortHAncestry = i.data.sensors.Length > 1 ? i.data.sensors[1].ancestry : null, SensorHName = i.data.sensors.Length > 1 ? i.data.sensors[1].name : null, SensorHDescription = i.data.sensors.Length > 1 ? i.data.sensors[1].description : null, SensorHUnit = i.data.sensors.Length > 1 ? i.data.sensors[1].unit : 0, SensorHCreatedAt = i.data.sensors.Length > 1 ? i.data.sensors[1].created_at : DateTime.MinValue, SensorHUpdated_at = i.data.sensors.Length > 1 ? i.data.sensors[1].updated_at : DateTime.MinValue, SensorHMeasurement_id = i.data.sensors.Length > 1 ? i.data.sensors[1].measurement_id : 0, SensorHUuid = i.data.sensors.Length > 1 ? i.data.sensors[1].uuid : null, SensorHValue = i.data.sensors.Length > 1 ? i.data.sensors[1].value : 0, SensorHRawValue = i.data.sensors.Length > 1 ? i.data.sensors[1].raw_value : 0, SensorHPrevValue = i.data.sensors.Length > 1 ? i.data.sensors[1].prev_value : 0, SensorHPrevRawValue = i.data.sensors.Length > 1 ? i.data.sensors[1].prev_raw_value : 0, //Temperature TSensorsId = i.data.sensors.Length > 2 ? i.data.sensors[2].id : 0, TSensortAncestry = i.data.sensors.Length > 2 ? i.data.sensors[2].ancestry : null, TSensorName = i.data.sensors.Length > 2 ? i.data.sensors[2].name : null, TSensorDescription = i.data.sensors.Length > 2 ? i.data.sensors[2].description : null, TSensorUnit = i.data.sensors.Length > 2 ? i.data.sensors[2].unit : 0, TSensorCreatedAt = i.data.sensors.Length > 2 ? i.data.sensors[2].created_at : DateTime.MinValue, TSensorUpdated_at = i.data.sensors.Length > 2 ? i.data.sensors[2].updated_at : DateTime.MinValue, TSensorMeasurement_id = i.data.sensors.Length > 2 ? i.data.sensors[2].measurement_id : 0, TSensorUuid = i.data.sensors.Length > 2 ? i.data.sensors[2].uuid : null, TSensorValue = i.data.sensors.Length > 2 ? i.data.sensors[2].value : 0, TSensorRawValue = i.data.sensors.Length > 2 ? i.data.sensors[2].raw_value : 0, TSensorPrevValue = i.data.sensors.Length > 2 ? i.data.sensors[2].prev_value : 0, TSensorPrevRawValue = i.data.sensors.Length > 2 ? i.data.sensors[2].prev_raw_value : 0, //No2 gas sensor GasSensorsId = i.data.sensors.Length > 3 ? i.data.sensors[3].id : 0, GasSensortAncestry = i.data.sensors.Length > 3 ? i.data.sensors[3].ancestry : null, GasSensorName = i.data.sensors.Length > 3 ? i.data.sensors[3].name : null, GasSensorDescription = i.data.sensors.Length > 3 ? i.data.sensors[3].description : null, GasSensorUnit = i.data.sensors.Length > 3 ? i.data.sensors[3].unit : 0, GasSensorCreatedAt = i.data.sensors.Length > 3 ? i.data.sensors[3].created_at : DateTime.MinValue, GasSensorUpdated_at = i.data.sensors.Length > 3 ? i.data.sensors[3].updated_at : DateTime.MinValue, GasSensorMeasurement_id = i.data.sensors.Length > 3 ? i.data.sensors[3].measurement_id : 0, GasSensorUuid = i.data.sensors.Length > 4 ? i.data.sensors[3].uuid : null, GasSensorValue = i.data.sensors.Length > 4 ? i.data.sensors[3].value : 0, GasSensorRawValue = i.data.sensors.Length > 4 ? i.data.sensors[3].raw_value : 0, GasSensorPrevValue = i.data.sensors.Length > 4 ? i.data.sensors[3].prev_value : 0, GasSensorPrevRawValue = i.data.sensors.Length > 4 ? i.data.sensors[3].prev_raw_value : 0, //CO2 gas sensor CoSensorsId = i.data.sensors.Length > 5 ? i.data.sensors[4].id : -1, CoSensortAncestry = i.data.sensors.Length > 5 ? i.data.sensors[4].ancestry : null, CoSensorName = i.data.sensors.Length > 5 ? i.data.sensors[4].name : null, CoSensorDescription = i.data.sensors.Length > 5 ? i.data.sensors[4].description : null, CoSensorUnit = i.data.sensors.Length > 5 ? i.data.sensors[4].unit : -1, CoSensorCreatedAt = i.data.sensors.Length > 5 ? i.data.sensors[4].created_at : DateTime.MinValue, CoSensorUpdated_at = i.data.sensors.Length > 5 ? i.data.sensors[4].updated_at : DateTime.MinValue, CoSensorMeasurement_id = i.data.sensors.Length > 5 ? i.data.sensors[4].measurement_id : -1, CoSensorUuid = i.data.sensors.Length > 5 ? i.data.sensors[4].uuid : null, CoSensorValue = i.data.sensors.Length > 5 ? i.data.sensors[4].value : -1, CoSensorRawValue = i.data.sensors.Length > 5 ? i.data.sensors[4].raw_value : -1, CoSensorPrevValue = i.data.sensors.Length > 5 ? i.data.sensors[4].prev_value : -1, CoSensorPrevRawValue = i.data.sensors.Length > 5 ? i.data.sensors[4].prev_raw_value : -1, //Network sensor NetSensorsId = i.data.sensors.Length > 6 ? i.data.sensors[5].id : 0, NetSensortAncestry = i.data.sensors.Length > 6 ? i.data.sensors[5].ancestry : null, NetSensorName = i.data.sensors.Length > 6 ? i.data.sensors[5].name : null, NetSensorDescription = i.data.sensors.Length > 6 ? i.data.sensors[5].description : null, NetSensorUnit = i.data.sensors.Length > 6 ? i.data.sensors[5].unit : 0, NetSensorCreatedAt = i.data.sensors.Length > 6 ? i.data.sensors[5].created_at : DateTime.MinValue, NetSensorUpdated_at = i.data.sensors.Length > 6 ? i.data.sensors[5].updated_at : DateTime.MinValue, NetSensorMeasurement_id = i.data.sensors.Length > 6 ? i.data.sensors[5].measurement_id : 0, NetSensorUuid = i.data.sensors.Length > 6 ? i.data.sensors[5].uuid : null, NetSensorValue = i.data.sensors.Length > null ? i.data.sensors[5].value : 0, NetSensorRawValue = i.data.sensors.Length > null ? i.data.sensors[5].raw_value : 0, NetSensorPrevValue = i.data.sensors.Length > null ? i.data.sensors[5].prev_value : 0, NetSensorPrevRawValue = i.data.sensors.Length > null ? i.data.sensors[5].prev_raw_value : 0, //decibel sensor db DBSensorsId = i.data.sensors.Length > 7 ? i.data.sensors[6].id : 0, DBSensortAncestry = i.data.sensors.Length > 7 ? i.data.sensors[6].ancestry : null, DbSensorName = i.data.sensors.Length > 7 ? i.data.sensors[6].name : null, DbSensorDescription = i.data.sensors.Length > 7 ? i.data.sensors[6].description : null, DbSensorUnit = i.data.sensors.Length > 7 ? i.data.sensors[6].unit : 0, DbSensorCreatedAt = i.data.sensors.Length > 7 ? i.data.sensors[6].created_at : DateTime.MinValue, DbSensorUpdated_at = i.data.sensors.Length > 7 ? i.data.sensors[6].updated_at : DateTime.MinValue, DbSensorMeasurement_id = i.data.sensors.Length > 7 ? i.data.sensors[6].measurement_id : 0, DbSensorUuid = i.data.sensors.Length > 7 ? i.data.sensors[6].uuid : null, DbSensorValue = i.data.sensors.Length > 7 ? i.data.sensors[6].value : 0, DbSensorRawValue = i.data.sensors.Length > 7 ? i.data.sensors[6].raw_value : 0, DbSensorPrevValue = i.data.sensors.Length > 7 ? i.data.sensors[6].prev_value : 0, DbSensorPrevRawValue = i.data.sensors.Length > 7 ? i.data.sensors[6].prev_raw_value : 0, // LDR Analog Light Sensor LSensorsId = i.data.sensors.Length > 8 ? i.data.sensors[7].id : 0, LSensortAncestry = i.data.sensors.Length > 8 ? i.data.sensors[7].ancestry : null, LSensorName = i.data.sensors.Length > 8 ? i.data.sensors[7].name : null, LSensorDescription = i.data.sensors.Length > 8 ? i.data.sensors[7].description : null, LSensorUnit = i.data.sensors.Length > 8 ? i.data.sensors[7].unit : 0, LSensorCreatedAt = i.data.sensors.Length > 8 ? i.data.sensors[7].created_at : DateTime.MinValue, LSensorUpdated_at = i.data.sensors.Length > 8 ? i.data.sensors[7].updated_at : DateTime.MinValue, LSensorMeasurement_id = i.data.sensors.Length > 8 ? i.data.sensors[7].measurement_id : 0, LSensorUuid = i.data.sensors.Length > 8 ? i.data.sensors[7].uuid : null, LSensorValue = i.data.sensors.Length > 8 ? i.data.sensors[7].value : 0, LSensorRawValue = i.data.sensors.Length > 8 ? i.data.sensors[7].raw_value : 0, LSensorPrevValue = i.data.sensors.Length > 8 ? i.data.sensors[7].prev_value : 0, LSensorPrevRawValue = i.data.sensors.Length > 8 ? i.data.sensors[7].prev_raw_value : 0, //solar panel SolSensorsId = i.data.sensors.Length > 9 ? i.data.sensors[8].id : 0, SolSensortAncestry = i.data.sensors.Length > 9 ? i.data.sensors[8].ancestry : null, SolSensorName = i.data.sensors.Length > 9 ? i.data.sensors[8].name : null, SolSensorDescription = i.data.sensors.Length > 9 ? i.data.sensors[8].description : null, SolSensorUnit = i.data.sensors.Length > 9 ? i.data.sensors[8].unit : 0, SolSensorCreatedAt = i.data.sensors.Length > 9 ? i.data.sensors[8].created_at : DateTime.MinValue, SolSensorUpdated_at = i.data.sensors.Length > 9 ? i.data.sensors[8].updated_at : DateTime.MinValue, SolSensorMeasurement_id = i.data.sensors.Length > 9 ? i.data.sensors[8].measurement_id : 0, SolSensorUuid = i.data.sensors.Length > 9 ? i.data.sensors[8].uuid : null, SolSensorValue = i.data.sensors.Length > 9 ? i.data.sensors[8].value : 0, SolSensorRawValue = i.data.sensors.Length > 9 ? i.data.sensors[8].raw_value : 0, SolSensorPrevValue = i.data.sensors.Length > 9 ? i.data.sensors[8].prev_value : 0, SolSensorPrevRawValue = i.data.sensors.Length > 9 ? i.data.sensors[8].prev_raw_value : 0, //kit info KitId = i.kit != null ? i.kit.id : 0, KitUuid = i.kit != null ? i.kit.uuid : null, KitSlug = i.kit != null ? i.kit.slug : null, KitName = i.kit != null ? i.kit.name : null, KitDescription = i.kit != null ? i.kit.description : null, KitCreatedAt = i.kit != null ? i.kit.created_at : null, KitUpdatedAt = i.kit != null ? i.kit.updated_at : null })); Console.WriteLine(" List of devices is ready..."); } } }
private void Button_Click_1(object sender, RoutedEventArgs e) { string baseDirectory = InputFileTextBox.Text; IEnumerable <string> filesToSolve = Enumerable.Empty <string>(); try { filesToSolve = System.IO.Directory.EnumerateFiles(baseDirectory, "*.fits", SearchOption.AllDirectories) .Union(System.IO.Directory.EnumerateFiles(baseDirectory, "*.cr2", SearchOption.AllDirectories)) .Union(System.IO.Directory.EnumerateFiles(baseDirectory, "*.tif", SearchOption.AllDirectories)); /*var directory = new DirectoryInfo(baseDirectory); * var masks = new[] { "*.cr2", "*.fits" }; * filesToSolve = masks.SelectMany(directory.EnumerateFiles); */ } catch (IOException ex) { Console.WriteLine("Error enumerating path" + ex); } string outputcsv_log = Path.Combine(baseDirectory, "gofits-4.csv"); var csvWriter = new ChoCSVWriter <FitsRecord>(outputcsv_log).WithFirstLineHeader(); object WriteLock = new object(); ParallelOptions options = new ParallelOptions { MaxDegreeOfParallelism = 8 }; //foreach (var imageFilePath in filesToSolve) Parallel.ForEach(filesToSolve, options, imageFilePath => { try { //string outputFilePath = GetOutputPath(imageFilePath); Console.Write(imageFilePath); FitsHeader fitsheader = new FitsHeader(); if (Path.GetExtension(imageFilePath) == "fits") { fitsheader = ReadFits(imageFilePath); } Console.Write(",Input Ra (degrees): " + fitsheader.RaDeg); Console.Write(",Input Dec (degrees):" + fitsheader.DecDeg); PlateSolveResult platesolveresults = new PlateSolveResult(); //platesolveresults = ExecuteAstap(imageFilePath); Console.Write(",Output Ra: " + platesolveresults.RaDeg); Console.Write(",Output Dec: " + platesolveresults.DecDeg); Console.WriteLine(",Output orientation: " + platesolveresults.Orientation); string AnalyzeFilename = Path.Combine(Path.GetDirectoryName(imageFilePath), Path.GetFileNameWithoutExtension(imageFilePath)) + ".csv"; ExecuteAnalyze(imageFilePath); MakeThumbNails(imageFilePath, fitsheader.NAXIS1, fitsheader.NAXIS2); lock (WriteLock) { FitsRecord fitsrecord = new FitsRecord(); fitsrecord.Filename = imageFilePath; fitsrecord.RequestedDecDeg = fitsheader.DecDeg; fitsrecord.RequestedRaDeg = fitsheader.RaDeg; fitsrecord.SolvedDecDeg = platesolveresults.DecDeg; fitsrecord.SolvedRaDeg = platesolveresults.RaDeg; fitsrecord.SolvedOrientation = platesolveresults.Orientation; fitsrecord.ImageType = fitsheader.ImageType; fitsrecord.NAXIS1 = fitsheader.NAXIS1; fitsrecord.NAXIS2 = fitsheader.NAXIS2; fitsrecord.Exposure = fitsheader.Exposure; fitsrecord.LocalDate = fitsheader.LocalDate; fitsrecord.UTCDate = fitsheader.UTCDate; fitsrecord.SiteLat = fitsheader.SiteLat; fitsrecord.SiteLong = fitsheader.SiteLong; fitsrecord.PixelPitch = fitsheader.PixelPitch; fitsrecord.Gain = fitsheader.Gain; fitsrecord.SensorTempC = fitsheader.SensorTempC; fitsrecord.FocalLength = fitsheader.FocalLength; fitsrecord.Object = fitsheader.Object; // public (double Alt, double Az) ConvertAltAz(double Lat, double Long, double RaHours, double DecHours, DateTime Date) (fitsrecord.AltCalculated, fitsrecord.AzCalculated) = ConvertAltAz(fitsheader.SiteLat, fitsheader.SiteLong, fitsheader.RaDeg, fitsheader.DecDeg, fitsheader.LocalDate); // (fitsheader.LocalDate;); if (File.Exists(AnalyzeFilename)) { foreach (var rec in new ChoCSVReader <AnalyzeResult>(AnalyzeFilename).WithDelimiter(";")) { fitsrecord.FWHM = rec.FWHM; fitsrecord.RND = rec.RND; fitsrecord.background = rec.background; fitsrecord.SNR = rec.SNR; fitsrecord.StarCount = rec.StarCount; fitsrecord.Collim = rec.Collim; fitsrecord.Unknown0 = rec.Unknown0; } } csvWriter.Write(fitsrecord); }