Files
cms_thermo_active/Step.Database/DatabaseContext.cs
T
Lucio Maranta 796801f7ee + Added migration
+ Added STATIC data into Database (Roles functions and users)
+ Configuration controller and startupConfig API
* Refactor api names
2018-01-10 17:21:40 +01:00

54 lines
1.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Data.Entity;
using Step.Model.DatabaseModels;
using MySql.Data.Entity;
using static Step.Utils.ExceptionManager;
using static Step.Utils.Constants;
using Step.Database.Migrations;
namespace Step.Database
{
[DbConfigurationType(typeof(MySqlEFConfiguration))]
public class DatabaseContext : DbContext
{
public DbSet<UserModel> Users { get; set; }
public DbSet<RoleModel> Roles { get; set; }
public DbSet<FunctionAccessModel> FunctionsAccess { get; set; }
public DatabaseContext()
: base("mySQLDatabaseConnection")
{
}
public static void TestDatabaseConnection()
{
System.Data.Entity.Database.SetInitializer(new MigrateDatabaseToLatestVersion<DatabaseContext, Configuration>());
using (DatabaseContext dbContext = new DatabaseContext())
{
try
{
dbContext.Database.Connection.Open();
dbContext.Database.Connection.Close();
}
catch (MySql.Data.MySqlClient.MySqlException ex)
{
if (ex.Number == 0)
{
dbContext.Database.Initialize(true);
}
else if (ex.Number == 1042) // Can't find MySQLServer
{
Manage(ERROR_LEVEL.FATAL, ex);
}
else
{
Manage(ERROR_LEVEL.ERROR, ex);
}
}
}
}
}
}