diff --git a/Thermo.Active.Database/Migrations/202004241109233_Thermo-Start.Designer.cs b/Thermo.Active.Database/Migrations/202004241109233_Thermo-Start.Designer.cs
new file mode 100644
index 00000000..fc25aff0
--- /dev/null
+++ b/Thermo.Active.Database/Migrations/202004241109233_Thermo-Start.Designer.cs
@@ -0,0 +1,29 @@
+//
+namespace Thermo.Active.Database.Migrations
+{
+ using System.CodeDom.Compiler;
+ using System.Data.Entity.Migrations;
+ using System.Data.Entity.Migrations.Infrastructure;
+ using System.Resources;
+
+ [GeneratedCode("EntityFramework.Migrations", "6.2.0-61023")]
+ public sealed partial class ThermoStart : IMigrationMetadata
+ {
+ private readonly ResourceManager Resources = new ResourceManager(typeof(ThermoStart));
+
+ string IMigrationMetadata.Id
+ {
+ get { return "202004241109233_Thermo-Start"; }
+ }
+
+ string IMigrationMetadata.Source
+ {
+ get { return null; }
+ }
+
+ string IMigrationMetadata.Target
+ {
+ get { return Resources.GetString("Target"); }
+ }
+ }
+}
diff --git a/Thermo.Active.Database/Migrations/202004241109233_Thermo-Start.cs b/Thermo.Active.Database/Migrations/202004241109233_Thermo-Start.cs
new file mode 100644
index 00000000..43f57be3
--- /dev/null
+++ b/Thermo.Active.Database/Migrations/202004241109233_Thermo-Start.cs
@@ -0,0 +1,328 @@
+namespace Thermo.Active.Database.Migrations
+{
+ using System;
+ using System.Data.Entity.Migrations;
+
+ public partial class ThermoStart : DbMigration
+ {
+ public override void Up()
+ {
+ CreateTable(
+ "dbo.alarm_description",
+ c => new
+ {
+ id = c.Int(nullable: false),
+ title = c.String(unicode: false),
+ })
+ .PrimaryKey(t => t.id);
+
+ CreateTable(
+ "dbo.alarm_file",
+ c => new
+ {
+ id = c.Int(nullable: false, identity: true),
+ file_name = c.String(unicode: false),
+ local_file_name = c.String(unicode: false),
+ alarm_desc_id = c.Int(nullable: false),
+ source = c.Int(nullable: false),
+ user_id = c.Int(),
+ })
+ .PrimaryKey(t => t.id)
+ .ForeignKey("dbo.user", t => t.user_id)
+ .Index(t => t.user_id);
+
+ CreateTable(
+ "dbo.user",
+ c => new
+ {
+ id = c.Int(nullable: false, identity: true),
+ username = c.String(nullable: false, unicode: false),
+ first_name = c.String(unicode: false),
+ last_name = c.String(unicode: false),
+ password = c.String(unicode: false),
+ security_stamp = c.String(unicode: false),
+ language = c.String(unicode: false),
+ deleted = c.Boolean(nullable: false),
+ })
+ .PrimaryKey(t => t.id);
+
+ CreateTable(
+ "dbo.alarm_occurrence",
+ c => new
+ {
+ id = c.Int(nullable: false, identity: true),
+ alarm_id = c.Int(nullable: false),
+ alarm_description_id = c.Int(),
+ source = c.Int(nullable: false),
+ type = c.Int(nullable: false),
+ processes = c.Int(nullable: false),
+ timestamp = c.DateTime(nullable: false, precision: 0),
+ })
+ .PrimaryKey(t => t.id)
+ .ForeignKey("dbo.alarm_description", t => t.alarm_description_id)
+ .Index(t => t.alarm_description_id);
+
+ CreateTable(
+ "dbo.alarm_user",
+ c => new
+ {
+ user_id = c.Int(nullable: false),
+ alarm_occurence_id = c.Int(nullable: false),
+ })
+ .PrimaryKey(t => new { t.user_id, t.alarm_occurence_id })
+ .ForeignKey("dbo.alarm_occurrence", t => t.alarm_occurence_id, cascadeDelete: true)
+ .ForeignKey("dbo.user", t => t.user_id, cascadeDelete: true)
+ .Index(t => t.user_id)
+ .Index(t => t.alarm_occurence_id);
+
+ CreateTable(
+ "dbo.alarm_note",
+ c => new
+ {
+ id = c.Int(nullable: false, identity: true),
+ message = c.String(unicode: false),
+ user_id = c.Int(nullable: false),
+ alarm_desc_id = c.Int(nullable: false),
+ source = c.Int(nullable: false),
+ timestamp = c.DateTime(nullable: false, precision: 0),
+ })
+ .PrimaryKey(t => t.id)
+ .ForeignKey("dbo.user", t => t.user_id, cascadeDelete: true)
+ .Index(t => t.user_id);
+
+ CreateTable(
+ "dbo.family",
+ c => new
+ {
+ id = c.Short(nullable: false),
+ name = c.String(unicode: false),
+ right_size = c.Byte(nullable: false),
+ left_size = c.Byte(nullable: false),
+ tcp_table = c.Byte(nullable: false),
+ gamma = c.Byte(nullable: false),
+ rotation_type = c.Byte(nullable: false),
+ cooling_byte = c.Byte(nullable: false),
+ max_speed = c.Int(nullable: false),
+ max_load = c.Byte(nullable: false),
+ min_load_pct_autoload = c.Byte(nullable: false),
+ max_load_pct_autoload = c.Byte(nullable: false),
+ dynamic_compensation = c.Byte(nullable: false),
+ min_load_dynamic_comp = c.Byte(nullable: false),
+ max_load_dynamic_comp = c.Byte(nullable: false),
+ life_type = c.Byte(nullable: false),
+ nominal_life = c.Int(nullable: false),
+ revive_delta = c.Int(nullable: false),
+ })
+ .PrimaryKey(t => t.id);
+
+ CreateTable(
+ "dbo.favorite_user_softkey",
+ c => new
+ {
+ user_softkey_id = c.Int(nullable: false),
+ user_id = c.Int(nullable: false),
+ })
+ .PrimaryKey(t => new { t.user_softkey_id, t.user_id });
+
+ CreateTable(
+ "dbo.function_access",
+ c => new
+ {
+ id = c.Int(nullable: false, identity: true),
+ name = c.String(unicode: false),
+ write_level_min = c.Int(nullable: false),
+ read_level_min = c.Int(nullable: false),
+ area = c.String(unicode: false),
+ enabled = c.Boolean(nullable: false),
+ plc_id = c.Int(nullable: false),
+ })
+ .PrimaryKey(t => t.id);
+
+ CreateTable(
+ "dbo.machine",
+ c => new
+ {
+ id = c.Int(nullable: false, identity: true),
+ name = c.String(unicode: false),
+ unique_id = c.String(unicode: false),
+ })
+ .PrimaryKey(t => t.id);
+
+ CreateTable(
+ "dbo.machine_user",
+ c => new
+ {
+ id = c.Int(nullable: false, identity: true),
+ machine_id = c.Int(nullable: false),
+ user_id = c.Int(nullable: false),
+ role_id = c.Int(nullable: false),
+ })
+ .PrimaryKey(t => t.id)
+ .ForeignKey("dbo.machine", t => t.machine_id, cascadeDelete: true)
+ .ForeignKey("dbo.role", t => t.role_id, cascadeDelete: true)
+ .ForeignKey("dbo.user", t => t.user_id, cascadeDelete: true)
+ .Index(t => new { t.machine_id, t.user_id }, unique: true, clustered: true, name: "unique_machine_user")
+ .Index(t => t.role_id);
+
+ CreateTable(
+ "dbo.role",
+ c => new
+ {
+ id = c.Int(nullable: false, identity: true),
+ name = c.String(unicode: false),
+ level = c.Int(nullable: false),
+ })
+ .PrimaryKey(t => t.id);
+
+ CreateTable(
+ "dbo.maintenance_file",
+ c => new
+ {
+ id = c.Int(nullable: false, identity: true),
+ file_name = c.String(unicode: false),
+ local_file_name = c.String(unicode: false),
+ maintenance_id = c.Int(nullable: false),
+ user_id = c.Int(),
+ })
+ .PrimaryKey(t => t.id)
+ .ForeignKey("dbo.maintenance", t => t.maintenance_id, cascadeDelete: true)
+ .ForeignKey("dbo.user", t => t.user_id)
+ .Index(t => t.maintenance_id)
+ .Index(t => t.user_id);
+
+ CreateTable(
+ "dbo.maintenance",
+ c => new
+ {
+ id = c.Int(nullable: false),
+ intervall = c.Double(),
+ deadline = c.DateTime(nullable: false, precision: 0),
+ type = c.Int(nullable: false),
+ counter_id = c.Int(nullable: false),
+ title = c.String(unicode: false),
+ description = c.String(unicode: false),
+ unit_of_measure = c.Int(),
+ creation_date = c.DateTime(nullable: false, precision: 0),
+ last_expiration_date = c.DateTime(precision: 0),
+ user_id = c.Int(),
+ })
+ .PrimaryKey(t => t.id)
+ .ForeignKey("dbo.user", t => t.user_id)
+ .Index(t => t.user_id);
+
+ CreateTable(
+ "dbo.maintenance_note",
+ c => new
+ {
+ id = c.Int(nullable: false, identity: true),
+ message = c.String(unicode: false),
+ user_id = c.Int(nullable: false),
+ maintenance_id = c.Int(nullable: false),
+ timestamp = c.DateTime(nullable: false, precision: 0),
+ })
+ .PrimaryKey(t => t.id)
+ .ForeignKey("dbo.maintenance", t => t.maintenance_id, cascadeDelete: true)
+ .ForeignKey("dbo.user", t => t.user_id, cascadeDelete: true)
+ .Index(t => t.user_id)
+ .Index(t => t.maintenance_id);
+
+ CreateTable(
+ "dbo.performed_maintenance",
+ c => new
+ {
+ id = c.Int(nullable: false, identity: true),
+ date = c.DateTime(nullable: false, precision: 0),
+ counter_value = c.Int(nullable: false),
+ control_word = c.Int(nullable: false),
+ maintenance = c.Int(nullable: false),
+ maintainers_id = c.Int(),
+ })
+ .PrimaryKey(t => t.id)
+ .ForeignKey("dbo.user", t => t.maintainers_id)
+ .ForeignKey("dbo.maintenance", t => t.maintenance, cascadeDelete: true)
+ .Index(t => t.maintenance)
+ .Index(t => t.maintainers_id);
+
+ CreateTable(
+ "dbo.queue",
+ c => new
+ {
+ id = c.Int(nullable: false),
+ process = c.Int(nullable: false),
+ part_program_name = c.String(unicode: false),
+ reps = c.Int(nullable: false),
+ remaining_reps = c.Int(nullable: false),
+ absolute_path = c.String(unicode: false),
+ status = c.Int(nullable: false),
+ })
+ .PrimaryKey(t => new { t.id, t.process });
+
+ CreateTable(
+ "dbo.session",
+ c => new
+ {
+ id = c.Int(nullable: false, identity: true),
+ token = c.String(unicode: false),
+ machine_user_id = c.Int(nullable: false),
+ first_login = c.DateTime(nullable: false, precision: 0),
+ })
+ .PrimaryKey(t => t.id)
+ .ForeignKey("dbo.machine_user", t => t.machine_user_id, cascadeDelete: true)
+ .Index(t => t.machine_user_id);
+
+ }
+
+ public override void Down()
+ {
+ DropForeignKey("dbo.session", "machine_user_id", "dbo.machine_user");
+ DropForeignKey("dbo.performed_maintenance", "maintenance", "dbo.maintenance");
+ DropForeignKey("dbo.performed_maintenance", "maintainers_id", "dbo.user");
+ DropForeignKey("dbo.maintenance_note", "user_id", "dbo.user");
+ DropForeignKey("dbo.maintenance_note", "maintenance_id", "dbo.maintenance");
+ DropForeignKey("dbo.maintenance_file", "user_id", "dbo.user");
+ DropForeignKey("dbo.maintenance_file", "maintenance_id", "dbo.maintenance");
+ DropForeignKey("dbo.maintenance", "user_id", "dbo.user");
+ DropForeignKey("dbo.machine_user", "user_id", "dbo.user");
+ DropForeignKey("dbo.machine_user", "role_id", "dbo.role");
+ DropForeignKey("dbo.machine_user", "machine_id", "dbo.machine");
+ DropForeignKey("dbo.alarm_note", "user_id", "dbo.user");
+ DropForeignKey("dbo.alarm_user", "user_id", "dbo.user");
+ DropForeignKey("dbo.alarm_user", "alarm_occurence_id", "dbo.alarm_occurrence");
+ DropForeignKey("dbo.alarm_occurrence", "alarm_description_id", "dbo.alarm_description");
+ DropForeignKey("dbo.alarm_file", "user_id", "dbo.user");
+ DropIndex("dbo.session", new[] { "machine_user_id" });
+ DropIndex("dbo.performed_maintenance", new[] { "maintainers_id" });
+ DropIndex("dbo.performed_maintenance", new[] { "maintenance" });
+ DropIndex("dbo.maintenance_note", new[] { "maintenance_id" });
+ DropIndex("dbo.maintenance_note", new[] { "user_id" });
+ DropIndex("dbo.maintenance", new[] { "user_id" });
+ DropIndex("dbo.maintenance_file", new[] { "user_id" });
+ DropIndex("dbo.maintenance_file", new[] { "maintenance_id" });
+ DropIndex("dbo.machine_user", new[] { "role_id" });
+ DropIndex("dbo.machine_user", "unique_machine_user");
+ DropIndex("dbo.alarm_note", new[] { "user_id" });
+ DropIndex("dbo.alarm_user", new[] { "alarm_occurence_id" });
+ DropIndex("dbo.alarm_user", new[] { "user_id" });
+ DropIndex("dbo.alarm_occurrence", new[] { "alarm_description_id" });
+ DropIndex("dbo.alarm_file", new[] { "user_id" });
+ DropTable("dbo.session");
+ DropTable("dbo.queue");
+ DropTable("dbo.performed_maintenance");
+ DropTable("dbo.maintenance_note");
+ DropTable("dbo.maintenance");
+ DropTable("dbo.maintenance_file");
+ DropTable("dbo.role");
+ DropTable("dbo.machine_user");
+ DropTable("dbo.machine");
+ DropTable("dbo.function_access");
+ DropTable("dbo.favorite_user_softkey");
+ DropTable("dbo.family");
+ DropTable("dbo.alarm_note");
+ DropTable("dbo.alarm_user");
+ DropTable("dbo.alarm_occurrence");
+ DropTable("dbo.user");
+ DropTable("dbo.alarm_file");
+ DropTable("dbo.alarm_description");
+ }
+ }
+}
diff --git a/Thermo.Active.Database/Migrations/202004241109233_Thermo-Start.resx b/Thermo.Active.Database/Migrations/202004241109233_Thermo-Start.resx
new file mode 100644
index 00000000..02b9c9f2
--- /dev/null
+++ b/Thermo.Active.Database/Migrations/202004241109233_Thermo-Start.resx
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ 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
+
+
+ dbo
+
+
\ No newline at end of file
diff --git a/Thermo.Active.Database/Migrations/Configuration.cs b/Thermo.Active.Database/Migrations/Configuration.cs
index 0e93d0c3..d33a5d5e 100644
--- a/Thermo.Active.Database/Migrations/Configuration.cs
+++ b/Thermo.Active.Database/Migrations/Configuration.cs
@@ -1,12 +1,15 @@
namespace Thermo.Active.Database.Migrations
{
+ using System;
+ using System.Data.Entity;
+ using System.Linq;
using Thermo.Active.Model.DatabaseModels;
using System.Data.Entity.Migrations;
using static Thermo.Active.Model.Constants.FUNCTIONALITY_NAMES;
using static Thermo.Active.Model.Constants.AREAS;
using static Thermo.Active.Model.Constants;
- public sealed class Configuration : DbMigrationsConfiguration
+ internal sealed class Configuration : DbMigrationsConfiguration
{
public Configuration()
{
@@ -15,7 +18,7 @@ namespace Thermo.Active.Database.Migrations
ContextKey = "Thermo.Active.Database.DatabaseContext";
}
- protected override void Seed(DatabaseContext context)
+ protected override void Seed(Thermo.Active.Database.DatabaseContext context)
{
// This method will be called after migrating to the latest version. 0-99 Customer. 100 - 199 CMS
context.Roles.AddOrUpdate(
@@ -26,32 +29,27 @@ namespace Thermo.Active.Database.Migrations
new RoleModel() { RoleId = (int)ROLE_IDS.CUSTOMER_OPERATOR, Level = 20, Name = "Operator" },
new RoleModel() { RoleId = (int)ROLE_IDS.CUSTOMER_MAINTAINER, Level = 10, Name = "Maintainer" }
);
-
+
context.FunctionsAccess.AddOrUpdate(
// General Function, if plcId is 0 then the functionality is not connected to the NC
- new FunctionAccessModel() { Name = GENERAL, Area = GENERAL_KEY, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 0},
- new FunctionAccessModel() { Name = USER_FUNCTIONS, Area = GENERAL_KEY, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 0},
- new FunctionAccessModel() { Name = NC_DATA, Area = GENERAL_KEY, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 0},
- new FunctionAccessModel() { Name = ALARM_CMD, Area = GENERAL_KEY, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 1},
- new FunctionAccessModel() { Name = STARTUP_ICONS, Area = GENERAL_KEY, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 2},
-
+ new FunctionAccessModel() { Name = GENERAL, Area = GENERAL_KEY, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 0 },
+ new FunctionAccessModel() { Name = USER_FUNCTIONS, Area = GENERAL_KEY, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 0 },
+ new FunctionAccessModel() { Name = NC_DATA, Area = GENERAL_KEY, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 0 },
+ new FunctionAccessModel() { Name = ALARM_CMD, Area = GENERAL_KEY, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 1 },
+ new FunctionAccessModel() { Name = STARTUP_ICONS, Area = GENERAL_KEY, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 2 },
+
// Under hood
- new FunctionAccessModel() { Name = PROCESS_CMD, Area = UNDER_HOOD, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 3},
- new FunctionAccessModel() { Name = NC_SOFTKEY, Area = UNDER_HOOD, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 4},
- new FunctionAccessModel() { Name = USER_SOFTKEY, Area = UNDER_HOOD, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 5},
- new FunctionAccessModel() { Name = HEADS_CMD, Area = UNDER_HOOD, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 6},
- new FunctionAccessModel() { Name = AXES_SELECTION, Area = UNDER_HOOD, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 7},
-
-#if false
- new FunctionAccessModel() { Name = TOOL_MANAGER, Area = TOOLING_KEY, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 8 },
-#endif
- new FunctionAccessModel() { Name = MAINTENANCE, Area = MAINTENANCE_KEY, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 9},
+ new FunctionAccessModel() { Name = PROCESS_CMD, Area = UNDER_HOOD, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 3 },
+ new FunctionAccessModel() { Name = NC_SOFTKEY, Area = UNDER_HOOD, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 4 },
+ new FunctionAccessModel() { Name = USER_SOFTKEY, Area = UNDER_HOOD, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 5 },
+ new FunctionAccessModel() { Name = HEADS_CMD, Area = UNDER_HOOD, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 6 },
+ new FunctionAccessModel() { Name = AXES_SELECTION, Area = UNDER_HOOD, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 7 },
+ new FunctionAccessModel() { Name = MAINTENANCE, Area = MAINTENANCE_KEY, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 9 },
- // Main Areas
+ // Main Areas
new FunctionAccessModel() { Name = "productionArea", Area = GENERAL_KEY, Enabled = true, WriteLevelMin = 20, ReadLevelMin = 1, PlcId = 0 },
- new FunctionAccessModel() { Name = "toolingArea", Area = GENERAL_KEY, Enabled = true, WriteLevelMin = 20, ReadLevelMin = 1, PlcId = 0 },
new FunctionAccessModel() { Name = "reportArea", Area = GENERAL_KEY, Enabled = true, WriteLevelMin = 30, ReadLevelMin = 1, PlcId = 0 },
new FunctionAccessModel() { Name = "alarmsArea", Area = GENERAL_KEY, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 0 },
new FunctionAccessModel() { Name = "maintenanceArea", Area = GENERAL_KEY, Enabled = true, WriteLevelMin = 1, ReadLevelMin = 1, PlcId = 0 },
@@ -64,4 +62,4 @@ namespace Thermo.Active.Database.Migrations
context.SaveChanges();
}
}
-}
\ No newline at end of file
+}