65 lines
2.5 KiB
C#
65 lines
2.5 KiB
C#
///
|
|
/// Copyright (c) 2013-2020 Sensus Slovensko a.s.
|
|
///
|
|
using System;
|
|
using System.Text;
|
|
using System.Xml.Serialization;
|
|
|
|
namespace Config
|
|
{
|
|
/// <summary>
|
|
/// Test bench database settings, contains bench name and settings od several databases
|
|
/// </summary>
|
|
public class DatabaseSettings : ICloneable, IComparable
|
|
{
|
|
// Public fields
|
|
public string BenchName;
|
|
public bool IsRealBench;
|
|
public Users.DBSettings ProceduresDBSettings; /// Configuration database settings
|
|
public Users.DBSettings WaterMetersDBSettings; /// Results database settings
|
|
public Users.DBSettings EventsDBSettings; /// Events database settings
|
|
public Users.DBSettings UsersDBSettings; /// Shared configuration database settings
|
|
|
|
// Constructor
|
|
public DatabaseSettings()
|
|
{
|
|
BenchName = String.Empty; /// Empty string (avoid null)
|
|
IsRealBench = false;
|
|
ProceduresDBSettings = new Users.DBSettings(Users.Entities.DBType.MySql, string.Empty);
|
|
WaterMetersDBSettings = new Users.DBSettings(Users.Entities.DBType.MySql, string.Empty);
|
|
EventsDBSettings = new Users.DBSettings(Users.Entities.DBType.MySql, string.Empty);
|
|
UsersDBSettings = new Users.DBSettings(Users.Entities.DBType.MySql, string.Empty);
|
|
}
|
|
|
|
public object Clone()
|
|
{
|
|
DatabaseSettings result = new DatabaseSettings();
|
|
|
|
result.BenchName = BenchName;
|
|
result.IsRealBench = IsRealBench;
|
|
result.ProceduresDBSettings = (Users.DBSettings)ProceduresDBSettings.Clone();
|
|
result.WaterMetersDBSettings = (Users.DBSettings)WaterMetersDBSettings.Clone();
|
|
result.EventsDBSettings = (Users.DBSettings)EventsDBSettings.Clone();
|
|
result.UsersDBSettings = (Users.DBSettings)UsersDBSettings.Clone();
|
|
|
|
return result;
|
|
}
|
|
|
|
public int CompareTo(object dbs2)
|
|
{
|
|
if (!(dbs2 is DatabaseSettings)) return 0;
|
|
return String.Compare(BenchName, (dbs2 as DatabaseSettings).BenchName);
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
return string.Format("{0} config={1} results={2} events={3} users={4}",
|
|
BenchName,
|
|
ProceduresDBSettings.ConnectionString,
|
|
WaterMetersDBSettings.ConnectionString,
|
|
EventsDBSettings.ConnectionString,
|
|
UsersDBSettings.ConnectionString);
|
|
}
|
|
}
|
|
}
|