159 lines
9.8 KiB
C#
159 lines
9.8 KiB
C#
///
|
|
/// Copyright (c) 2021 Sensus Slovensko a.s.
|
|
///
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using log4net;
|
|
#if MANAGED
|
|
using Oracle.ManagedDataAccess.Client;
|
|
#else
|
|
using Oracle.DataAccess.Client;
|
|
#endif
|
|
using Common;
|
|
|
|
namespace TBF.Rig.Output.DB.SensusOracle
|
|
{
|
|
public class VtPruefstandWztypSd
|
|
{
|
|
private static readonly ILog log = LogManager.GetLogger(typeof(VtWztypSd));
|
|
|
|
public int IdPruefstand; /// Nummer des Prüfstandes
|
|
public int IdWztyp; /// Eindeutige ID des Wasserzählers
|
|
public int RevPruefstandWztyp; /// Revisionsnummer
|
|
public int Fuellzeit; /// Zeit zum füllen
|
|
public int Evakuierzeitvorne; /// Zeit zum Evakuieren vorne
|
|
public int Evakuierzeithinten; /// Zeit zum Evakuieren hinten
|
|
public int Spuelzeit; /// Zeit zum Spülen
|
|
public double Spueldurchfluss; /// Durchfluss beim Spülen
|
|
public int Abpresszeit; /// Zeit zum Abpressen
|
|
public float Abpressdruck; /// Mindestdruck beim Abpressen
|
|
public int Entwaesserzeit; /// Zeit zum Entwässern
|
|
public int Belueftenzeit; /// Zeit zum Belüften
|
|
public int Entwaessernmitbelueften; /// Wird belüftet?
|
|
public int Wirdjustiert; /// Wird justiert?
|
|
public int Mittelwerttiefe; /// Anzahl der Werte für Mittelwert des Durchflusses beim Justieren
|
|
public int Endkriterium; /// Erforderliche Gutmessung beim Justieren
|
|
public string Bemerkung; /// Bemerkung zum Datensatz
|
|
public int IdBenutzer; /// ID des Benutzers (Personalnummer)
|
|
public DateTime Aenderungsdatum; /// Datum der Änderung des Datensatzes
|
|
public bool Verwendet; /// Dieser Datensatz ist bereits für eine Prüfung verwendet worden
|
|
public bool Aktiv; /// Datensatz aktiviert?
|
|
|
|
/// <summary>
|
|
/// Default constructor
|
|
/// </summary>
|
|
public VtPruefstandWztypSd()
|
|
{
|
|
}
|
|
|
|
public int Write(OracleConnection conn, bool aktiv = true)
|
|
{
|
|
var cmd = new OracleCommand("INSERT INTO vt_pruefstand_wztyp_sd(anbid, id_pruefstand, id_wztyp, rev_pruefstand_wztyp," +
|
|
" fuellzeit, evakuierzeitvorne, evakuierzeithinten, spuelzeit, spueldurchfluss," +
|
|
" abpresszeit, abpressdruck, entwaesserzeit, belueftenzeit, entwaessernmitbelueften," +
|
|
" wirdjustiert, mittelwerttiefe, endkriterium, bemerkung, id_benutzer," +
|
|
" aenderungsdatum, verwendet, aktiv) " +
|
|
"VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, :14, :15, :16, :17, :18, :19, :20, :21, :22)", conn);
|
|
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Database.ProducerAnbid }); /// :1
|
|
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = IdPruefstand }); /// :2
|
|
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = IdWztyp }); /// :3
|
|
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = RevPruefstandWztyp }); /// :4
|
|
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Fuellzeit }); /// :5
|
|
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Evakuierzeitvorne }); /// :6
|
|
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Evakuierzeithinten }); /// :7
|
|
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Spuelzeit }); /// :8
|
|
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Spueldurchfluss }); /// :9
|
|
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Abpresszeit }); /// :10
|
|
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Single, Value = Abpressdruck }); /// :11
|
|
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Entwaesserzeit }); /// :12
|
|
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Belueftenzeit }); /// :13
|
|
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Entwaessernmitbelueften }); /// :14
|
|
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Wirdjustiert }); /// :15
|
|
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Mittelwerttiefe }); /// :16
|
|
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Endkriterium }); /// :17
|
|
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = Bemerkung }); /// :18
|
|
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = IdBenutzer }); /// :19
|
|
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.TimeStamp, Value = Aenderungsdatum }); /// :20
|
|
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Verwendet ? 1 : 0 }); /// :21
|
|
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = aktiv ? 1 : 0 }); /// :22
|
|
///
|
|
int rowsUpdated = cmd.ExecuteNonQuery(); /// returns updated rows count
|
|
|
|
if (rowsUpdated == 1)
|
|
log.DebugFormat("Successfully writen to DB: {0}", ToString());
|
|
else
|
|
log.DebugFormat("Not writen to DB (updated rows {0}): {1}", rowsUpdated, ToString());
|
|
|
|
return rowsUpdated;
|
|
|
|
}
|
|
|
|
public static IList<VtPruefstandWztypSd> Read(OracleConnection conn, int idPruefstand, int idWztyp)
|
|
{
|
|
var cmd = new OracleCommand("SELECT rev_pruefstand_wztyp, fuellzeit, evakuierzeitvorne, evakuierzeithinten, spuelzeit," +
|
|
" spueldurchfluss, abpresszeit, abpressdruck, entwaesserzeit, belueftenzeit, entwaessernmitbelueften," +
|
|
" wirdjustiert, mittelwerttiefe, endkriterium, bemerkung, id_benutzer, aenderungsdatum, verwendet, aktiv " +
|
|
"FROM vt_pruefstand_wztyp_sd " +
|
|
"WHERE anbid=:1 AND id_pruefstand=:2 AND id_wztyp=:3", conn);
|
|
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Database.ProducerAnbid }); /// :1
|
|
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = idPruefstand }); /// :2
|
|
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = idWztyp }); /// :3
|
|
///
|
|
var dr = cmd.ExecuteReader();
|
|
var list = new List<VtPruefstandWztypSd>();
|
|
while (dr.Read())
|
|
{
|
|
var record = new VtPruefstandWztypSd();
|
|
|
|
int i = 0;
|
|
try { record.RevPruefstandWztyp = dr.GetInt32(i++); } catch { record.RevPruefstandWztyp = 0; }
|
|
try { record.Fuellzeit = dr.GetInt32(i++); } catch { record.Fuellzeit = 0; }
|
|
try { record.Evakuierzeitvorne = dr.GetInt32(i++); } catch { record.Evakuierzeitvorne = 0; }
|
|
try { record.Evakuierzeithinten = dr.GetInt32(i++); } catch { record.Evakuierzeithinten = 0; }
|
|
try { record.Spuelzeit = dr.GetInt32(i++); } catch { record.Spuelzeit = 0; }
|
|
try { record.Spueldurchfluss = dr.GetDouble(i++); } catch { record.Spueldurchfluss = 0; }
|
|
try { record.Abpresszeit = dr.GetInt32(i++); } catch { record.Abpresszeit = 0; }
|
|
try { record.Abpressdruck = dr.GetFloat(i++); } catch { record.Abpressdruck = 0; }
|
|
try { record.Entwaesserzeit = dr.GetInt32(i++); } catch { record.Entwaesserzeit = 0; }
|
|
try { record.Belueftenzeit = dr.GetInt32(i++); } catch { record.Belueftenzeit = 0; }
|
|
try { record.Entwaessernmitbelueften = dr.GetInt32(i++); } catch { record.Entwaessernmitbelueften = 0; }
|
|
try { record.Wirdjustiert = dr.GetInt32(i++); } catch { record.Wirdjustiert = 0; }
|
|
try { record.Mittelwerttiefe = dr.GetInt32(i++); } catch { record.Mittelwerttiefe = 0; }
|
|
try { record.Endkriterium = dr.GetInt32(i++); } catch { record.Endkriterium = 0; }
|
|
try { record.Bemerkung = dr.GetString(i++); } catch { record.Bemerkung = string.Empty; }
|
|
try { record.IdBenutzer = dr.GetInt32(i++); } catch { record.IdBenutzer = 0; }
|
|
try { record.Aenderungsdatum = dr.GetDateTime(i++); } catch { record.Aenderungsdatum = DateTime.Now; }
|
|
try { record.Verwendet = dr.GetBoolean(i++); } catch { record.Verwendet = false; }
|
|
try { record.Aktiv = dr.GetBoolean(i++); } catch { record.Aktiv = false; }
|
|
|
|
list.Add(record);
|
|
}
|
|
dr.Close();
|
|
|
|
return list;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|