diff --git a/src/Client/Pages/Configuration/Components/AddUserDialog.razor b/src/Client/Pages/Configuration/Components/AddUserDialog.razor
index 61b789cb..1c1c7c62 100644
--- a/src/Client/Pages/Configuration/Components/AddUserDialog.razor
+++ b/src/Client/Pages/Configuration/Components/AddUserDialog.razor
@@ -6,7 +6,7 @@
@if (Functions != null)
{
-
+
@foreach (var function in Functions.Where(x => !x.TrainingOnly).OrderBy(x => x.Order))
{
diff --git a/src/Client/Pages/Configuration/Components/MonthItemDialog.razor b/src/Client/Pages/Configuration/Components/MonthItemDialog.razor
index e079c133..aa29c3ff 100644
--- a/src/Client/Pages/Configuration/Components/MonthItemDialog.razor
+++ b/src/Client/Pages/Configuration/Components/MonthItemDialog.razor
@@ -2,7 +2,7 @@
@if (MonthItem is not null)
{
-
+
@L["Normal"]
@L["Info"]
diff --git a/src/Client/Pages/Configuration/UserRolesEdit.razor b/src/Client/Pages/Configuration/UserRolesEdit.razor
index a74a2dc7..f3464ef2 100644
--- a/src/Client/Pages/Configuration/UserRolesEdit.razor
+++ b/src/Client/Pages/Configuration/UserRolesEdit.razor
@@ -45,6 +45,8 @@ Changes to this file may cause incorrect behavior and will be lost if the code i
+ @L["Mail"]
+
@L["Global"]
diff --git a/src/Client/Pages/Dashboard/Index.razor b/src/Client/Pages/Dashboard/Index.razor
index 87a59dba..249cac59 100644
--- a/src/Client/Pages/Dashboard/Index.razor
+++ b/src/Client/Pages/Dashboard/Index.razor
@@ -29,8 +29,13 @@
var color = DayItemHelper.DayItemTypeColor(item.Type);
-
-
+
+
+ @if (item.DateEnd is not null && !item.DateEnd.Equals(item.DateStart))
+ {
+
-
+
+ }
@item.Text
@@ -47,7 +52,7 @@
@foreach (var training in _pinnedTrainings)
{
-
+
}
@@ -55,10 +60,10 @@
}
else if (_loading)
{
-
-
-
-
+
+
+
+
}
@L["Future trainings"]
@if (_trainings?.Trainings != null)
@@ -69,7 +74,7 @@
@foreach (var training in _trainings.Trainings)
{
-
+
}
@@ -85,10 +90,10 @@
}
else if (_loading)
{
-
-
-
-
+
+
+
+
}
@if (_futureHolidays != null)
@@ -113,18 +118,18 @@
@L["hui.nu QR code"]
-
+
-
+
-
+
-
+
diff --git a/src/Client/Pages/User/Components/GroupDialog.razor b/src/Client/Pages/User/Components/GroupDialog.razor
index 31e86ee2..68d70bef 100644
--- a/src/Client/Pages/User/Components/GroupDialog.razor
+++ b/src/Client/Pages/User/Components/GroupDialog.razor
@@ -2,7 +2,7 @@
@if (DefaultGroup is not null)
{
-
+
}
diff --git a/src/Client/Pages/User/Components/VacationAdd.razor b/src/Client/Pages/User/Components/VacationAdd.razor
index 91875a8d..6fcc0ea6 100644
--- a/src/Client/Pages/User/Components/VacationAdd.razor
+++ b/src/Client/Pages/User/Components/VacationAdd.razor
@@ -9,7 +9,7 @@
{
@_error
}
-
+
diff --git a/src/Client/Pages/User/Profile.razor b/src/Client/Pages/User/Profile.razor
index b7fcf5af..3526b3ca 100644
--- a/src/Client/Pages/User/Profile.razor
+++ b/src/Client/Pages/User/Profile.razor
@@ -13,10 +13,25 @@
}
- @L["Client version:"] @DefaultSettingsHelper.CURRENT_VERSION
- @if (_updateDetails is not null)
- {
- @L["Server version:"] @_updateDetails.CurrentVersion
- }
+
+
+
+ @L["Client version:"] |
+ @DefaultSettingsHelper.CURRENT_VERSION |
+
+ @if (_updateDetails is not null)
+ {
+
+ @L["Server version:"] |
+ @_updateDetails.CurrentVersion |
+
+ }
+
+
+
+
+ @L["Mails to invite to your trainings"]
+
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/User/Profile.en-US.resx b/src/Client/Resources/Pages/User/Profile.en-US.resx
index 64eaaae4..8394100e 100644
--- a/src/Client/Resources/Pages/User/Profile.en-US.resx
+++ b/src/Client/Resources/Pages/User/Profile.en-US.resx
@@ -23,4 +23,7 @@
Setting training to calendar
+
+ Mails to invite to your trainings
+
\ No newline at end of file
diff --git a/src/Client/Resources/Pages/User/Profile.nl-NL.resx b/src/Client/Resources/Pages/User/Profile.nl-NL.resx
index 0d506e38..ec6b246a 100644
--- a/src/Client/Resources/Pages/User/Profile.nl-NL.resx
+++ b/src/Client/Resources/Pages/User/Profile.nl-NL.resx
@@ -30,4 +30,7 @@
Instelling training naar calender
+
+ Mails die worden uitgenodigd tot jouw oefeningen
+
\ No newline at end of file
diff --git a/src/Client/Shared/Layout/CultureSelector.razor b/src/Client/Shared/Layout/CultureSelector.razor
index efa4ba33..44d03567 100644
--- a/src/Client/Shared/Layout/CultureSelector.razor
+++ b/src/Client/Shared/Layout/CultureSelector.razor
@@ -5,12 +5,12 @@
diff --git a/src/Client/wwwroot/robots.txt b/src/Client/wwwroot/robots.txt
new file mode 100644
index 00000000..916b3bb5
--- /dev/null
+++ b/src/Client/wwwroot/robots.txt
@@ -0,0 +1,3 @@
+User-agent: *
+User-agent: AdsBot-Google
+Disallow: /
\ No newline at end of file
diff --git a/src/ClientGenerator/Clients/UserLinkedMailsClient.g.cs b/src/ClientGenerator/Clients/UserLinkedMailsClient.g.cs
new file mode 100644
index 00000000..bb77dc6a
--- /dev/null
+++ b/src/ClientGenerator/Clients/UserLinkedMailsClient.g.cs
@@ -0,0 +1,42 @@
+//----------------------
+//
+// Generated using the NSwag toolchain v14.1.0.0 (NJsonSchema v11.0.2.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)
+//
+//----------------------
+
+#pragma warning disable 108 // Disable "CS0108 '{derivedDto}.ToJson()' hides inherited member '{dtoBase}.ToJson()'. Use the new keyword if hiding was intended."
+#pragma warning disable 114 // Disable "CS0114 '{derivedDto}.RaisePropertyChanged(String)' hides inherited member 'dtoBase.RaisePropertyChanged(String)'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword."
+#pragma warning disable 472 // Disable "CS0472 The result of the expression is always 'false' since a value of type 'Int32' is never equal to 'null' of type 'Int32?'
+#pragma warning disable 612 // Disable "CS0612 '...' is obsolete"
+#pragma warning disable 649 // Disable "CS0649 Field is never assigned to, and will always have its default value null"
+#pragma warning disable 1573 // Disable "CS1573 Parameter '...' has no matching param tag in the XML comment for ...
+#pragma warning disable 1591 // Disable "CS1591 Missing XML comment for publicly visible type or member ..."
+#pragma warning disable 8073 // Disable "CS8073 The result of the expression is always 'false' since a value of type 'T' is never equal to 'null' of type 'T?'"
+#pragma warning disable 3016 // Disable "CS3016 Arrays as attribute arguments is not CLS-compliant"
+#pragma warning disable 8603 // Disable "CS8603 Possible null reference return"
+#pragma warning disable 8604 // Disable "CS8604 Possible null reference argument for parameter"
+#pragma warning disable 8625 // Disable "CS8625 Cannot convert null literal to non-nullable reference type"
+#pragma warning disable 8765 // Disable "CS8765 Nullability of type of parameter doesn't match overridden member (possibly because of nullability attributes)."
+
+namespace Drogecode.Knrm.Oefenrooster.ClientGenerator.Client
+{
+ using System = global::System;
+
+
+
+
+
+
+}
+
+#pragma warning restore 108
+#pragma warning restore 114
+#pragma warning restore 472
+#pragma warning restore 612
+#pragma warning restore 1573
+#pragma warning restore 1591
+#pragma warning restore 8073
+#pragma warning restore 3016
+#pragma warning restore 8603
+#pragma warning restore 8604
+#pragma warning restore 8625
\ No newline at end of file
diff --git a/src/ClientGenerator/Drogecode.Knrm.Oefenrooster.ClientGenerator.csproj b/src/ClientGenerator/Drogecode.Knrm.Oefenrooster.ClientGenerator.csproj
index 0121efbc..ca8873c6 100644
--- a/src/ClientGenerator/Drogecode.Knrm.Oefenrooster.ClientGenerator.csproj
+++ b/src/ClientGenerator/Drogecode.Knrm.Oefenrooster.ClientGenerator.csproj
@@ -71,6 +71,10 @@
../Clients/UserClient.g.cs
/GenerateClientInterfaces:true /GenerateDtoTypes:false /UseBaseUrl:false /AdditionalNamespaceUsages:Drogecode.Knrm.Oefenrooster.Shared.Models.User
+
+ ../Clients/UserLinkedMailsClient.g.cs
+ /GenerateClientInterfaces:true /GenerateDtoTypes:false /UseBaseUrl:false
+
../Clients/UserRoleClient.g.cs
/GenerateClientInterfaces:true /GenerateDtoTypes:false /UseBaseUrl:false /AdditionalNamespaceUsages:Drogecode.Knrm.Oefenrooster.Shared.Models.UserRole
diff --git a/src/ClientGenerator/OpenAPIs/Audit.json b/src/ClientGenerator/OpenAPIs/Audit.json
index 44d24b60..104b169c 100644
--- a/src/ClientGenerator/OpenAPIs/Audit.json
+++ b/src/ClientGenerator/OpenAPIs/Audit.json
@@ -171,7 +171,8 @@
6,
7,
8,
- 9
+ 9,
+ 10
],
"type": "integer",
"format": "int32"
diff --git a/src/ClientGenerator/OpenAPIs/MonthItem.json b/src/ClientGenerator/OpenAPIs/MonthItem.json
index 6d5c6d71..2ad330d1 100644
--- a/src/ClientGenerator/OpenAPIs/MonthItem.json
+++ b/src/ClientGenerator/OpenAPIs/MonthItem.json
@@ -418,6 +418,8 @@
"$ref": "#/components/schemas/Severity"
},
"text": {
+ "maxLength": 150,
+ "minLength": 0,
"type": "string",
"nullable": true
},
diff --git a/src/ClientGenerator/OpenAPIs/UserLinkedMails.json b/src/ClientGenerator/OpenAPIs/UserLinkedMails.json
new file mode 100644
index 00000000..4fec79f0
--- /dev/null
+++ b/src/ClientGenerator/OpenAPIs/UserLinkedMails.json
@@ -0,0 +1,9 @@
+{
+ "openapi": "3.0.1",
+ "info": {
+ "title": "UserLinkedMails",
+ "version": "v1"
+ },
+ "paths": { },
+ "components": { }
+}
\ No newline at end of file
diff --git a/src/ClientGenerator/OpenAPIs/UserRole.json b/src/ClientGenerator/OpenAPIs/UserRole.json
index 2e254333..51f1bb16 100644
--- a/src/ClientGenerator/OpenAPIs/UserRole.json
+++ b/src/ClientGenerator/OpenAPIs/UserRole.json
@@ -221,6 +221,12 @@
"autH_scheduler_other_user": {
"type": "boolean"
},
+ "autH_scheduler_description_edit": {
+ "type": "boolean"
+ },
+ "autH_scheduler_description_read": {
+ "type": "boolean"
+ },
"autH_users_details": {
"type": "boolean"
},
@@ -245,6 +251,9 @@
"autH_dashboard_qr": {
"type": "boolean"
},
+ "autH_mail_invite_external": {
+ "type": "boolean"
+ },
"autH_show_c_footer": {
"type": "boolean"
}
diff --git a/src/Server/Controllers/UserController.cs b/src/Server/Controllers/UserController.cs
index 58950182..f34857a5 100644
--- a/src/Server/Controllers/UserController.cs
+++ b/src/Server/Controllers/UserController.cs
@@ -211,7 +211,7 @@ public async Task> SyncAllUsers(CancellationT
var a = await _userService.UpdateUser(newUserResponse, userId, customerId);
}
}
- if (users.OdataNextLink != null)
+ if (users.OdataNextLink is not null)
users = await _graphService.NextUsersPage(users);
else break;
}
diff --git a/src/Server/Controllers/UserLinkedMailsController.cs b/src/Server/Controllers/UserLinkedMailsController.cs
new file mode 100644
index 00000000..5f318bd3
--- /dev/null
+++ b/src/Server/Controllers/UserLinkedMailsController.cs
@@ -0,0 +1,30 @@
+using Drogecode.Knrm.Oefenrooster.Server.Hubs;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.Identity.Web.Resource;
+
+namespace Drogecode.Knrm.Oefenrooster.Server.Controllers;
+
+[Authorize]
+[ApiController]
+[Route("api/[controller]")]
+[ApiExplorerSettings(GroupName = "UserLinkedMails")]
+public class UserLinkedMailsController
+{
+ private readonly ILogger _logger;
+ private readonly IUserService _userService;
+ private readonly IAuditService _auditService;
+ private readonly IGraphService _graphService;
+ private readonly IFunctionService _functionService;
+ private readonly RefreshHub _refreshHub;
+
+ public UserLinkedMailsController(ILogger logger, IUserService userService, IAuditService auditService, IGraphService graphService, IFunctionService functionService, RefreshHub refreshHub)
+ {
+ _logger = logger;
+ _userService = userService;
+ _auditService = auditService;
+ _graphService = graphService;
+ _functionService = functionService;
+ _refreshHub = refreshHub;
+ }
+}
\ No newline at end of file
diff --git a/src/Server/Database/DataContext.cs b/src/Server/Database/DataContext.cs
index 0a1b40c7..f139d86f 100644
--- a/src/Server/Database/DataContext.cs
+++ b/src/Server/Database/DataContext.cs
@@ -20,6 +20,7 @@ public class DataContext : DbContext, IDataProtectionKeyContext
public DbSet UserHolidays { get; set; }
public DbSet UserOnVersions { get; set; }
public DbSet UserSettings { get; set; }
+ public DbSet UserLinkedMails { get; set; }
public DbSet Customers { get; set; }
public DbSet CustomerSettings { get; set; }
public DbSet RoosterDefaults { get; set; }
@@ -110,6 +111,11 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(e => { e.Property(en => en.Id).IsRequired(); });
modelBuilder.Entity().HasOne(p => p.Customer).WithMany(g => g.UserSettings).HasForeignKey(s => s.CustomerId).IsRequired();
modelBuilder.Entity().HasOne(p => p.User).WithMany(g => g.UserSettings).HasForeignKey(s => s.UserId).IsRequired();
+
+ //UserLinkedMails
+ modelBuilder.Entity(e => { e.Property(en => en.Id).IsRequired(); });
+ modelBuilder.Entity().HasOne(p => p.Customer).WithMany(g => g.UserLinkedMails).HasForeignKey(s => s.CustomerId).IsRequired();
+ modelBuilder.Entity().HasOne(p => p.User).WithMany(g => g.UserLinkedMails).HasForeignKey(s => s.UserId).IsRequired();
// Rooster available
modelBuilder.Entity(e => { e.Property(en => en.Id).IsRequired(); });
diff --git a/src/Server/Database/Migrations/20240921152744_AddUserExternalId.Designer.cs b/src/Server/Database/Migrations/20240921152744_AddUserExternalId.Designer.cs
new file mode 100644
index 00000000..1c009a1e
--- /dev/null
+++ b/src/Server/Database/Migrations/20240921152744_AddUserExternalId.Designer.cs
@@ -0,0 +1,2625 @@
+//
+using System;
+using System.Collections.Generic;
+using Drogecode.Knrm.Oefenrooster.Server.Database;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+
+#nullable disable
+
+namespace Drogecode.Knrm.Oefenrooster.Server.Database.Migrations
+{
+ [DbContext(typeof(DataContext))]
+ [Migration("20240921152744_AddUserExternalId")]
+ partial class AddUserExternalId
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "8.0.8")
+ .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+ NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
+ modelBuilder.Entity("Drogecode.Knrm.Oefenrooster.Server.Database.Models.DbAudit", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid");
+
+ b.Property("AuditType")
+ .HasColumnType("integer");
+
+ b.Property("Created")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("CustomerId")
+ .IsRequired()
+ .HasColumnType("uuid");
+
+ b.Property("Note")
+ .HasColumnType("text");
+
+ b.Property("ObjectKey")
+ .HasColumnType("uuid");
+
+ b.Property("ObjectName")
+ .HasColumnType("text");
+
+ b.Property("UserId")
+ .HasColumnType("uuid");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CustomerId");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("Audit");
+ });
+
+ modelBuilder.Entity("Drogecode.Knrm.Oefenrooster.Server.Database.Models.DbCustomerSettings", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid");
+
+ b.Property("CustomerId")
+ .HasColumnType("uuid");
+
+ b.Property("Setting")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)");
+
+ b.Property("Value")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CustomerId");
+
+ b.ToTable("CustomerSettings");
+ });
+
+ modelBuilder.Entity("Drogecode.Knrm.Oefenrooster.Server.Database.Models.DbCustomers", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid");
+
+ b.Property("ClientIdLogin")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)");
+
+ b.Property("ClientIdServer")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)");
+
+ b.Property("ClientSecretLogin")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)");
+
+ b.Property("ClientSecretServer")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)");
+
+ b.Property("Created")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("Domain")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)");
+
+ b.Property("Instance")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)");
+
+ b.Property("TenantId")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)");
+
+ b.Property("TimeZone")
+ .IsRequired()
+ .HasMaxLength(20)
+ .HasColumnType("character varying(20)");
+
+ b.HasKey("Id");
+
+ b.ToTable("Customers");
+
+ b.HasData(
+ new
+ {
+ Id = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ ClientIdLogin = "a9c68159-901c-449a-83e0-85243364e3cc",
+ ClientIdServer = "220e1008-1131-4e82-a388-611cd773ddf8",
+ ClientSecretLogin = "",
+ ClientSecretServer = "",
+ Created = new DateTime(2022, 10, 12, 18, 12, 5, 0, DateTimeKind.Utc),
+ Domain = "hui.nu",
+ Instance = "https://login.microsoftonline.com/",
+ Name = "KNRM Huizen",
+ TenantId = "d9754755-b054-4a9c-a77f-da42a4009365",
+ TimeZone = "Europe/Amsterdam"
+ });
+ });
+
+ modelBuilder.Entity("Drogecode.Knrm.Oefenrooster.Server.Database.Models.DbLinkExchange", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid");
+
+ b.Property("CalendarEventId")
+ .HasMaxLength(200)
+ .HasColumnType("character varying(200)");
+
+ b.Property("CustomerId")
+ .HasColumnType("uuid");
+
+ b.Property("IsSet")
+ .HasColumnType("boolean");
+
+ b.Property("VehicleId")
+ .HasColumnType("uuid");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CustomerId");
+
+ b.ToTable("LinkExchange");
+ });
+
+ modelBuilder.Entity("Drogecode.Knrm.Oefenrooster.Server.Database.Models.DbLinkUserDayItem", b =>
+ {
+ b.Property("DayItemId")
+ .HasColumnType("uuid");
+
+ b.Property("UserId")
+ .HasColumnType("uuid");
+
+ b.Property("CalendarEventId")
+ .HasMaxLength(200)
+ .HasColumnType("character varying(200)");
+
+ b.HasKey("DayItemId", "UserId");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("LinkUserDayItems");
+ });
+
+ modelBuilder.Entity("Drogecode.Knrm.Oefenrooster.Server.Database.Models.DbLinkUserUser", b =>
+ {
+ b.Property("UserAId")
+ .HasColumnType("uuid");
+
+ b.Property("UserBId")
+ .HasColumnType("uuid");
+
+ b.Property("DeletedBy")
+ .HasColumnType("uuid");
+
+ b.Property("DeletedOn")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("LinkType")
+ .HasColumnType("integer");
+
+ b.HasKey("UserAId", "UserBId");
+
+ b.HasIndex("UserBId");
+
+ b.ToTable("LinkUserUsers");
+ });
+
+ modelBuilder.Entity("Drogecode.Knrm.Oefenrooster.Server.Database.Models.DbLinkVehicleTraining", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid");
+
+ b.Property("CustomerId")
+ .HasColumnType("uuid");
+
+ b.Property("IsSelected")
+ .HasColumnType("boolean");
+
+ b.Property("RoosterTrainingId")
+ .HasColumnType("uuid");
+
+ b.Property("VehicleId")
+ .HasColumnType("uuid");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CustomerId");
+
+ b.HasIndex("RoosterTrainingId");
+
+ b.HasIndex("VehicleId");
+
+ b.ToTable("LinkVehicleTraining");
+ });
+
+ modelBuilder.Entity("Drogecode.Knrm.Oefenrooster.Server.Database.Models.DbPreComAlert", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid");
+
+ b.Property("Alert")
+ .HasColumnType("text");
+
+ b.Property("CustomerId")
+ .IsRequired()
+ .HasColumnType("uuid");
+
+ b.Property("Ip")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)");
+
+ b.Property("Priority")
+ .HasColumnType("integer");
+
+ b.Property("Raw")
+ .HasColumnType("text");
+
+ b.Property("SendTime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("UserId")
+ .IsRequired()
+ .HasColumnType("uuid");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CustomerId");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("PreComAlert");
+ });
+
+ modelBuilder.Entity("Drogecode.Knrm.Oefenrooster.Server.Database.Models.DbPreComForward", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid");
+
+ b.Property("CreatedBy")
+ .HasColumnType("uuid");
+
+ b.Property("CreatedOn")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("CustomerId")
+ .IsRequired()
+ .HasColumnType("uuid");
+
+ b.Property("DeletedBy")
+ .HasColumnType("uuid");
+
+ b.Property("DeletedOn")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("ForwardUrl")
+ .IsRequired()
+ .HasMaxLength(150)
+ .HasColumnType("character varying(150)");
+
+ b.Property("UserId")
+ .HasColumnType("uuid");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CustomerId");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("PreComForward");
+ });
+
+ modelBuilder.Entity("Drogecode.Knrm.Oefenrooster.Server.Database.Models.DbReportAction", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid");
+
+ b.Property("Area")
+ .HasColumnType("text");
+
+ b.Property("Boat")
+ .HasColumnType("text");
+
+ b.Property("CallMadeBy")
+ .HasColumnType("text");
+
+ b.Property("Causes")
+ .HasColumnType("text");
+
+ b.Property("Commencement")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("Completedby")
+ .HasColumnType("text");
+
+ b.Property("CountAnimals")
+ .HasColumnType("double precision");
+
+ b.Property("CountSailors")
+ .HasColumnType("double precision");
+
+ b.Property("CountSaved")
+ .HasColumnType("double precision");
+
+ b.Property("CustomerId")
+ .HasColumnType("uuid");
+
+ b.Property("Date")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("Departure")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("Description")
+ .HasColumnType("text");
+
+ b.Property("End")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("ForTheBenefitOf")
+ .HasColumnType("text");
+
+ b.Property("FunctioningMaterial")
+ .HasColumnType("text");
+
+ b.Property("GolfHight")
+ .HasColumnType("double precision");
+
+ b.Property("Implications")
+ .HasColumnType("text");
+
+ b.Property("LastUpdated")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("Number")
+ .HasColumnType("double precision");
+
+ b.Property("OdataEtag")
+ .HasColumnType("text");
+
+ b.Property("Prio")
+ .HasColumnType("text");
+
+ b.Property("ProblemsWithWeed")
+ .HasColumnType("text");
+
+ b.Property("Request")
+ .HasColumnType("text");
+
+ b.Property("ShortDescription")
+ .HasColumnType("text");
+
+ b.Property("Sight")
+ .HasColumnType("integer");
+
+ b.Property("Start")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("Title")
+ .HasColumnType("text");
+
+ b.Property("TotalFullHours")
+ .HasColumnType("integer");
+
+ b.Property("TotalMinutes")
+ .HasColumnType("double precision");
+
+ b.Property("Type")
+ .HasColumnType("text");
+
+ b.Property("WaterTemperature")
+ .HasColumnType("double precision");
+
+ b.Property("WeatherCondition")
+ .HasColumnType("text");
+
+ b.Property("WindDirection")
+ .HasColumnType("text");
+
+ b.Property("WindPower")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CustomerId");
+
+ b.ToTable("ReportActions");
+ });
+
+ modelBuilder.Entity("Drogecode.Knrm.Oefenrooster.Server.Database.Models.DbReportTraining", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid");
+
+ b.Property("Area")
+ .HasColumnType("text");
+
+ b.Property("Boat")
+ .HasColumnType("text");
+
+ b.Property("Commencement")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("CustomerId")
+ .HasColumnType("uuid");
+
+ b.Property("Date")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("Description")
+ .HasColumnType("text");
+
+ b.Property("End")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("FunctioningMaterial")
+ .HasColumnType("text");
+
+ b.Property("GolfHight")
+ .HasColumnType("double precision");
+
+ b.Property("LastUpdated")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("OdataEtag")
+ .HasColumnType("text");
+
+ b.Property("ProblemsWithWeed")
+ .HasColumnType("text");
+
+ b.Property("Sight")
+ .HasColumnType("integer");
+
+ b.Property("Start")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("Title")
+ .HasColumnType("text");
+
+ b.Property("TotalFullHours")
+ .HasColumnType("integer");
+
+ b.Property("TotalMinutes")
+ .HasColumnType("double precision");
+
+ b.Property("Type")
+ .HasColumnType("text");
+
+ b.Property("TypeTraining")
+ .HasColumnType("text");
+
+ b.Property("WaterTemperature")
+ .HasColumnType("double precision");
+
+ b.Property("WeatherCondition")
+ .HasColumnType("text");
+
+ b.Property("WindDirection")
+ .HasColumnType("text");
+
+ b.Property("WindPower")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CustomerId");
+
+ b.ToTable("ReportTrainings");
+ });
+
+ modelBuilder.Entity("Drogecode.Knrm.Oefenrooster.Server.Database.Models.DbReportUser", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid");
+
+ b.Property("DbReportActionId")
+ .HasColumnType("uuid");
+
+ b.Property("DbReportTrainingId")
+ .HasColumnType("uuid");
+
+ b.Property("DrogeCodeId")
+ .HasColumnType("uuid");
+
+ b.Property("IsDeleted")
+ .HasColumnType("boolean");
+
+ b.Property("Name")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)");
+
+ b.Property("Order")
+ .HasColumnType("integer");
+
+ b.Property("Role")
+ .HasColumnType("integer");
+
+ b.Property("SharePointID")
+ .HasMaxLength(10)
+ .HasColumnType("character varying(10)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DbReportActionId");
+
+ b.HasIndex("DbReportTrainingId");
+
+ b.ToTable("ReportUsers");
+ });
+
+ modelBuilder.Entity("Drogecode.Knrm.Oefenrooster.Server.Database.Models.DbRoosterAvailable", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid");
+
+ b.Property("Assigned")
+ .HasColumnType("boolean");
+
+ b.Property("Available")
+ .HasColumnType("integer");
+
+ b.Property("CalendarEventId")
+ .HasMaxLength(200)
+ .HasColumnType("character varying(200)");
+
+ b.Property("CustomerId")
+ .HasColumnType("uuid");
+
+ b.Property("Date")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("LinkExchangeId")
+ .HasColumnType("uuid");
+
+ b.Property("SetBy")
+ .HasColumnType("integer");
+
+ b.Property("TrainingId")
+ .HasColumnType("uuid");
+
+ b.Property("UserFunctionId")
+ .HasColumnType("uuid");
+
+ b.Property("UserId")
+ .HasColumnType("uuid");
+
+ b.Property("VehicleId")
+ .HasColumnType("uuid");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CustomerId");
+
+ b.HasIndex("LinkExchangeId");
+
+ b.HasIndex("TrainingId");
+
+ b.HasIndex("UserFunctionId");
+
+ b.HasIndex("UserId");
+
+ b.HasIndex("VehicleId");
+
+ b.ToTable("RoosterAvailable");
+ });
+
+ modelBuilder.Entity("Drogecode.Knrm.Oefenrooster.Server.Database.Models.DbRoosterDefault", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid");
+
+ b.Property("CountToTrainingTarget")
+ .HasColumnType("boolean");
+
+ b.Property("CustomerId")
+ .HasColumnType("uuid");
+
+ b.Property("Name")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)");
+
+ b.Property("Order")
+ .HasColumnType("integer");
+
+ b.Property("RoosterTrainingTypeId")
+ .HasColumnType("uuid");
+
+ b.Property("ShowTime")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("boolean")
+ .HasDefaultValue(true);
+
+ b.Property("TimeEnd")
+ .HasColumnType("time without time zone");
+
+ b.Property("TimeStart")
+ .HasColumnType("time without time zone");
+
+ b.Property("TimeZone")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("ValidFrom")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("ValidUntil")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property>("VehicleIds")
+ .HasColumnType("uuid[]");
+
+ b.Property("WeekDay")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CustomerId");
+
+ b.HasIndex("RoosterTrainingTypeId");
+
+ b.ToTable("RoosterDefault");
+
+ b.HasData(
+ new
+ {
+ Id = new Guid("4142048e-82dc-4015-aab7-1b519da01238"),
+ CountToTrainingTarget = true,
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ Order = 10,
+ RoosterTrainingTypeId = new Guid("7dd5bf75-aef4-4cdd-9515-112e9b51f2f0"),
+ ShowTime = true,
+ TimeEnd = new TimeOnly(21, 30, 0),
+ TimeStart = new TimeOnly(19, 30, 0),
+ TimeZone = "Europe/Amsterdam",
+ ValidFrom = new DateTime(2022, 9, 4, 0, 0, 0, 0, DateTimeKind.Utc),
+ ValidUntil = new DateTime(2024, 6, 30, 23, 59, 59, 0, DateTimeKind.Utc),
+ WeekDay = 1
+ },
+ new
+ {
+ Id = new Guid("7b4693a8-ae9c-430f-9119-49a6ecbfeb54"),
+ CountToTrainingTarget = true,
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ Order = 20,
+ RoosterTrainingTypeId = new Guid("7dd5bf75-aef4-4cdd-9515-112e9b51f2f0"),
+ ShowTime = true,
+ TimeEnd = new TimeOnly(21, 30, 0),
+ TimeStart = new TimeOnly(19, 30, 0),
+ TimeZone = "Europe/Amsterdam",
+ ValidFrom = new DateTime(2022, 9, 4, 0, 0, 0, 0, DateTimeKind.Utc),
+ ValidUntil = new DateTime(2024, 6, 30, 23, 59, 59, 0, DateTimeKind.Utc),
+ WeekDay = 2
+ },
+ new
+ {
+ Id = new Guid("c1967b6b-1f3b-41d2-bfa4-361a71cd064c"),
+ CountToTrainingTarget = true,
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ Order = 30,
+ RoosterTrainingTypeId = new Guid("7dd5bf75-aef4-4cdd-9515-112e9b51f2f0"),
+ ShowTime = true,
+ TimeEnd = new TimeOnly(21, 30, 0),
+ TimeStart = new TimeOnly(19, 30, 0),
+ TimeZone = "Europe/Amsterdam",
+ ValidFrom = new DateTime(2022, 9, 4, 0, 0, 0, 0, DateTimeKind.Utc),
+ ValidUntil = new DateTime(2024, 6, 30, 23, 59, 59, 0, DateTimeKind.Utc),
+ WeekDay = 3
+ },
+ new
+ {
+ Id = new Guid("b73bd006-0d29-4d4e-b71b-2c382d5f703f"),
+ CountToTrainingTarget = true,
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ Order = 40,
+ RoosterTrainingTypeId = new Guid("7dd5bf75-aef4-4cdd-9515-112e9b51f2f0"),
+ ShowTime = true,
+ TimeEnd = new TimeOnly(21, 30, 0),
+ TimeStart = new TimeOnly(19, 30, 0),
+ TimeZone = "Europe/Amsterdam",
+ ValidFrom = new DateTime(2022, 9, 4, 0, 0, 0, 0, DateTimeKind.Utc),
+ ValidUntil = new DateTime(2024, 6, 30, 23, 59, 59, 0, DateTimeKind.Utc),
+ WeekDay = 4
+ },
+ new
+ {
+ Id = new Guid("860ec129-6b99-4286-b90a-a2d536377f7c"),
+ CountToTrainingTarget = false,
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ Name = "In overleg",
+ Order = 50,
+ RoosterTrainingTypeId = new Guid("52260d46-c748-4ffc-b94c-2baecacbfaf4"),
+ ShowTime = false,
+ TimeEnd = new TimeOnly(17, 30, 0),
+ TimeStart = new TimeOnly(15, 0, 0),
+ TimeZone = "Europe/Amsterdam",
+ ValidFrom = new DateTime(2023, 9, 21, 0, 0, 0, 0, DateTimeKind.Utc),
+ ValidUntil = new DateTime(2024, 6, 30, 23, 59, 59, 0, DateTimeKind.Utc),
+ WeekDay = 5
+ },
+ new
+ {
+ Id = new Guid("2bdaccc0-e9f7-40c1-ae76-d9ed66e4a978"),
+ CountToTrainingTarget = true,
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ Order = 60,
+ RoosterTrainingTypeId = new Guid("7dd5bf75-aef4-4cdd-9515-112e9b51f2f0"),
+ ShowTime = true,
+ TimeEnd = new TimeOnly(13, 0, 0),
+ TimeStart = new TimeOnly(10, 0, 0),
+ TimeZone = "Europe/Amsterdam",
+ ValidFrom = new DateTime(2022, 9, 4, 0, 0, 0, 0, DateTimeKind.Utc),
+ ValidUntil = new DateTime(2024, 6, 30, 23, 59, 59, 0, DateTimeKind.Utc),
+ WeekDay = 6
+ },
+ new
+ {
+ Id = new Guid("348c82b5-ba0d-4d31-b242-2edc1dc669c7"),
+ CountToTrainingTarget = true,
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ Order = 70,
+ RoosterTrainingTypeId = new Guid("7dd5bf75-aef4-4cdd-9515-112e9b51f2f0"),
+ ShowTime = true,
+ TimeEnd = new TimeOnly(16, 0, 0),
+ TimeStart = new TimeOnly(13, 0, 0),
+ TimeZone = "Europe/Amsterdam",
+ ValidFrom = new DateTime(2022, 9, 4, 0, 0, 0, 0, DateTimeKind.Utc),
+ ValidUntil = new DateTime(2024, 6, 30, 23, 59, 59, 0, DateTimeKind.Utc),
+ WeekDay = 6
+ },
+ new
+ {
+ Id = new Guid("015b9e42-e233-457e-bf26-de26c3a718ba"),
+ CountToTrainingTarget = true,
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ Order = 80,
+ RoosterTrainingTypeId = new Guid("7dd5bf75-aef4-4cdd-9515-112e9b51f2f0"),
+ ShowTime = true,
+ TimeEnd = new TimeOnly(13, 0, 0),
+ TimeStart = new TimeOnly(10, 0, 0),
+ TimeZone = "Europe/Amsterdam",
+ ValidFrom = new DateTime(2022, 9, 4, 0, 0, 0, 0, DateTimeKind.Utc),
+ ValidUntil = new DateTime(2024, 6, 30, 23, 59, 59, 0, DateTimeKind.Utc),
+ WeekDay = 0
+ },
+ new
+ {
+ Id = new Guid("80d8ac0c-a2f7-4dc9-af57-a0ed74b7f8df"),
+ CountToTrainingTarget = true,
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ Order = 90,
+ RoosterTrainingTypeId = new Guid("7dd5bf75-aef4-4cdd-9515-112e9b51f2f0"),
+ ShowTime = true,
+ TimeEnd = new TimeOnly(16, 0, 0),
+ TimeStart = new TimeOnly(13, 0, 0),
+ TimeZone = "Europe/Amsterdam",
+ ValidFrom = new DateTime(2022, 9, 4, 0, 0, 0, 0, DateTimeKind.Utc),
+ ValidUntil = new DateTime(2024, 6, 30, 23, 59, 59, 0, DateTimeKind.Utc),
+ WeekDay = 0
+ });
+ });
+
+ modelBuilder.Entity("Drogecode.Knrm.Oefenrooster.Server.Database.Models.DbRoosterItemDay", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid");
+
+ b.Property("CreatedBy")
+ .HasColumnType("uuid");
+
+ b.Property("CreatedOn")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("CustomerId")
+ .HasColumnType("uuid");
+
+ b.Property("DateEnd")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("DateStart")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("DeletedBy")
+ .HasColumnType("uuid");
+
+ b.Property("DeletedOn")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("IsFullDay")
+ .HasColumnType("boolean");
+
+ b.Property("Text")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)");
+
+ b.Property("Type")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CustomerId");
+
+ b.ToTable("RoosterItemDay");
+ });
+
+ modelBuilder.Entity("Drogecode.Knrm.Oefenrooster.Server.Database.Models.DbRoosterItemMonth", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid");
+
+ b.Property("CreatedBy")
+ .HasColumnType("uuid");
+
+ b.Property("CreatedOn")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("CustomerId")
+ .HasColumnType("uuid");
+
+ b.Property("DeletedBy")
+ .HasColumnType("uuid");
+
+ b.Property("DeletedOn")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("Month")
+ .HasColumnType("smallint");
+
+ b.Property("Order")
+ .HasColumnType("integer");
+
+ b.Property("Severity")
+ .HasColumnType("integer");
+
+ b.Property("Text")
+ .IsRequired()
+ .HasMaxLength(150)
+ .HasColumnType("character varying(150)");
+
+ b.Property("Type")
+ .HasColumnType("integer");
+
+ b.Property("Year")
+ .HasColumnType("smallint");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CustomerId");
+
+ b.ToTable("RoosterItemMonth");
+
+ b.HasData(
+ new
+ {
+ Id = new Guid("857e2ee9-8f2f-407e-9ec8-a0eaa853b957"),
+ CreatedBy = new Guid("00000000-0000-0000-0000-000000000000"),
+ CreatedOn = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ Month = (short)1,
+ Order = 0,
+ Severity = 0,
+ Text = "KNRM Kompas onderwerp; GEEN",
+ Type = 1
+ },
+ new
+ {
+ Id = new Guid("d7d80ee0-0e73-426f-84b2-2040057c2f7a"),
+ CreatedBy = new Guid("00000000-0000-0000-0000-000000000000"),
+ CreatedOn = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ Month = (short)1,
+ Order = 1,
+ Severity = 1,
+ Text = "Geen ingeroosterde oefeningen in verband met het winterseizoen",
+ Type = 1
+ },
+ new
+ {
+ Id = new Guid("5208deef-4529-4a30-a00e-22737cf52183"),
+ CreatedBy = new Guid("00000000-0000-0000-0000-000000000000"),
+ CreatedOn = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ Month = (short)2,
+ Order = 0,
+ Severity = 0,
+ Text = "KNRM Kompas onderwerp; Algemene kennis & Communicatie",
+ Type = 1
+ },
+ new
+ {
+ Id = new Guid("36e33dc3-8bb8-4096-a127-c3ee04a0e694"),
+ CreatedBy = new Guid("00000000-0000-0000-0000-000000000000"),
+ CreatedOn = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ Month = (short)3,
+ Order = 0,
+ Severity = 0,
+ Text = "KNRM Kompas onderwerp; SAR & Hulpverlening",
+ Type = 1
+ },
+ new
+ {
+ Id = new Guid("01a17983-9bbe-4bfc-b152-f73c1869393d"),
+ CreatedBy = new Guid("00000000-0000-0000-0000-000000000000"),
+ CreatedOn = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ Month = (short)4,
+ Order = 0,
+ Severity = 0,
+ Text = "KNRM Kompas onderwerp; Veiligheid",
+ Type = 1
+ },
+ new
+ {
+ Id = new Guid("f9d140f0-58fa-4c9a-a845-0eb5bad2814f"),
+ CreatedBy = new Guid("00000000-0000-0000-0000-000000000000"),
+ CreatedOn = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ Month = (short)5,
+ Order = 0,
+ Severity = 0,
+ Text = "KNRM Kompas onderwerp; Navigatie",
+ Type = 1
+ },
+ new
+ {
+ Id = new Guid("4a009dd3-db02-4668-bbb0-9a9298c23d58"),
+ CreatedBy = new Guid("00000000-0000-0000-0000-000000000000"),
+ CreatedOn = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ Month = (short)6,
+ Order = 0,
+ Severity = 0,
+ Text = "KNRM Kompas onderwerp; EHBO & Procedures",
+ Type = 1
+ },
+ new
+ {
+ Id = new Guid("e4c00e6b-14d5-4609-bff3-6a6533557a0b"),
+ CreatedBy = new Guid("00000000-0000-0000-0000-000000000000"),
+ CreatedOn = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ Month = (short)7,
+ Order = 0,
+ Severity = 0,
+ Text = "KNRM Kompas onderwerp; Techiek & Varen",
+ Type = 1
+ },
+ new
+ {
+ Id = new Guid("7696579c-403c-4a98-b30e-b19f1e90ffd0"),
+ CreatedBy = new Guid("00000000-0000-0000-0000-000000000000"),
+ CreatedOn = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ Month = (short)7,
+ Order = 1,
+ Severity = 1,
+ Text = "Geen ingeroosterde oefeningen in verband met het hoogseizoen",
+ Type = 1
+ },
+ new
+ {
+ Id = new Guid("48045049-e9cb-4d86-8f34-85578f015f76"),
+ CreatedBy = new Guid("00000000-0000-0000-0000-000000000000"),
+ CreatedOn = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ Month = (short)8,
+ Order = 0,
+ Severity = 0,
+ Text = "KNRM Kompas onderwerp; ntb",
+ Type = 1
+ },
+ new
+ {
+ Id = new Guid("4100bf4d-368e-47d1-b652-8fec191b4934"),
+ CreatedBy = new Guid("00000000-0000-0000-0000-000000000000"),
+ CreatedOn = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ Month = (short)8,
+ Order = 1,
+ Severity = 1,
+ Text = "Geen ingeroosterde oefeningen in verband met het hoogseizoen",
+ Type = 1
+ },
+ new
+ {
+ Id = new Guid("532b68c3-328f-45a2-8a7e-fdf7f9eee111"),
+ CreatedBy = new Guid("00000000-0000-0000-0000-000000000000"),
+ CreatedOn = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ Month = (short)9,
+ Order = 0,
+ Severity = 0,
+ Text = "KNRM Kompas onderwerp; Algemene kennis",
+ Type = 1
+ },
+ new
+ {
+ Id = new Guid("40cbe7bc-4ed4-4897-8cb9-357785cb58c9"),
+ CreatedBy = new Guid("00000000-0000-0000-0000-000000000000"),
+ CreatedOn = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ Month = (short)10,
+ Order = 0,
+ Severity = 0,
+ Text = "KNRM Kompas onderwerp; Communicatie",
+ Type = 1
+ },
+ new
+ {
+ Id = new Guid("ca0fe95d-3b84-4136-bcee-ce080228c324"),
+ CreatedBy = new Guid("00000000-0000-0000-0000-000000000000"),
+ CreatedOn = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ Month = (short)11,
+ Order = 0,
+ Severity = 0,
+ Text = "KNRM Kompas onderwerp; SAR en Hulpverlening",
+ Type = 1
+ },
+ new
+ {
+ Id = new Guid("b858e7fc-02ea-4a2a-a49d-f55c3a912c9c"),
+ CreatedBy = new Guid("00000000-0000-0000-0000-000000000000"),
+ CreatedOn = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ Month = (short)12,
+ Order = 0,
+ Severity = 0,
+ Text = "KNRM Kompas onderwerp; Navigatie",
+ Type = 1
+ });
+ });
+
+ modelBuilder.Entity("Drogecode.Knrm.Oefenrooster.Server.Database.Models.DbRoosterTraining", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid");
+
+ b.Property("CountToTrainingTarget")
+ .HasColumnType("boolean");
+
+ b.Property("CustomerId")
+ .HasColumnType("uuid");
+
+ b.Property("DateEnd")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("DateStart")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("DeletedBy")
+ .HasColumnType("uuid");
+
+ b.Property("DeletedOn")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("Description")
+ .HasMaxLength(1000)
+ .HasColumnType("character varying(1000)");
+
+ b.Property("IsLocked")
+ .HasColumnType("boolean");
+
+ b.Property("IsPinned")
+ .HasColumnType("boolean");
+
+ b.Property("Name")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)");
+
+ b.Property("RoosterDefaultId")
+ .HasColumnType("uuid");
+
+ b.Property("RoosterTrainingTypeId")
+ .HasColumnType("uuid");
+
+ b.Property("ShowTime")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("boolean")
+ .HasDefaultValue(true);
+
+ b.HasKey("Id");
+
+ b.HasIndex("CustomerId");
+
+ b.HasIndex("RoosterDefaultId");
+
+ b.HasIndex("RoosterTrainingTypeId");
+
+ b.ToTable("RoosterTraining");
+ });
+
+ modelBuilder.Entity("Drogecode.Knrm.Oefenrooster.Server.Database.Models.DbRoosterTrainingType", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid");
+
+ b.Property("ColorDark")
+ .HasColumnType("text");
+
+ b.Property("ColorLight")
+ .HasColumnType("text");
+
+ b.Property("CountToTrainingTarget")
+ .HasColumnType("boolean");
+
+ b.Property("CreatedBy")
+ .HasColumnType("uuid");
+
+ b.Property("CreatedDate")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("CustomerId")
+ .HasColumnType("uuid");
+
+ b.Property("IsActive")
+ .HasColumnType("boolean");
+
+ b.Property("IsDefault")
+ .HasColumnType("boolean");
+
+ b.Property("Name")
+ .HasColumnType("text");
+
+ b.Property("Order")
+ .HasColumnType("integer");
+
+ b.Property("TextColorDark")
+ .HasColumnType("text");
+
+ b.Property("TextColorLight")
+ .HasColumnType("text");
+
+ b.Property("UpdatedBy")
+ .HasColumnType("uuid");
+
+ b.Property("UpdatedDate")
+ .HasColumnType("timestamp with time zone");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CustomerId");
+
+ b.ToTable("RoosterTrainingType");
+
+ b.HasData(
+ new
+ {
+ Id = new Guid("7dd5bf75-aef4-4cdd-9515-112e9b51f2f0"),
+ ColorDark = "#ffffff4c",
+ ColorLight = "#bdbdbdff",
+ CountToTrainingTarget = true,
+ CreatedBy = new Guid("04093c7a-11e5-4887-af51-319ecc59efe0"),
+ CreatedDate = new DateTime(2023, 6, 26, 12, 12, 12, 0, DateTimeKind.Utc),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ IsActive = true,
+ IsDefault = true,
+ Name = "Kompas oefening",
+ Order = 10
+ },
+ new
+ {
+ Id = new Guid("80108015-87a7-4453-a1af-d81d15fe3582"),
+ ColorDark = "rgb(214,143,0)",
+ ColorLight = "rgb(214,129,0)",
+ CountToTrainingTarget = false,
+ CreatedBy = new Guid("04093c7a-11e5-4887-af51-319ecc59efe0"),
+ CreatedDate = new DateTime(2023, 6, 26, 12, 12, 12, 0, DateTimeKind.Utc),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ IsActive = true,
+ IsDefault = false,
+ Name = "EHBO",
+ Order = 20
+ },
+ new
+ {
+ Id = new Guid("52260d46-c748-4ffc-b94c-2baecacbfaf4"),
+ ColorDark = "",
+ ColorLight = "rgb(25,169,140)",
+ CountToTrainingTarget = false,
+ CreatedBy = new Guid("04093c7a-11e5-4887-af51-319ecc59efe0"),
+ CreatedDate = new DateTime(2023, 6, 26, 12, 12, 12, 0, DateTimeKind.Utc),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ IsActive = true,
+ IsDefault = false,
+ Name = "een op een",
+ Order = 30
+ },
+ new
+ {
+ Id = new Guid("137f2d85-8a4f-4407-ba78-d24ea1bcc181"),
+ ColorDark = "rgb(244,47,70)",
+ ColorLight = "rgb(242,28,13)",
+ CountToTrainingTarget = false,
+ CreatedBy = new Guid("04093c7a-11e5-4887-af51-319ecc59efe0"),
+ CreatedDate = new DateTime(2023, 6, 26, 12, 12, 12, 0, DateTimeKind.Utc),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ IsActive = true,
+ IsDefault = false,
+ Name = "Brandweer",
+ Order = 40,
+ TextColorDark = "#C0C0C0",
+ TextColorLight = "#FFFFFF"
+ },
+ new
+ {
+ Id = new Guid("be12f5d9-b6f9-45d5-bd5f-6b74d7706a53"),
+ ColorDark = "rgb(13,222,156)",
+ ColorLight = "rgb(0,235,98)",
+ CountToTrainingTarget = false,
+ CreatedBy = new Guid("04093c7a-11e5-4887-af51-319ecc59efe0"),
+ CreatedDate = new DateTime(2023, 6, 26, 12, 12, 12, 0, DateTimeKind.Utc),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ IsActive = true,
+ IsDefault = false,
+ Name = "HRB oefening",
+ Order = 50
+ },
+ new
+ {
+ Id = new Guid("6153a297-9486-43de-91e8-22d107da2b21"),
+ ColorDark = "#3BB9FF",
+ ColorLight = "#ADD8E6",
+ CountToTrainingTarget = false,
+ CreatedBy = new Guid("04093c7a-11e5-4887-af51-319ecc59efe0"),
+ CreatedDate = new DateTime(2023, 6, 26, 12, 12, 12, 0, DateTimeKind.Utc),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ IsActive = true,
+ IsDefault = false,
+ Name = "Evenement",
+ Order = 60
+ },
+ new
+ {
+ Id = new Guid("61646e7b-5257-4928-87fe-f1ac8ef1ef41"),
+ ColorDark = "#5f6138",
+ ColorLight = "#919454",
+ CountToTrainingTarget = false,
+ CreatedBy = new Guid("04093c7a-11e5-4887-af51-319ecc59efe0"),
+ CreatedDate = new DateTime(2023, 6, 26, 12, 12, 12, 0, DateTimeKind.Utc),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ IsActive = true,
+ IsDefault = false,
+ Name = "Techniek",
+ Order = 70
+ },
+ new
+ {
+ Id = new Guid("68be785c-1226-4280-a110-bd87f328951f"),
+ ColorLight = "#000000",
+ CountToTrainingTarget = false,
+ CreatedBy = new Guid("04093c7a-11e5-4887-af51-319ecc59efe0"),
+ CreatedDate = new DateTime(2023, 6, 26, 12, 12, 12, 0, DateTimeKind.Utc),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ IsActive = true,
+ IsDefault = false,
+ Name = "Proeve van Bekwaamheid",
+ Order = 80,
+ TextColorDark = "#C0C0C0",
+ TextColorLight = "#FFFFFF"
+ });
+ });
+
+ modelBuilder.Entity("Drogecode.Knrm.Oefenrooster.Server.Database.Models.DbUserDefaultAvailable", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid");
+
+ b.Property("Assigned")
+ .HasColumnType("boolean");
+
+ b.Property("Available")
+ .HasColumnType("integer");
+
+ b.Property("CustomerId")
+ .HasColumnType("uuid");
+
+ b.Property("DefaultGroupId")
+ .HasColumnType("uuid");
+
+ b.Property("RoosterDefaultId")
+ .HasColumnType("uuid");
+
+ b.Property("UserId")
+ .HasColumnType("uuid");
+
+ b.Property("ValidFrom")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("ValidUntil")
+ .HasColumnType("timestamp with time zone");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CustomerId");
+
+ b.HasIndex("DefaultGroupId");
+
+ b.HasIndex("RoosterDefaultId");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("UserDefaultAvailable");
+ });
+
+ modelBuilder.Entity("Drogecode.Knrm.Oefenrooster.Server.Database.Models.DbUserDefaultGroup", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid");
+
+ b.Property("CustomerId")
+ .HasColumnType("uuid");
+
+ b.Property("IsDefault")
+ .HasColumnType("boolean");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(30)
+ .HasColumnType("character varying(30)");
+
+ b.Property("UserId")
+ .HasColumnType("uuid");
+
+ b.Property("ValidFrom")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("ValidUntil")
+ .HasColumnType("timestamp with time zone");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CustomerId");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("UserDefaultGroup");
+ });
+
+ modelBuilder.Entity("Drogecode.Knrm.Oefenrooster.Server.Database.Models.DbUserFunctions", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid");
+
+ b.Property("CustomerId")
+ .HasColumnType("uuid");
+
+ b.Property("IsActive")
+ .HasColumnType("boolean");
+
+ b.Property("IsDefault")
+ .HasColumnType("boolean");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)");
+
+ b.Property("Order")
+ .HasColumnType("integer");
+
+ b.Property("RoleId")
+ .HasColumnType("uuid");
+
+ b.Property("TrainingOnly")
+ .HasColumnType("boolean");
+
+ b.Property("TrainingTarget")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CustomerId");
+
+ b.ToTable("UserFunctions");
+
+ b.HasData(
+ new
+ {
+ Id = new Guid("d23de705-d950-4833-8b94-aa531022d450"),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ IsActive = true,
+ IsDefault = false,
+ Name = "Kompas leider",
+ Order = 10,
+ TrainingOnly = true,
+ TrainingTarget = 0
+ },
+ new
+ {
+ Id = new Guid("48db5dd5-cb72-4365-9bf5-959691dc54f2"),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ IsActive = true,
+ IsDefault = false,
+ Name = "Schipper",
+ Order = 20,
+ RoleId = new Guid("f5b0bab6-6fdf-457d-855d-bbea6ea57bd5"),
+ TrainingOnly = false,
+ TrainingTarget = 2
+ },
+ new
+ {
+ Id = new Guid("cf6e6afa-8aa5-4b3d-8198-fb5e86faf53c"),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ IsActive = true,
+ IsDefault = false,
+ Name = "Schipper I.O.",
+ Order = 30,
+ RoleId = new Guid("54aace50-0e1f-4c35-a1b3-87c9ff6bd743"),
+ TrainingOnly = false,
+ TrainingTarget = 2
+ },
+ new
+ {
+ Id = new Guid("35ad11b8-d3f2-4960-b1e8-d41aaccd188a"),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ IsActive = true,
+ IsDefault = false,
+ Name = "Opstapper",
+ Order = 60,
+ RoleId = new Guid("afb45395-89ee-413d-9385-21962772dbda"),
+ TrainingOnly = false,
+ TrainingTarget = 2
+ },
+ new
+ {
+ Id = new Guid("feb3641f-9941-4db7-a202-14263d706516"),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ IsActive = true,
+ IsDefault = false,
+ Name = "Aankomend opstapper",
+ Order = 70,
+ RoleId = new Guid("2197a054-e81f-4720-9f08-321377398cb6"),
+ TrainingOnly = false,
+ TrainingTarget = 2
+ },
+ new
+ {
+ Id = new Guid("322858f8-fd2c-4e62-b699-92c605adbbf2"),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ IsActive = true,
+ IsDefault = true,
+ Name = "Opstapper op proef",
+ Order = 80,
+ RoleId = new Guid("2956c6f9-6b83-46eb-8890-dbb640fd5023"),
+ TrainingOnly = false,
+ TrainingTarget = 0
+ },
+ new
+ {
+ Id = new Guid("5c49fc5c-25eb-48c2-a746-74ac3a030d48"),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ IsActive = true,
+ IsDefault = false,
+ Name = "HRB Aankomend opstapper",
+ Order = 100,
+ RoleId = new Guid("f06a00e3-62c9-4ba5-baea-84a5ba10f53a"),
+ TrainingOnly = false,
+ TrainingTarget = 0
+ },
+ new
+ {
+ Id = new Guid("95427da1-e4d5-442e-962a-b04ab861a2c2"),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ IsActive = true,
+ IsDefault = false,
+ Name = "Waarnemer",
+ Order = 180,
+ TrainingOnly = true,
+ TrainingTarget = 0
+ },
+ new
+ {
+ Id = new Guid("0a0a2c2d-15c7-4205-93a2-621de3c30db1"),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ IsActive = true,
+ IsDefault = false,
+ Name = "Extra",
+ Order = 300,
+ TrainingOnly = false,
+ TrainingTarget = 0
+ },
+ new
+ {
+ Id = new Guid("a23f1f39-275e-4e21-901f-4878b73d3ede"),
+ CustomerId = new Guid("d9754755-b054-4a9c-a77f-da42a4009365"),
+ IsActive = false,
+ IsDefault = false,
+ Name = "Inactief",
+ Order = 400,
+ TrainingOnly = false,
+ TrainingTarget = 0
+ });
+ });
+
+ modelBuilder.Entity("Drogecode.Knrm.Oefenrooster.Server.Database.Models.DbUserHolidays", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid");
+
+ b.Property("Available")
+ .HasColumnType("integer");
+
+ b.Property("CustomerId")
+ .HasColumnType("uuid");
+
+ b.Property("Description")
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)");
+
+ b.Property("UserId")
+ .HasColumnType("uuid");
+
+ b.Property("ValidFrom")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property