From 0cf2c442ecee0363590db7e905f98f2ccc68b4e0 Mon Sep 17 00:00:00 2001 From: Milan Hanajik Date: Mon, 20 Sep 2021 09:11:05 +0200 Subject: [PATCH] DB.SensusOracle.Database changes : DataSource / UserId / Password / AnbId can be configured now, ver. 2.26.1737 --- .../Output/DB/SensusOracle/Database.cs | 53 +++--- .../Output/DB/SensusOracle/DatabaseCfg.cs | 154 +++++++++++++++++- .../Output/DB/SensusOracle/DatabaseCfgCtrl.cs | 76 --------- .../SensusOracle/DatabaseCfgCtrl.designer.cs | 100 ------------ .../DB/SensusOracle/DatabaseCfgCtrl.resx | 120 -------------- .../Output/DB/SensusOracle/Factory.cs | 3 +- .../Output/DB/SensusOracle/ProcedureParams.cs | 10 +- TBF/Properties/AssemblyInfo.cs | 4 +- TBF/TBF.csproj | 9 - 9 files changed, 180 insertions(+), 349 deletions(-) delete mode 100644 TBF/BenchControl/Output/DB/SensusOracle/DatabaseCfgCtrl.cs delete mode 100644 TBF/BenchControl/Output/DB/SensusOracle/DatabaseCfgCtrl.designer.cs delete mode 100644 TBF/BenchControl/Output/DB/SensusOracle/DatabaseCfgCtrl.resx diff --git a/TBF/BenchControl/Output/DB/SensusOracle/Database.cs b/TBF/BenchControl/Output/DB/SensusOracle/Database.cs index 02b45c77c..24dfd0aba 100644 --- a/TBF/BenchControl/Output/DB/SensusOracle/Database.cs +++ b/TBF/BenchControl/Output/DB/SensusOracle/Database.cs @@ -58,7 +58,7 @@ namespace TBF.BenchControl.Output.DB.SensusOracle public override string ToString() { return string.Format("{0}({1})", ClassName, Cfg.ToString(-1)); } DatabaseCfg dbCfg; - public int Anbid_Producer { get { return 4; } } + public int Anbid_Producer { get { return dbCfg.ProducerId; } } public DBUsed DBUsed { get { return (dbCfg == null || dbCfg.ProcParams == null) ? DBUsed.None : dbCfg.ProcParams.DBUsed; } } public WMKind WMKind { get { return (dbCfg == null || dbCfg.ProcParams == null) ? WMKind.iPERL : dbCfg.ProcParams.WMKind; } } @@ -138,27 +138,28 @@ namespace TBF.BenchControl.Output.DB.SensusOracle { currentOpState = OpState.None; + //productionDB = new OracleConnection("Data Source=STARA01.WORLD;User Id=deltachef;Password=deltachef;"); + //qualityDB = new OracleConnection("Data Source=STARA01.WORLD;User Id=deltaqual;Password=test;"); + //testDB = new OracleConnection("Data Source=STARA_TEST.WORLD;User Id=deltachef;Password=deltachef;"); + ProductionDB = new OracleConnection(string.Format("Data Source={0};User Id={1};Password={2};", dbCfg.ProductionDataSource, dbCfg.ProductionUserId, dbCfg.ProductionPassword)); + QualityDB = new OracleConnection(string.Format("Data Source={0};User Id={1};Password={2};", dbCfg.QualityDataSource, dbCfg.QualityUserId, dbCfg.QualityPassword)); + TestDB = new OracleConnection(string.Format("Data Source={0};User Id={1};Password={2};", dbCfg.TestDataSource, dbCfg.TestUserId, dbCfg.TestPassword)); + + /// + /// Do something with the database to see if the connection works well + /// if (dbCfg.DebugLevel == DebugMode.Normal) { - ProductionDB = new OracleConnection("Data Source=STARA01.WORLD;User Id=deltachef;Password=deltachef;"); - QualityDB = new OracleConnection("Data Source=STARA01.WORLD;User Id=deltaqual;Password=test;"); - TestDB = new OracleConnection("Data Source=STARA_TEST.WORLD;User Id=deltachef;Password=deltachef;"); + SelectedDB.Open(); - /// - /// Do something with the database to see if the connection works well - /// - if (DBUsed == DBUsed.Production) - { - SelectedDB.Open(); + string rslt = "none"; + OracleCommand cmd = new OracleCommand("SELECT standort FROM anbieter_sd WHERE anbid = :1", ProductionDB); + cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_Producer }); + OracleDataReader dr = cmd.ExecuteReader(); + if (dr.Read()) rslt = dr.GetString(0); + dr.Close(); - string rslt = "none"; - OracleCommand cmd = new OracleCommand("SELECT standort FROM anbieter_sd WHERE anbid = 4", SelectedDB); - OracleDataReader dr = cmd.ExecuteReader(); - if (dr.Read()) rslt = dr.GetString(0); - dr.Close(); - - SelectedDB.Close(); - } + SelectedDB.Close(); log.FatalFormat("{0} initialized: {1}", Name, this); } @@ -852,7 +853,7 @@ namespace TBF.BenchControl.Output.DB.SensusOracle } - if (!dbCfg.TestMode) + if (dbCfg.DebugLevel == DebugMode.Normal) { OracleCommand cmd = new OracleCommand("INSERT INTO vt_pruefreihe_pd(anbid, id_pruefstand, id_wzpruefreihe, id_wztyp," + " rev_wztyp, rev_pruefstand_wztyp, startdatumzeit, enddatumzeit, betriebsart," + @@ -897,7 +898,7 @@ namespace TBF.BenchControl.Output.DB.SensusOracle double Q_ist = (tr.VolumeMaster != 0) ? (tr.FlowVolume * tr.VolumeCTV / tr.VolumeMaster) : (double)tr.FlowVolume; /// - if (!dbCfg.TestMode) + if (dbCfg.DebugLevel == DebugMode.Normal) { #if false OracleCommand cmd2 = new OracleCommand("INSERT INTO vt_pruefdurchfluss_pd(anbid, id_pruefstand, id_wzpruefreihe, pruefungsnr, pvol, pmasse," + @@ -1022,7 +1023,7 @@ namespace TBF.BenchControl.Output.DB.SensusOracle int sekundaere_Adr = wm.Passed ? 1 : 0; int idBenutzer = 6; // = wm.Batch.UserNumber; - if (!dbCfg.TestMode) + if (dbCfg.DebugLevel == DebugMode.Normal) { OracleCommand cmd = new OracleCommand("UPDATE vt_zaehler_pd " + "SET auftragsnummer=:1, vt_identnummer=:2, max_pruefindex=:3, hydr_pruefung=:4, id_benutzer=:5, baujahr=:6 " + @@ -1079,7 +1080,7 @@ namespace TBF.BenchControl.Output.DB.SensusOracle log.WarnFormat("SIM: VT_ZAEHLER_PD inserted or updated, PcbNr={0}, pos={1}, maxPruefix={2}", wm.SerialNr, wm.WMPosition, max_Pruefindex); } - if (!dbCfg.TestMode) + if (dbCfg.DebugLevel == DebugMode.Normal) { OracleCommand cmd = new OracleCommand("INSERT INTO vt_zaehler_pindex_pd(vt_fernum, pruefindex, anbid," + " id_pruefstand, id_wzpruefreihe, hydr_pruefung, reedkontakt," + @@ -1152,7 +1153,7 @@ namespace TBF.BenchControl.Output.DB.SensusOracle } - if (!dbCfg.TestMode) + if (dbCfg.DebugLevel == DebugMode.Normal) { double q2ErrWOCorrection = Math.Min(100.0, Math.Max(-100.0, wm.Q2ErrWOCorrection)); @@ -1224,7 +1225,7 @@ namespace TBF.BenchControl.Output.DB.SensusOracle { int idBenutzer = 6; // = wm.Batch.UserNumber; - if (!dbCfg.TestMode) + if (dbCfg.DebugLevel == DebugMode.Normal) { OracleCommand cmd = new OracleCommand("UPDATE vt_zaehler_pd " + "SET auftragsnummer=:1, vt_identnummer=:2, max_pruefindex=:3, mbus_adr=:4, liegenschafts_nr=:5," + @@ -1304,7 +1305,7 @@ namespace TBF.BenchControl.Output.DB.SensusOracle log.WarnFormat("SIM: VT_ZAEHLER_PD inserted or updated, PcbNr={0}, pos={1}, maxPruefix={2}", wm.SerialNr, wm.WMPosition, max_Pruefindex); } - if (!dbCfg.TestMode) + if (dbCfg.DebugLevel == DebugMode.Normal) { OracleCommand cmd = new OracleCommand("INSERT INTO vt_zaehler_pindex_pd(vt_fernum, pruefindex, anbid, id_pruefstand, id_wzpruefreihe," + " hydr_pruefung, reedkontakt, reedkontaktok, reedkontaktzeit, korrimprate, festwertwz, ptestok," + @@ -1384,7 +1385,7 @@ namespace TBF.BenchControl.Output.DB.SensusOracle /// Nr. of rows updated int SaveMeterTestResult(OracleConnection conn, Results.Entities.MeterTestRslt mtr, int pruefungsNr, int max_Pruefindex, int wmTypeRevision) { - if (!dbCfg.TestMode) + if (dbCfg.DebugLevel == DebugMode.Normal) { OracleCommand cmd = new OracleCommand("INSERT INTO vt_pruefreihe_ist_pd( vt_fernum, pruefindex, pruefungsnr, anbid," + " id_wztyp, rev_wztyp, rev_wzpruefpunkt, q_wz, q_fehler, q_best, niz," + diff --git a/TBF/BenchControl/Output/DB/SensusOracle/DatabaseCfg.cs b/TBF/BenchControl/Output/DB/SensusOracle/DatabaseCfg.cs index 6825264fa..7283f4401 100644 --- a/TBF/BenchControl/Output/DB/SensusOracle/DatabaseCfg.cs +++ b/TBF/BenchControl/Output/DB/SensusOracle/DatabaseCfg.cs @@ -9,15 +9,27 @@ using TBF.BenchControl.Generic; namespace TBF.BenchControl.Output.DB.SensusOracle { - public class DatabaseCfg : ComponentCfgBase, Generic.IComponentCfg + public class DatabaseCfg : ComponentCfgBase, IComponentCfg, IParamsProvider { public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(DatabaseCfg) })[0]; public override XmlSerializer GetSerializer() { return Serializer; } - public IComponentCfgCtrl GetControl(IList cmpntEntities) { return new DatabaseCfgCtrl(); } + public IComponentCfgCtrl GetControl(IList cmpntEntities) + { + return new Configs.ParamsProvider.ComponentCfgCtrl(this, null); + } /// Serialized parameters - public bool TestMode; + public string ProductionDataSource; + public string ProductionUserId; + public string ProductionPassword; + public string QualityDataSource; + public string QualityUserId; + public string QualityPassword; + public string TestDataSource; + public string TestUserId; + public string TestPassword; + public int ProducerId; /// Procedure parameters [XmlIgnore] @@ -37,12 +49,140 @@ namespace TBF.BenchControl.Output.DB.SensusOracle Name = name; Factory = factory; ParentName = string.Empty; - TestMode = false; + InitializeAll(); } - public string ToString(int i) + public string ComponentName { get { return Name; } } + + public void InitializeAll() + { + ProductionDataSource = "STARA01.WORLD"; + ProductionUserId = "deltachef"; + ProductionPassword = "deltachef"; + QualityDataSource = "STARA01.WORLD"; + QualityUserId = "deltaqual"; + QualityPassword = "test"; + TestDataSource = "STARA_TEST"; + TestUserId = "deltachef"; + TestPassword = "deltachef"; + ProducerId = 4; + } + + string[] paramNames = new string[] { - return string.Format("Name={0} TestMode={1}", Name, TestMode); + "Production DB Data Source", + "Production DB User ID", + "Production DB Password", + "Quality DB Data Source", + "Quality DB User ID", + "Quality DB Password", + "Test DB Data Source", + "Test DB User ID", + "Test DB Password", + "Producer ID", + }; + public string ParamName(int i) { return paramNames[i]; } + public int ParamsCount() { return paramNames.Length; } + + public ICollection ParamValues(int i) + { + return null; + } + + public string ToString(int i) + { + switch (i) + { + case 0: return ProductionDataSource; + case 1: return ProductionUserId; + case 2: return ProductionPassword; + case 3: return QualityDataSource; + case 4: return QualityUserId; + case 5: return QualityPassword; + case 6: return TestDataSource; + case 7: return TestUserId; + case 8: return TestPassword; + case 9: return ProducerId.ToString(); + default: + return string.Format("{0}: Production={1} Quality={2} Test={3}", + Name, + string.IsNullOrEmpty(ProductionDataSource) ? string.Empty : ProductionDataSource, + string.IsNullOrEmpty(QualityDataSource) ? string.Empty : QualityDataSource, + string.IsNullOrEmpty(TestDataSource) ? string.Empty : TestDataSource); + } } - } + + public CfgUpdateFlags UpdateParam(int i, string str) + { + switch (i) + { + case 0: ProductionDataSource = str; return CfgUpdateFlags.RestartRqrd; + case 1: ProductionUserId = str; return CfgUpdateFlags.RestartRqrd; + case 2: ProductionPassword = str; return CfgUpdateFlags.RestartRqrd; + case 3: QualityDataSource = str; return CfgUpdateFlags.RestartRqrd; + case 4: QualityUserId = str; return CfgUpdateFlags.RestartRqrd; + case 5: QualityPassword = str; return CfgUpdateFlags.RestartRqrd; + case 6: TestDataSource = str; return CfgUpdateFlags.RestartRqrd; + case 7: TestUserId = str; return CfgUpdateFlags.RestartRqrd; + case 8: TestPassword = str; return CfgUpdateFlags.RestartRqrd; + case 9: ProducerId = int.Parse(str); return CfgUpdateFlags.RestartRqrd; + default: + return CfgUpdateFlags.None; + } + } + + public bool ValidateParam(int i, string str, out string message) + { + message = string.Empty; + int idummy; + + switch (i) + { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + return true; + case 9: + if (int.TryParse(str, out idummy) && idummy > 0 && idummy <= 9) return true; + break; + default: + message = "Invalid index"; + return false; + } + + message = ParamName(i) + " is invalid"; + return false; + } + + void CopyContentTo(DatabaseCfg prms) + { + prms.ProductionDataSource = this.ProductionDataSource; + prms.ProductionUserId = this.ProductionUserId; + prms.ProductionPassword = this.ProductionPassword; + prms.QualityDataSource = this.QualityDataSource; + prms.QualityUserId = this.QualityUserId; + prms.QualityPassword = this.QualityPassword; + prms.TestDataSource = this.TestDataSource; + prms.TestUserId = this.TestUserId; + prms.TestPassword = this.TestPassword; + } + + public IParamsProvider Clone() + { + DatabaseCfg pars = new DatabaseCfg(); + CopyContentTo(pars); + return pars; + } + + public bool UpdateEmbeddedDbEntity() + { + return true; /// =OK, do nothing + } + } } diff --git a/TBF/BenchControl/Output/DB/SensusOracle/DatabaseCfgCtrl.cs b/TBF/BenchControl/Output/DB/SensusOracle/DatabaseCfgCtrl.cs deleted file mode 100644 index d379324d9..000000000 --- a/TBF/BenchControl/Output/DB/SensusOracle/DatabaseCfgCtrl.cs +++ /dev/null @@ -1,76 +0,0 @@ -/// -/// Copyright (c) 2015-2020 Sensus Slovensko a.s. -/// -using System; -using System.Windows.Forms; -using Config.Entities; -using TBF.BenchControl.Generic; - -namespace TBF.BenchControl.Output.DB.SensusOracle -{ - public partial class DatabaseCfgCtrl : Configs.ConfigCtrlUtils, IComponentCfgCtrl - { - public bool ShowMore { get { return false; } } - - DatabaseCfg config; - public IComponentCfg Config - { - get { return config as IComponentCfg; } - set - { - config = value as DatabaseCfg; - Redraw(); - } - } - - public DatabaseCfgCtrl() - { - InitializeComponent(); - } - - private void WriterCfgCtrl_Load(object sender, EventArgs e) - { - Redraw(); - } - - public void Closing() - { - } - - void Redraw() - { - if (config == null) return; /// Control was not loaded, settings were not changed - classNameLabel.Text = config.Factory.ClassName; - nameTextBox.Text = config.Name; - testModeCheckBox.Checked = config.TestMode; - } - - public void Unlock() - { - nameTextBox.Enabled = true; - testModeCheckBox.Enabled = true; - } - - public CfgUpdateFlags VerifyCfg(ref string message) - { - return CfgUpdateFlags.None; - } - - public CfgUpdateFlags UpdateCfg() - { - if (config == null) return CfgUpdateFlags.Error; /// Control was not loaded, settings were not changed - - CfgUpdateFlags flags = CfgUpdateFlags.None; - - if (config.Name != nameTextBox.Text) - { - config.Name = nameTextBox.Text; - flags |= CfgUpdateFlags.RestartRqrd; - } - - flags |= UpdateDifferent(ref config.TestMode, testModeCheckBox.Checked, CfgUpdateFlags.AnyChange | CfgUpdateFlags.RestartRqrd); - - return flags; - } - } -} diff --git a/TBF/BenchControl/Output/DB/SensusOracle/DatabaseCfgCtrl.designer.cs b/TBF/BenchControl/Output/DB/SensusOracle/DatabaseCfgCtrl.designer.cs deleted file mode 100644 index d403c93d8..000000000 --- a/TBF/BenchControl/Output/DB/SensusOracle/DatabaseCfgCtrl.designer.cs +++ /dev/null @@ -1,100 +0,0 @@ -/// -/// Copyright (c) 2015-2018 Sensus Slovensko a.s. -/// -namespace TBF.BenchControl.Output.DB.SensusOracle -{ - partial class DatabaseCfgCtrl - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Component Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.nameTextBox = new System.Windows.Forms.TextBox(); - this.nameLabel = new System.Windows.Forms.Label(); - this.classNameLabel = new System.Windows.Forms.Label(); - this.testModeCheckBox = new System.Windows.Forms.CheckBox(); - this.SuspendLayout(); - // - // nameTextBox - // - this.nameTextBox.Enabled = false; - this.nameTextBox.Location = new System.Drawing.Point(123, 59); - this.nameTextBox.Name = "nameTextBox"; - this.nameTextBox.Size = new System.Drawing.Size(146, 20); - this.nameTextBox.TabIndex = 2; - // - // nameLabel - // - this.nameLabel.AutoSize = true; - this.nameLabel.Location = new System.Drawing.Point(19, 62); - this.nameLabel.Name = "nameLabel"; - this.nameLabel.Size = new System.Drawing.Size(35, 13); - this.nameLabel.TabIndex = 1; - this.nameLabel.Text = "Name"; - // - // classNameLabel - // - this.classNameLabel.AutoSize = true; - this.classNameLabel.Location = new System.Drawing.Point(120, 31); - this.classNameLabel.Name = "classNameLabel"; - this.classNameLabel.Size = new System.Drawing.Size(83, 13); - this.classNameLabel.TabIndex = 0; - this.classNameLabel.Text = "ComonentName"; - // - // testModeCheckBox - // - this.testModeCheckBox.AutoSize = true; - this.testModeCheckBox.Enabled = false; - this.testModeCheckBox.Location = new System.Drawing.Point(123, 113); - this.testModeCheckBox.Name = "testModeCheckBox"; - this.testModeCheckBox.Size = new System.Drawing.Size(155, 17); - this.testModeCheckBox.TabIndex = 12; - this.testModeCheckBox.Text = "TestMode (no writes to DB)"; - this.testModeCheckBox.UseVisualStyleBackColor = true; - // - // DatabaseCfgCtrl - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.testModeCheckBox); - this.Controls.Add(this.nameTextBox); - this.Controls.Add(this.nameLabel); - this.Controls.Add(this.classNameLabel); - this.Name = "DatabaseCfgCtrl"; - this.Size = new System.Drawing.Size(383, 291); - this.Load += new System.EventHandler(this.WriterCfgCtrl_Load); - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private System.Windows.Forms.TextBox nameTextBox; - private System.Windows.Forms.Label nameLabel; - private System.Windows.Forms.Label classNameLabel; - private System.Windows.Forms.CheckBox testModeCheckBox; - } -} diff --git a/TBF/BenchControl/Output/DB/SensusOracle/DatabaseCfgCtrl.resx b/TBF/BenchControl/Output/DB/SensusOracle/DatabaseCfgCtrl.resx deleted file mode 100644 index 1af7de150..000000000 --- a/TBF/BenchControl/Output/DB/SensusOracle/DatabaseCfgCtrl.resx +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/TBF/BenchControl/Output/DB/SensusOracle/Factory.cs b/TBF/BenchControl/Output/DB/SensusOracle/Factory.cs index f31ce4e7b..210f14594 100644 --- a/TBF/BenchControl/Output/DB/SensusOracle/Factory.cs +++ b/TBF/BenchControl/Output/DB/SensusOracle/Factory.cs @@ -9,12 +9,13 @@ namespace TBF.BenchControl.Output.DB.SensusOracle public class Factory : IComponentFactory { public string ClassName { get { return "Sensus-Oracle-Database"; } } + public override string ToString() { return ClassName; } public IComponent DummyComponent() { return new Database(); } public IComponent GetComponent(IComponentCfg cfg, IList components) { return new Database(cfg); } - public IComponentCfg DefaultConfig() { return new DatabaseCfg("Sensus-Oracle-DB", this); } + public IComponentCfg DefaultConfig() { return new DatabaseCfg("SensusOracle", this); } public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component) { diff --git a/TBF/BenchControl/Output/DB/SensusOracle/ProcedureParams.cs b/TBF/BenchControl/Output/DB/SensusOracle/ProcedureParams.cs index 032358ca1..865fe3b82 100644 --- a/TBF/BenchControl/Output/DB/SensusOracle/ProcedureParams.cs +++ b/TBF/BenchControl/Output/DB/SensusOracle/ProcedureParams.cs @@ -83,17 +83,11 @@ namespace TBF.BenchControl.Output.DB.SensusOracle case 3: int year = DateTime.Now.Year; - retVal.Add(year.ToString()); - retVal.Add((year + 1).ToString()); - return retVal; - + return new string[] { year.ToString(), (year + 1).ToString() }; case 4: case 5: case 6: - retVal.Add(Strings.yes); - retVal.Add(Strings.no); - return retVal; - + return new string[] { Strings.yes, Strings.no }; case 7: for (DesigMode md = 0; md < DesigMode.Count; md++) retVal.Add(md.ToString()); return retVal; diff --git a/TBF/Properties/AssemblyInfo.cs b/TBF/Properties/AssemblyInfo.cs index 482c685dc..aba0a08b2 100644 --- a/TBF/Properties/AssemblyInfo.cs +++ b/TBF/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("2.26.1735.0")] -[assembly: AssemblyFileVersion("2.26.1735.0")] +[assembly: AssemblyVersion("2.26.1737.0")] +[assembly: AssemblyFileVersion("2.26.1737.0")] diff --git a/TBF/TBF.csproj b/TBF/TBF.csproj index ea14bc9d3..3a3ff60f6 100644 --- a/TBF/TBF.csproj +++ b/TBF/TBF.csproj @@ -1028,12 +1028,6 @@ - - UserControl - - - DatabaseCfgCtrl.cs - @@ -3109,9 +3103,6 @@ SaveFlowmeterCorrCfgCtrl.cs - - DatabaseCfgCtrl.cs - WriterCfgCtrl.cs