Files
Aperio_Control_Centre/Aperio_Control_Centre.ACSDatabase/Migrations/ACSDatabaseContextModelSnapshot.cs
2025-10-17 08:48:13 +02:00

942 lines
35 KiB
C#

// <auto-generated />
using System;
using Aperio_Control_Centre.ACSDatabase;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace Aperio_Control_Centre.ACSDatabase.Migrations
{
[DbContext(typeof(ACSDatabaseContext))]
partial class ACSDatabaseContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "9.0.9")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.AuthorizationEntry", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("DeviceGroupId")
.HasColumnType("int")
.HasColumnName("DeviceGroup_Id");
b.Property<int>("TimezoneId")
.HasColumnType("int")
.HasColumnName("Timezone_Id");
b.Property<int>("UserGroupId")
.HasColumnType("int")
.HasColumnName("UserGroup_Id");
b.HasKey("Id");
b.HasIndex("DeviceGroupId");
b.HasIndex("TimezoneId");
b.HasIndex("UserGroupId");
b.ToTable("AuthorizationMatrix", (string)null);
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.Department", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("Active")
.HasColumnType("int")
.HasColumnName("Active");
b.Property<string>("Info")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)")
.HasColumnName("Info");
b.Property<DateTime>("LastChanged")
.HasColumnType("datetime")
.HasColumnName("LastChanged");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)")
.HasColumnName("Name");
b.HasKey("Id");
b.ToTable("Departments", (string)null);
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.Device", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("Active")
.HasColumnType("int")
.HasColumnName("Active");
b.Property<int?>("BatteryState")
.HasColumnType("int")
.HasColumnName("BatteryState");
b.Property<int?>("ConnectionState")
.HasColumnType("int")
.HasColumnName("ConnectionState");
b.Property<string>("DeviceId")
.IsRequired()
.HasMaxLength(10)
.HasColumnType("nvarchar(10)")
.HasColumnName("DeviceID");
b.Property<int?>("DoorState")
.HasColumnType("int")
.HasColumnName("DoorState");
b.Property<int?>("EmergencyInsideState")
.HasColumnType("int")
.HasColumnName("EmergencyInsideState");
b.Property<int?>("EmergencyOutsideState")
.HasColumnType("int")
.HasColumnName("EmergencyOutsideState");
b.Property<int?>("HandleState")
.HasColumnType("int")
.HasColumnName("HandleState");
b.Property<string>("HubId")
.HasMaxLength(10)
.HasColumnType("nvarchar(10)")
.HasColumnName("HubID");
b.Property<string>("Info")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)")
.HasColumnName("Info");
b.Property<string>("Ipaddress")
.HasMaxLength(50)
.HasColumnType("nvarchar(50)")
.HasColumnName("Ipaddress");
b.Property<int?>("KeyCylinderState")
.HasColumnType("int")
.HasColumnName("KeyCylinderState");
b.Property<DateTime>("LastChanged")
.HasColumnType("datetime")
.HasColumnName("LastChanged");
b.Property<DateTime?>("LastData")
.HasColumnType("datetime")
.HasColumnName("LastData");
b.Property<int?>("LocationId")
.HasColumnType("int")
.HasColumnName("Location_Id");
b.Property<int?>("LockState")
.HasColumnType("int")
.HasColumnName("LockState");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)")
.HasColumnName("Name");
b.Property<int?>("ProductClass")
.HasColumnType("int")
.HasColumnName("ProductClass");
b.Property<int?>("TamperState")
.HasColumnType("int")
.HasColumnName("TamperState");
b.Property<int?>("UnlockTime")
.HasColumnType("int")
.HasColumnName("UnlockTime");
b.Property<int?>("UnlockTimezoneId")
.HasColumnType("int")
.HasColumnName("UnlockTimezone_Id");
b.HasKey("Id");
b.HasIndex(new[] { "LocationId" }, "IX_FK_Devices_Locations");
b.HasIndex(new[] { "UnlockTimezoneId" }, "IX_FK_Devices_Timezones");
b.HasIndex(new[] { "DeviceId" }, "NonClusteredIndex-Device_Id");
b.ToTable("Devices", (string)null);
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.DeviceGroup", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("Active")
.HasColumnType("int")
.HasColumnName("Active");
b.Property<string>("Info")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)")
.HasColumnName("Info");
b.Property<DateTime>("LastChanged")
.HasColumnType("datetime")
.HasColumnName("LastChanged");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)")
.HasColumnName("Name");
b.HasKey("Id");
b.ToTable("DeviceGroups", (string)null);
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.DeviceGroupJoin", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("DeviceId")
.HasColumnType("int")
.HasColumnName("Device_Id");
b.Property<int>("GroupId")
.HasColumnType("int")
.HasColumnName("Group_Id");
b.HasKey("Id");
b.HasIndex(new[] { "DeviceId" }, "IX_FK_DeviceGroupJoins_Device");
b.HasIndex(new[] { "GroupId" }, "IX_FK_DeviceGroupJoins_Group");
b.ToTable("DeviceGroupJoins");
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.DeviceGroupJoin2", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("DeviceGroupId")
.HasColumnType("int")
.HasColumnName("DeviceGroup_Id");
b.Property<int>("DeviceId")
.HasColumnType("int")
.HasColumnName("Device_Id");
b.HasKey("Id");
b.HasIndex("DeviceGroupId");
b.HasIndex("DeviceId");
b.ToTable("DeviceGroupJoins2", (string)null);
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.DoorModeSchedule", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("DeviceId")
.HasColumnType("int")
.HasColumnName("Device_Id");
b.Property<int>("DoorMode")
.HasColumnType("int")
.HasColumnName("DoorMode");
b.Property<int>("ExecuteMode")
.HasColumnType("int");
b.Property<int>("TimezoneId")
.HasColumnType("int")
.HasColumnName("Timezone_Id");
b.HasKey("Id");
b.HasIndex("DeviceId");
b.HasIndex("TimezoneId");
b.ToTable("DoorModeSchedules", (string)null);
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.GlobalSetting", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("Name")
.HasMaxLength(50)
.HasColumnType("nvarchar(50)")
.HasColumnName("Name");
b.Property<string>("Value")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)")
.HasColumnName("Value");
b.HasKey("Id");
b.ToTable("GlobalSettings", (string)null);
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.Group", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("Active")
.HasColumnType("int")
.HasColumnName("Active");
b.Property<string>("Info")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)")
.HasColumnName("Info");
b.Property<DateTime>("LastChanged")
.HasColumnType("datetime")
.HasColumnName("LastChanged");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)")
.HasColumnName("Name");
b.Property<int>("TimezoneId")
.HasColumnType("int")
.HasColumnName("Timezone_Id");
b.HasKey("Id");
b.HasIndex("TimezoneId");
b.ToTable("Groups", (string)null);
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.Location", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("Active")
.HasColumnType("int")
.HasColumnName("Active");
b.Property<string>("City")
.HasMaxLength(50)
.HasColumnType("nvarchar(50)")
.HasColumnName("City");
b.Property<string>("Country")
.HasMaxLength(50)
.HasColumnType("nvarchar(50)")
.HasColumnName("Country");
b.Property<string>("Info")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)")
.HasColumnName("Info");
b.Property<DateTime>("LastChanged")
.HasColumnType("datetime")
.HasColumnName("LastChanged");
b.Property<string>("Latitude")
.HasMaxLength(12)
.HasColumnType("nvarchar(12)")
.HasColumnName("Latitude");
b.Property<string>("Longitude")
.HasMaxLength(12)
.HasColumnType("nvarchar(12)")
.HasColumnName("Longitude");
b.Property<string>("Nr")
.HasMaxLength(10)
.HasColumnType("nvarchar(10)")
.HasColumnName("Nr");
b.Property<string>("Province")
.HasMaxLength(50)
.HasColumnType("nvarchar(50)")
.HasColumnName("Province");
b.Property<string>("Street")
.HasMaxLength(50)
.HasColumnType("nvarchar(50)")
.HasColumnName("Street");
b.Property<string>("Zipcode")
.HasMaxLength(10)
.HasColumnType("nvarchar(10)")
.HasColumnName("Zipcode");
b.HasKey("Id");
b.ToTable("Locations", (string)null);
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.Logging", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int?>("Access")
.HasColumnType("int")
.HasColumnName("Access");
b.Property<string>("CredentialString")
.HasMaxLength(50)
.HasColumnType("nvarchar(50)")
.HasColumnName("CredentialString");
b.Property<int?>("CredentialType")
.HasColumnType("int")
.HasColumnName("CredentialType");
b.Property<int?>("DeviceId")
.HasColumnType("int")
.HasColumnName("Device_Id");
b.Property<int>("LogType")
.HasColumnType("int")
.HasColumnName("LogType");
b.Property<string>("Message")
.HasMaxLength(200)
.HasColumnType("nvarchar(200)")
.HasColumnName("Message");
b.Property<DateTime>("Time")
.HasColumnType("datetime")
.HasColumnName("Time");
b.Property<int?>("UserId")
.HasColumnType("int")
.HasColumnName("User_Id");
b.Property<string>("UserName")
.HasMaxLength(50)
.HasColumnType("nvarchar(50)")
.HasColumnName("UserName");
b.HasKey("Id");
b.HasIndex(new[] { "DeviceId" }, "IX_FK_DevicesLoggingsX");
b.HasIndex(new[] { "UserId" }, "IX_FK_UsersLoggingsX");
b.HasIndex(new[] { "DeviceId" }, "NonClusteredIndex-Device_Id");
b.HasIndex(new[] { "LogType" }, "NonClusteredIndex-LogType");
b.HasIndex(new[] { "UserId" }, "NonClusteredIndex-User_Id");
b.ToTable("Loggings", (string)null);
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.Timezone", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("Active")
.HasColumnType("int")
.HasColumnName("Active");
b.Property<TimeSpan>("BeginTime")
.HasColumnType("time")
.HasColumnName("BeginTime");
b.Property<TimeSpan>("EndTime")
.HasColumnType("time")
.HasColumnName("EndTime");
b.Property<string>("Info")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)")
.HasColumnName("Info");
b.Property<DateTime>("LastChanged")
.HasColumnType("datetime")
.HasColumnName("LastChanged");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)")
.HasColumnName("Name");
b.Property<int>("TwentyFourHours")
.HasColumnType("int")
.HasColumnName("TwentyFourHours");
b.Property<int>("WeekDays")
.HasColumnType("int")
.HasColumnName("WeekDays");
b.HasKey("Id");
b.ToTable("Timezones", (string)null);
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.User", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("Active")
.HasColumnType("int")
.HasColumnName("Active");
b.Property<DateTime>("Created")
.HasColumnType("datetime")
.HasColumnName("Created");
b.Property<string>("CredentialString")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)")
.HasColumnName("CredentialString");
b.Property<int>("CredentialType")
.HasColumnType("int")
.HasColumnName("CredentialType");
b.Property<int?>("DepartmentId")
.HasColumnType("int")
.HasColumnName("Department_Id");
b.Property<bool?>("Dordrecht")
.HasColumnType("bit")
.HasColumnName("Dordrecht");
b.Property<int?>("Expires")
.HasColumnType("int")
.HasColumnName("Expires");
b.Property<int?>("GroupId")
.HasColumnType("int")
.HasColumnName("Group_Id");
b.Property<string>("Info")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)")
.HasColumnName("Info");
b.Property<DateTime>("LastChanged")
.HasColumnType("datetime")
.HasColumnName("LastChanged");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)")
.HasColumnName("Name");
b.Property<int?>("PassNumber")
.HasColumnType("int")
.HasColumnName("PassNumber");
b.Property<string>("SubLine")
.HasMaxLength(50)
.HasColumnType("nvarchar(50)")
.HasColumnName("SubLine");
b.Property<int?>("Watched")
.HasColumnType("int")
.HasColumnName("Watched");
b.HasKey("Id");
b.HasIndex(new[] { "DepartmentId" }, "IX_FK_Users_Departments");
b.HasIndex(new[] { "GroupId" }, "IX_FK_Users_Groups");
b.HasIndex(new[] { "CredentialString" }, "NonClusteredIndex-CredentialString");
b.ToTable("Users", (string)null);
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.UserGroup", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("Active")
.HasColumnType("int")
.HasColumnName("Active");
b.Property<string>("Info")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)")
.HasColumnName("Info");
b.Property<DateTime>("LastChanged")
.HasColumnType("datetime")
.HasColumnName("LastChanged");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)")
.HasColumnName("Name");
b.HasKey("Id");
b.ToTable("UserGroups", (string)null);
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.UserGroupJoin", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("ID");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("UserGroupId")
.HasColumnType("int")
.HasColumnName("UserGroup_Id");
b.Property<int>("UserId")
.HasColumnType("int")
.HasColumnName("User_Id");
b.HasKey("Id");
b.HasIndex("UserGroupId");
b.HasIndex("UserId");
b.ToTable("UserGroupJoins", (string)null);
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.AuthorizationEntry", b =>
{
b.HasOne("Aperio_Control_Centre.ACSDatabase.Models.DeviceGroup", "DeviceGroup")
.WithMany("Authorizations")
.HasForeignKey("DeviceGroupId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Aperio_Control_Centre.ACSDatabase.Models.Timezone", "Timezone")
.WithMany("Authorizations")
.HasForeignKey("TimezoneId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Aperio_Control_Centre.ACSDatabase.Models.UserGroup", "UserGroup")
.WithMany("Authorizations")
.HasForeignKey("UserGroupId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("DeviceGroup");
b.Navigation("Timezone");
b.Navigation("UserGroup");
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.Device", b =>
{
b.HasOne("Aperio_Control_Centre.ACSDatabase.Models.Location", "Location")
.WithMany("Devices")
.HasForeignKey("LocationId")
.HasConstraintName("FK_Devices_Locations");
b.HasOne("Aperio_Control_Centre.ACSDatabase.Models.Timezone", "UnlockTimezone")
.WithMany("Devices")
.HasForeignKey("UnlockTimezoneId")
.HasConstraintName("FK_Devices_Timezones");
b.OwnsMany("Aperio_Control_Centre.ACSDatabase.Models.SupportedDoorMode", "DoorModes", b1 =>
{
b1.Property<int>("DeviceId")
.HasColumnType("int");
b1.Property<int>("__synthesizedOrdinal")
.ValueGeneratedOnAdd()
.HasColumnType("int");
b1.Property<bool>("CurrentMode")
.HasColumnType("bit");
b1.Property<int>("DoorMode")
.HasColumnType("int");
b1.HasKey("DeviceId", "__synthesizedOrdinal");
b1.ToTable("Devices");
b1.ToJson("DoorModes");
b1.WithOwner()
.HasForeignKey("DeviceId");
});
b.Navigation("DoorModes");
b.Navigation("Location");
b.Navigation("UnlockTimezone");
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.DeviceGroupJoin", b =>
{
b.HasOne("Aperio_Control_Centre.ACSDatabase.Models.Device", "Device")
.WithMany("DeviceGroupJoins")
.HasForeignKey("DeviceId")
.IsRequired()
.HasConstraintName("FK_DeviceGroupJoins_Device");
b.HasOne("Aperio_Control_Centre.ACSDatabase.Models.Group", "Group")
.WithMany("DeviceGroupJoins")
.HasForeignKey("GroupId")
.IsRequired()
.HasConstraintName("FK_DeviceGroupJoins_Group");
b.Navigation("Device");
b.Navigation("Group");
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.DeviceGroupJoin2", b =>
{
b.HasOne("Aperio_Control_Centre.ACSDatabase.Models.DeviceGroup", null)
.WithMany()
.HasForeignKey("DeviceGroupId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Aperio_Control_Centre.ACSDatabase.Models.Device", null)
.WithMany()
.HasForeignKey("DeviceId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.DoorModeSchedule", b =>
{
b.HasOne("Aperio_Control_Centre.ACSDatabase.Models.Device", "Device")
.WithMany("DoorModeSchedules")
.HasForeignKey("DeviceId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Aperio_Control_Centre.ACSDatabase.Models.Timezone", "Timezone")
.WithMany("DoorModeSchedules")
.HasForeignKey("TimezoneId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Device");
b.Navigation("Timezone");
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.Group", b =>
{
b.HasOne("Aperio_Control_Centre.ACSDatabase.Models.Timezone", "Timezone")
.WithMany("Groups")
.HasForeignKey("TimezoneId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_Timezones_Groups");
b.Navigation("Timezone");
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.Logging", b =>
{
b.HasOne("Aperio_Control_Centre.ACSDatabase.Models.Device", "Device")
.WithMany("Loggings")
.HasForeignKey("DeviceId")
.HasConstraintName("FK_DevicesLoggingsX");
b.HasOne("Aperio_Control_Centre.ACSDatabase.Models.User", "User")
.WithMany("Loggings")
.HasForeignKey("UserId")
.HasConstraintName("FK_UsersLoggingsX");
b.Navigation("Device");
b.Navigation("User");
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.User", b =>
{
b.HasOne("Aperio_Control_Centre.ACSDatabase.Models.Department", "Department")
.WithMany("Users")
.HasForeignKey("DepartmentId")
.HasConstraintName("FK_Users_Departments");
b.HasOne("Aperio_Control_Centre.ACSDatabase.Models.Group", "Group")
.WithMany("Users")
.HasForeignKey("GroupId")
.HasConstraintName("FK_Users_Groups");
b.Navigation("Department");
b.Navigation("Group");
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.UserGroupJoin", b =>
{
b.HasOne("Aperio_Control_Centre.ACSDatabase.Models.UserGroup", null)
.WithMany()
.HasForeignKey("UserGroupId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Aperio_Control_Centre.ACSDatabase.Models.User", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.Department", b =>
{
b.Navigation("Users");
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.Device", b =>
{
b.Navigation("DeviceGroupJoins");
b.Navigation("DoorModeSchedules");
b.Navigation("Loggings");
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.DeviceGroup", b =>
{
b.Navigation("Authorizations");
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.Group", b =>
{
b.Navigation("DeviceGroupJoins");
b.Navigation("Users");
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.Location", b =>
{
b.Navigation("Devices");
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.Timezone", b =>
{
b.Navigation("Authorizations");
b.Navigation("Devices");
b.Navigation("DoorModeSchedules");
b.Navigation("Groups");
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.User", b =>
{
b.Navigation("Loggings");
});
modelBuilder.Entity("Aperio_Control_Centre.ACSDatabase.Models.UserGroup", b =>
{
b.Navigation("Authorizations");
});
#pragma warning restore 612, 618
}
}
}