diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-08-21 10:50:41 +0300 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-08-21 10:50:41 +0300 |
| commit | b4a1c833f0e67835e89961e77329efe5bf2a7797 (patch) | |
| tree | 94354be095256a33d6d2ee285c183686e5e85c39 /Software/Visual_Studio/Tango.BL/ObservablesContextExtension.cs | |
| parent | 51afc4f6a17383e91a72c2ce060e82604d43c3a8 (diff) | |
| download | Tango-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.cs | 62 |
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> |
