Statistics : IP addresses updated, export in CSV format implemented.

This commit is contained in:
Milan Hanajik 2020-10-30 08:23:59 +01:00
parent e1a185efdf
commit 9758411519
3 changed files with 43 additions and 7 deletions

View File

@ -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;",
};

View File

@ -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<Results.Entities.Batch>())
.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);
}
}

View File

@ -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<DataPoint> 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<DataPoint>();
}
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));
}
}
}
}