private void biometricsBtn_Click(object sender, EventArgs e) { string promptValue = new Prompt("Procesamiento biometrico", "Ingrese el número de sección de la prueba de la que desea hacer el procesamiento de datos biometricos").show(); if (!int.TryParse(promptValue, out int section)) { throw new Exception("Error al intentar parsear el número de seccción. Verifique que los datos sean correctos"); } ParserService parserService = new ParserService(); try { SkinMeasurement skinMeasurement = parserService.ParseCsvSkinMeasurement(SkinMeasurement.PATH, SkinMeasurement.FILE_NAME, SkinMeasurement.CSV_KEY); SkinDao skinDao = new SkinDao(); skinDao.SaveSkinMeasurement(skinMeasurement, section); } catch (Exception ex) { MessageBox.Show(ex.Message); } try { PulseMeasurement pulseMeasurement = parserService.ParseCsvPulseMeasurement(PulseMeasurement.PATH, PulseMeasurement.FILE_NAME, PulseMeasurement.CSV_KEY); PulseDao pulseDao = new PulseDao(); pulseDao.SavePulseMeasurement(pulseMeasurement, section); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public SkinMeasurement ParseCsvSkinMeasurement(string path, string fileName, string csvKey) { SkinMeasurement skinMeasurement = new SkinMeasurement(); try { using (var reader = new StreamReader(path + fileName)) using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture)) { csv.Configuration.RegisterClassMap <SkinStatisticMap>(); csv.Configuration.Delimiter = ";"; csv.Configuration.MissingFieldFound = null; skipCsvResumeUntilKey(csv, csvKey); var skinStatisticRecords = csv.GetRecords <SkinStatistic>(); skinMeasurement.AddSkinStatistics(skinStatisticRecords.ToList()); } } catch (Exception e) { Console.WriteLine("Ocurrio un error en el procesamiento de las mediciones de conductancia"); Console.WriteLine(e.Message); throw e; } return(skinMeasurement); }
public void SaveSkinMeasurement(SkinMeasurement skinMeasurement, int seccion) { SqlConnection dbConnection = DbConnection.GetConnection(); try { dbConnection.Open(); //TODO: ver si es transacional foreach (SkinStatistic skinStatistic in skinMeasurement.skinStatistics) { SqlCommand command = createCommandForRecord(seccion, dbConnection, skinStatistic); int recordsAffected = command.ExecuteNonQuery(); } } catch (SqlException e) { Console.WriteLine("Fallo la escritura de piel en la base"); Console.WriteLine(e.Message); } finally { dbConnection.Close(); } }