diff --git a/Statistics/LocalSettings.cs b/Statistics/LocalSettings.cs index 827a4d289..ee29efb4b 100644 --- a/Statistics/LocalSettings.cs +++ b/Statistics/LocalSettings.cs @@ -250,13 +250,13 @@ namespace Statistics { "SERVER=10.42.130.69; DATABASE=st-wr10-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;", "SERVER=10.42.129.27; DATABASE=st-wr11-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;", - "SERVER=10.42.128.61; DATABASE=st-wr13-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;", - "SERVER=10.42.130.72; DATABASE=st-wr14-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;", + "SERVER=10.42.130.52; DATABASE=st-wr13-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;", + "SERVER=10.42.128.61; DATABASE=st-wr14-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;", "SERVER=10.42.130.71; DATABASE=st-wr15-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;", "SERVER=10.42.130.165; DATABASE=st-wr18-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;", "SERVER=10.42.128.159; DATABASE=st-wr19-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;", "SERVER=10.42.130.76; DATABASE=st-wr20-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;", - "SERVER=10.42.128.201; DATABASE=st-wr21-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;", + "SERVER=10.42.130.156; DATABASE=st-wr21-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;", "SERVER=10.42.130.131; DATABASE=iperlspecial-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;", }; diff --git a/Statistics/StatisticsDlg.cs b/Statistics/StatisticsDlg.cs index 4d89f5a41..5f0ced3f6 100644 --- a/Statistics/StatisticsDlg.cs +++ b/Statistics/StatisticsDlg.cs @@ -88,19 +88,21 @@ namespace Statistics for (int i = 0; i < Program.LocalSettings.ConnectionStrings.Length; i++) { - if (!string.IsNullOrEmpty(Program.LocalSettings.GetConnectionString(i))) + string connStr = Program.LocalSettings.GetConnectionString(i); + + if (!string.IsNullOrEmpty(connStr)) { - sessionFactories[i] = null; try { sessionFactories[i] = Fluently.Configure() - .Database(MySQLConfiguration.Standard.ConnectionString(Program.LocalSettings.GetConnectionString(i))) + .Database(MySQLConfiguration.Standard.ConnectionString(connStr)) .Mappings(m => m.FluentMappings.AddFromAssemblyOf()) .ExposeConfiguration(BuildSchema) .BuildSessionFactory(); } catch (Exception) { + sessionFactories[i] = null; MessageBox.Show(string.Format("Cannot open one of database of {0}", Program.LocalSettings.GetBenchName(i)), "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } diff --git a/Statistics/UserControls/StatisticsCtrl.cs b/Statistics/UserControls/StatisticsCtrl.cs index a2f06bdbe..d876757d5 100644 --- a/Statistics/UserControls/StatisticsCtrl.cs +++ b/Statistics/UserControls/StatisticsCtrl.cs @@ -1,8 +1,10 @@ /// -/// Copyright (c) 2018 Sensus Slovensko a.s. +/// Copyright (c) 2018-2020 Sensus Slovensko a.s. /// using System; using System.Collections.Generic; +using System.IO; +using System.Text; using System.Windows.Forms; using System.Windows.Forms.DataVisualization.Charting; using Results.Entities; @@ -10,10 +12,24 @@ using Statistics.Resources; namespace Statistics.UserControls { + class DataPoint + { + public DateTime StartTime; + public double RefError; + + public DataPoint(DateTime startTime, double refError) + { + StartTime = startTime; + RefError = refError; + } + } + + public partial class StatisticsCtrl : UserControl { public int Id; /// Index of the tab page public MidOrWaterMetersCtrl MidCtrl; /// Reference to the parent control + IList currentData; public StatisticsCtrl() { @@ -21,6 +37,7 @@ namespace Statistics.UserControls chart1.ChartAreas[0].AxisX.LabelStyle.Format = "dd.MM.yy"; chart1.ChartAreas[0].AxisX.Interval = 1; chart1.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Days; + currentData = new List(); } private void updateButton_Click(object sender, EventArgs e) @@ -36,6 +53,8 @@ namespace Statistics.UserControls if (results != null) { + currentData.Clear(); + foreach (var r in results) { if (r.ErrorMaster != 0) @@ -45,6 +64,7 @@ namespace Statistics.UserControls if (MidCtrl.IsFlowEnabled(i) && (MidCtrl.FlowFrom(i) <= r.FlowMean) && (r.FlowMean <= MidCtrl.FlowTo(i))) { chart1.Series[string.Format("Flow {0}", i)].Points.AddXY(r.StartTime, r.ErrorMaster); + currentData.Add(new DataPoint(r.StartTime, r.ErrorMaster)); } } } @@ -56,7 +76,21 @@ namespace Statistics.UserControls private void exportButton_Click(object sender, EventArgs e) { + SaveFileDialog dlg = new SaveFileDialog(); + dlg.Filter = "CSV files (*.csv)|*.csv|All files (*.*)|*.*"; + if (dlg.ShowDialog() == DialogResult.OK) + { + using (TextWriter writer = new StreamWriter(dlg.FileName)) + { + foreach (var d in currentData) + { + writer.WriteLine("{0:dd.MM.yyyy HH:mm}; {1}", d.StartTime, d.RefError); + } + } + + MessageBox.Show(string.Format("Data written to file {0}", dlg.FileName)); + } } } }