aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.BL/ObservablesContextExtension.cs
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-08-21 10:50:41 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-08-21 10:50:41 +0300
commitb4a1c833f0e67835e89961e77329efe5bf2a7797 (patch)
tree94354be095256a33d6d2ee285c183686e5e85c39 /Software/Visual_Studio/Tango.BL/ObservablesContextExtension.cs
parent51afc4f6a17383e91a72c2ce060e82604d43c3a8 (diff)
downloadTango-b4a1c833f0e67835e89961e77329efe5bf2a7797.tar.gz
Tango-b4a1c833f0e67835e89961e77329efe5bf2a7797.zip
Refactored ObservablesContext to use DataSource object!
Upgraded to .NET 4.7.2 !!!
Diffstat (limited to 'Software/Visual_Studio/Tango.BL/ObservablesContextExtension.cs')
-rw-r--r--Software/Visual_Studio/Tango.BL/ObservablesContextExtension.cs62
1 files changed, 22 insertions, 40 deletions
diff --git a/Software/Visual_Studio/Tango.BL/ObservablesContextExtension.cs b/Software/Visual_Studio/Tango.BL/ObservablesContextExtension.cs
index f38968e00..d4b8cb340 100644
--- a/Software/Visual_Studio/Tango.BL/ObservablesContextExtension.cs
+++ b/Software/Visual_Studio/Tango.BL/ObservablesContextExtension.cs
@@ -22,78 +22,60 @@ namespace Tango.BL
/// </summary>
/// <param name="path">The server file path.</param>
/// <param name="isFile">if set to <c>true</c> will try to connect to an .mdf file.</param>
- public ObservablesContext(String path, String dbName) : base(ComposeConnectionString(path, dbName))
+ public ObservablesContext(DataSource dataSource) : base(dataSource.ToConnection(), true)
{
Database.SetInitializer<ObservablesContext>(null);
}
/// <summary>
- /// Initializes a new instance of the <see cref="ObservablesContext"/> class.
+ /// Creates a default remote database context by the address specified in <see cref="SettingsManager.Default.DataBase.SQLServerAddress" />.
/// </summary>
- /// <param name="sqliteConnection">The SQLite connection.</param>
- public ObservablesContext(SQLiteConnection sqliteConnection) : base(sqliteConnection, true)
+ /// <returns></returns>
+ public static ObservablesContext CreateDefault()
{
- Database.SetInitializer<ObservablesContext>(null);
+ return new ObservablesContext(SettingsManager.Default.GetOrCreate<CoreSettings>().DataSource);
}
/// <summary>
- /// Composes the connection string.
- ///</summary>
- /// <param name="source">The source.</param>
- /// <param name="isFile">if set to <c>true</c> [is file].</param>
+ /// Creates a default remote database context.
+ /// </summary>
/// <returns></returns>
- private static String ComposeConnectionString(String source, String dbName)
+ public static ObservablesContext CreateDefault(DataSource dataSource)
{
- if (!File.Exists(source))
- {
- return "Server=tcp:twine.database.windows.net,1433;Initial Catalog=Tango;Persist Security Info=False;User ID=roy@twine-s.com;Password=Maya039590898;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Authentication=\"Active Directory Password\";";
- }
- else
- {
- return String.Format("Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFileName={0};Initial Catalog={1};Integrated Security=True;MultipleActiveResultSets=True;App=EntityFramework", Path.GetFullPath(source), dbName);
- }
+ return new ObservablesContext(dataSource);
}
/// <summary>
- /// Creates a default remote database context by the address specified in <see cref="SettingsManager.Default.DataBase.SQLServerAddress" />.
+ /// Creates a default remote database context.
/// </summary>
/// <returns></returns>
- public static ObservablesContext CreateDefault()
+ public static ObservablesContext CreateDefault(String address, String catalog, DataSourceType type)
{
- var context = CreateDefault(SettingsManager.Default.GetOrCreate<CoreSettings>().DataBaseSource);
- return context;
+ return new ObservablesContext(new DataSource()
+ {
+ Address = address,
+ Catalog = catalog,
+ IntegratedSecurity = true,
+ Type = type
+ });
}
/// <summary>
/// Creates a default remote database context.
/// </summary>
/// <returns></returns>
- public static ObservablesContext CreateDefault(String dataSource)
+ public static ObservablesContext CreateDefault(String address, DataSourceType type)
{
- var source = dataSource;
-
- if (File.Exists(source) && Path.GetExtension(source).ToLower() == ".db")
- {
- var connection = new SQLiteConnection()
- {
- ConnectionString = new SQLiteConnectionStringBuilder() { DataSource = Path.GetFullPath(source), ForeignKeys = true }.ConnectionString
- };
-
- return new ObservablesContext(connection);
- }
- else
- {
- return new ObservablesContext(source, "Tango");
- }
+ return CreateDefault(address, "Tango", type);
}
/// <summary>
/// Creates a default remote database context.
/// </summary>
/// <returns></returns>
- public static ObservablesContext CreateDefault(String address, String database)
+ public static ObservablesContext CreateDefault(String address)
{
- return new ObservablesContext(address, database);
+ return CreateDefault(address, "Tango", DataSourceType.SQLServer);
}
/// <summary>