From c1e988a19c072e40bb7d1423478113b6034809b6 Mon Sep 17 00:00:00 2001 From: RBiyovskiy Date: Wed, 3 Aug 2022 10:10:24 +0300 Subject: [PATCH 1/9] CodeficatorCategory moved to the Common project --- .../Enums/CodeficatorCategory.cs | 6 +++--- OutOfSchool/OutOfSchool.Common/OutOfSchool.Common.csproj | 1 + .../OutOfSchool.DataAccess/OutOfSchool.DataAccess.csproj | 1 - 3 files changed, 4 insertions(+), 4 deletions(-) rename OutOfSchool/{OutOfSchool.DataAccess => OutOfSchool.Common}/Enums/CodeficatorCategory.cs (98%) diff --git a/OutOfSchool/OutOfSchool.DataAccess/Enums/CodeficatorCategory.cs b/OutOfSchool/OutOfSchool.Common/Enums/CodeficatorCategory.cs similarity index 98% rename from OutOfSchool/OutOfSchool.DataAccess/Enums/CodeficatorCategory.cs rename to OutOfSchool/OutOfSchool.Common/Enums/CodeficatorCategory.cs index d974d84ed4..77534bcc71 100644 --- a/OutOfSchool/OutOfSchool.DataAccess/Enums/CodeficatorCategory.cs +++ b/OutOfSchool/OutOfSchool.Common/Enums/CodeficatorCategory.cs @@ -1,6 +1,6 @@ using Ardalis.SmartEnum; -namespace OutOfSchool.Services.Enums; +namespace OutOfSchool.Common.Enums; public abstract class CodeficatorCategory : SmartEnum { @@ -152,7 +152,7 @@ public Level2Category() private sealed class Level4Category : CodeficatorCategory { public Level4Category() - : base("MTCX", 208) + : base("MTCXK", 210) { } @@ -162,7 +162,7 @@ public Level4Category() private sealed class SearchableCategoriesCategory : CodeficatorCategory { public SearchableCategoriesCategory() - : base("MTCXK", 210) + : base("MTCXKB", 210) { } diff --git a/OutOfSchool/OutOfSchool.Common/OutOfSchool.Common.csproj b/OutOfSchool/OutOfSchool.Common/OutOfSchool.Common.csproj index 4a5d2d61cd..aaceee5e17 100644 --- a/OutOfSchool/OutOfSchool.Common/OutOfSchool.Common.csproj +++ b/OutOfSchool/OutOfSchool.Common/OutOfSchool.Common.csproj @@ -12,6 +12,7 @@ $(NoWarn);1591 + diff --git a/OutOfSchool/OutOfSchool.DataAccess/OutOfSchool.DataAccess.csproj b/OutOfSchool/OutOfSchool.DataAccess/OutOfSchool.DataAccess.csproj index fb2e8ac95c..5016f6963c 100644 --- a/OutOfSchool/OutOfSchool.DataAccess/OutOfSchool.DataAccess.csproj +++ b/OutOfSchool/OutOfSchool.DataAccess/OutOfSchool.DataAccess.csproj @@ -23,7 +23,6 @@ - From 779652ec87bacdc8a38316804b8a69e24752b03c Mon Sep 17 00:00:00 2001 From: RBiyovskiy Date: Wed, 3 Aug 2022 10:14:53 +0300 Subject: [PATCH 2/9] Model, DTO and filter changes --- .../Models/CodeficatorAddressDto.cs | 30 ++++++++++++++----- .../Models/Codeficator.cs | 7 +++-- .../OutOfSchool.WebApi/Models/AddressDto.cs | 2 +- .../Models/Codeficator/AllAddressPartsDto.cs | 12 ++++---- .../Models/Codeficator/CodeficatorDto.cs | 2 ++ .../Models/Codeficator/CodeficatorFilter.cs | 2 +- 6 files changed, 36 insertions(+), 19 deletions(-) diff --git a/OutOfSchool/OutOfSchool.Common/Models/CodeficatorAddressDto.cs b/OutOfSchool/OutOfSchool.Common/Models/CodeficatorAddressDto.cs index 002786e008..c38cb71f86 100644 --- a/OutOfSchool/OutOfSchool.Common/Models/CodeficatorAddressDto.cs +++ b/OutOfSchool/OutOfSchool.Common/Models/CodeficatorAddressDto.cs @@ -1,4 +1,7 @@ -namespace OutOfSchool.Common.Models; +using System.Text; +using OutOfSchool.Common.Enums; + +namespace OutOfSchool.Common.Models; public class CodeficatorAddressDto { @@ -20,35 +23,46 @@ public class CodeficatorAddressDto public double Longitude { get; set; } + public int Order { get; set; } + public string FullName { get { - string addr = CityDistrict; + StringBuilder addr = new StringBuilder(); + + if (!string.IsNullOrEmpty(CityDistrict)) + { + addr.Append($"{CityDistrict} {CodeficatorCategory.CityDistrict.Abbrivation}"); + } if (!string.IsNullOrEmpty(Settlement)) { - addr += GetSplitter(addr) + Settlement; + addr.Append($"{GetSplitter(addr)}{Settlement}"); + //addr += GetSplitter(addr) + Settlement; } if (!string.IsNullOrEmpty(TerritorialCommunity)) { - addr += GetSplitter(addr) + TerritorialCommunity; + addr.Append($"{GetSplitter(addr)}{TerritorialCommunity} {CodeficatorCategory.TerritorialCommunity.Abbrivation}"); + //addr += GetSplitter(addr) + TerritorialCommunity; } if (!string.IsNullOrEmpty(District)) { - addr += GetSplitter(addr) + District; + addr.Append($"{GetSplitter(addr)}{District} {CodeficatorCategory.District.Abbrivation}"); + //addr += GetSplitter(addr) + District; } if (!string.IsNullOrEmpty(Region)) { - addr += GetSplitter(addr) + Region; + addr.Append($"{GetSplitter(addr)}{Region} {CodeficatorCategory.Region.Abbrivation}"); + //addr += GetSplitter(addr) + Region; } - return addr; + return addr.ToString(); } } - private string GetSplitter(string addr) => string.IsNullOrEmpty(addr) ? string.Empty : Constants.AddressSeparator; + private string GetSplitter(StringBuilder addr) => addr.Length == 0 ? string.Empty : Constants.AddressSeparator; } \ No newline at end of file diff --git a/OutOfSchool/OutOfSchool.DataAccess/Models/Codeficator.cs b/OutOfSchool/OutOfSchool.DataAccess/Models/Codeficator.cs index 99c5e20330..9ee19eca40 100644 --- a/OutOfSchool/OutOfSchool.DataAccess/Models/Codeficator.cs +++ b/OutOfSchool/OutOfSchool.DataAccess/Models/Codeficator.cs @@ -1,5 +1,4 @@ -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations; namespace OutOfSchool.Services.Models; @@ -26,5 +25,7 @@ public class CATOTTG : IKeyedEntity public bool NeedCheck { get; set; } = default; + public int Order { get; set; } = default; + public virtual CATOTTG Parent { get; set; } -} +} \ No newline at end of file diff --git a/OutOfSchool/OutOfSchool.WebApi/Models/AddressDto.cs b/OutOfSchool/OutOfSchool.WebApi/Models/AddressDto.cs index 63d8929537..0258ec708c 100644 --- a/OutOfSchool/OutOfSchool.WebApi/Models/AddressDto.cs +++ b/OutOfSchool/OutOfSchool.WebApi/Models/AddressDto.cs @@ -30,7 +30,7 @@ public class AddressDto public double Longitude { get; set; } - public long? CATOTTGId { get; set; } + public long? CATOTTGId { get; set; } = 31737; public AllAddressPartsDto CodeficatorAddressDto { get; set; } diff --git a/OutOfSchool/OutOfSchool.WebApi/Models/Codeficator/AllAddressPartsDto.cs b/OutOfSchool/OutOfSchool.WebApi/Models/Codeficator/AllAddressPartsDto.cs index c469438567..13567e4bfe 100644 --- a/OutOfSchool/OutOfSchool.WebApi/Models/Codeficator/AllAddressPartsDto.cs +++ b/OutOfSchool/OutOfSchool.WebApi/Models/Codeficator/AllAddressPartsDto.cs @@ -1,6 +1,6 @@ using Newtonsoft.Json; +using OutOfSchool.Common.Enums; using OutOfSchool.Common.Models; -using OutOfSchool.Services.Enums; namespace OutOfSchool.WebApi.Models.Codeficator; @@ -50,22 +50,22 @@ private void FillAddressPart(CodeficatorDto codeficator, bool isEndPointAddressI switch (r2) { case var e when e.Equals(CodeficatorCategory.Region): - Region = $"{codeficator.Name} {CodeficatorCategory.Region.Abbrivation}"; + Region = codeficator.Name; break; case var e when e.Equals(CodeficatorCategory.District): - District = $"{codeficator.Name} {CodeficatorCategory.District.Abbrivation}"; + District = codeficator.Name; break; case var e when e.Equals(CodeficatorCategory.TerritorialCommunity): - TerritorialCommunity = $"{codeficator.Name} {CodeficatorCategory.TerritorialCommunity.Abbrivation}"; + TerritorialCommunity = codeficator.Name; break; case var e when e.Equals(CodeficatorCategory.City) || e.Equals(CodeficatorCategory.UrbanSettlement) || e.Equals(CodeficatorCategory.Village) || e.Equals(CodeficatorCategory.Settlement): - Settlement = $"{CodeficatorCategory.FromValue(e).Abbrivation} {codeficator.Name}"; + Settlement = codeficator.Name; break; case var e when e.Equals(CodeficatorCategory.CityDistrict): - CityDistrict = $"{codeficator.Name} {CodeficatorCategory.CityDistrict.Abbrivation}"; + CityDistrict = codeficator.Name; break; } } diff --git a/OutOfSchool/OutOfSchool.WebApi/Models/Codeficator/CodeficatorDto.cs b/OutOfSchool/OutOfSchool.WebApi/Models/Codeficator/CodeficatorDto.cs index 39fe35088a..1b32e1cfc1 100644 --- a/OutOfSchool/OutOfSchool.WebApi/Models/Codeficator/CodeficatorDto.cs +++ b/OutOfSchool/OutOfSchool.WebApi/Models/Codeficator/CodeficatorDto.cs @@ -21,5 +21,7 @@ public class CodeficatorDto public double Longitude { get; set; } + public int Order { get; set; } = default; + public CodeficatorDto Parent { get; set; } } \ No newline at end of file diff --git a/OutOfSchool/OutOfSchool.WebApi/Models/Codeficator/CodeficatorFilter.cs b/OutOfSchool/OutOfSchool.WebApi/Models/Codeficator/CodeficatorFilter.cs index 26d4d51f48..f999416d32 100644 --- a/OutOfSchool/OutOfSchool.WebApi/Models/Codeficator/CodeficatorFilter.cs +++ b/OutOfSchool/OutOfSchool.WebApi/Models/Codeficator/CodeficatorFilter.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using OutOfSchool.Services.Enums; +using OutOfSchool.Common.Enums; namespace OutOfSchool.WebApi.Models.Codeficator; From 64b62207fa0f3bac8ec8aa3b486bfeb2537646b6 Mon Sep 17 00:00:00 2001 From: RBiyovskiy Date: Wed, 3 Aug 2022 10:15:45 +0300 Subject: [PATCH 3/9] service and repository changes --- .../Repository/CodeficatorRepository.cs | 18 +++++++++++------- .../Services/CodeficatorService.cs | 2 +- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/OutOfSchool/OutOfSchool.DataAccess/Repository/CodeficatorRepository.cs b/OutOfSchool/OutOfSchool.DataAccess/Repository/CodeficatorRepository.cs index e8a6d05da4..d9a233f4e3 100644 --- a/OutOfSchool/OutOfSchool.DataAccess/Repository/CodeficatorRepository.cs +++ b/OutOfSchool/OutOfSchool.DataAccess/Repository/CodeficatorRepository.cs @@ -4,6 +4,7 @@ using System.Linq.Expressions; using System.Threading.Tasks; using Microsoft.EntityFrameworkCore; +using OutOfSchool.Common.Enums; using OutOfSchool.Common.Models; using OutOfSchool.Services.Models; @@ -33,23 +34,26 @@ public async Task>> GetNamesByFilter(Expr /// public async Task> GetFullAddressesByPartOfName(string namePart, string categories = default) { - var query2 = from e in db.CATOTTGs + var query = from e in db.CATOTTGs from p in db.CATOTTGs.Where(x1 => e.ParentId == x1.Id).DefaultIfEmpty() from pp in db.CATOTTGs.Where(x2 => p.ParentId == x2.Id).DefaultIfEmpty() from ppp in db.CATOTTGs.Where(x3 => pp.ParentId == x3.Id).DefaultIfEmpty() - where e.Name.StartsWith(namePart) && categories.Contains(e.Category) + from pppp in db.CATOTTGs.Where(x4 => ppp.ParentId == x4.Id).DefaultIfEmpty() + where ((CodeficatorCategory.Level4.Name.Contains(e.Category) && e.Name.StartsWith(namePart)) || (e.Category == CodeficatorCategory.CityDistrict.Name && p.Name.StartsWith(namePart))) && categories.Contains(e.Category) select new CodeficatorAddressDto { Id = e.Id, Category = e.Category, - Settlement = e.Name, + Settlement = e.Category == CodeficatorCategory.CityDistrict.Name ? p.Name : e.Name, Latitude = e.Latitude, Longitude = e.Longitude, - TerritorialCommunity = p.Name, - District = pp.Name, - Region = ppp.Name, + Order = e.Order, + TerritorialCommunity = e.Category == CodeficatorCategory.CityDistrict.Name ? pp.Name : p.Name, + District = e.Category == CodeficatorCategory.CityDistrict.Name ? ppp.Name : pp.Name, + Region = e.Category == CodeficatorCategory.CityDistrict.Name ? pppp.Name : ppp.Name, + CityDistrict = e.Category == CodeficatorCategory.CityDistrict.Name ? e.Name : null, }; - return await query2.ToListAsync(); + return await query.OrderBy(x => x.Order).ToListAsync(); } } \ No newline at end of file diff --git a/OutOfSchool/OutOfSchool.WebApi/Services/CodeficatorService.cs b/OutOfSchool/OutOfSchool.WebApi/Services/CodeficatorService.cs index 59e4b9824e..fcab1d24da 100644 --- a/OutOfSchool/OutOfSchool.WebApi/Services/CodeficatorService.cs +++ b/OutOfSchool/OutOfSchool.WebApi/Services/CodeficatorService.cs @@ -1,7 +1,7 @@ using System.Linq.Expressions; using AutoMapper; +using OutOfSchool.Common.Enums; using OutOfSchool.Common.Models; -using OutOfSchool.Services.Enums; using OutOfSchool.WebApi.Models.Codeficator; namespace OutOfSchool.WebApi.Services; From 6d84dfc6baf59e8b0542ae4b393dcca17e14be38 Mon Sep 17 00:00:00 2001 From: RBiyovskiy Date: Wed, 3 Aug 2022 10:16:25 +0300 Subject: [PATCH 4/9] test changes --- .../Services/CodeficatorServiceTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OutOfSchool/OutOfSchool.WebApi.Tests/Services/CodeficatorServiceTests.cs b/OutOfSchool/OutOfSchool.WebApi.Tests/Services/CodeficatorServiceTests.cs index 01d9a3657b..f3090f5462 100644 --- a/OutOfSchool/OutOfSchool.WebApi.Tests/Services/CodeficatorServiceTests.cs +++ b/OutOfSchool/OutOfSchool.WebApi.Tests/Services/CodeficatorServiceTests.cs @@ -6,8 +6,8 @@ using AutoMapper; using Microsoft.EntityFrameworkCore; using NUnit.Framework; +using OutOfSchool.Common.Enums; using OutOfSchool.Services; -using OutOfSchool.Services.Enums; using OutOfSchool.Services.Models; using OutOfSchool.Services.Repository; using OutOfSchool.WebApi.Models.Codeficator; From 56942dfa8f18aa5cdd75801bf36c51eb0bff0459 Mon Sep 17 00:00:00 2001 From: RBiyovskiy Date: Wed, 3 Aug 2022 10:17:06 +0300 Subject: [PATCH 5/9] Codeficator Order update script --- .../Config/CodeficatorUpdateOrder.sql | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 OutOfSchool/OutOfSchool.DataAccess/Repository/Config/CodeficatorUpdateOrder.sql diff --git a/OutOfSchool/OutOfSchool.DataAccess/Repository/Config/CodeficatorUpdateOrder.sql b/OutOfSchool/OutOfSchool.DataAccess/Repository/Config/CodeficatorUpdateOrder.sql new file mode 100644 index 0000000000..ab4717fd57 --- /dev/null +++ b/OutOfSchool/OutOfSchool.DataAccess/Repository/Config/CodeficatorUpdateOrder.sql @@ -0,0 +1,20 @@ +USE out_of_school; + +SET SQL_SAFE_UPDATES = 0; + +UPDATE `codeficators` SET `Order` = 120 WHERE `Category` = 'O'; +UPDATE `codeficators` SET `Order` = 110 WHERE `Category` = 'P'; +UPDATE `codeficators` SET `Order` = 100 WHERE `Category` = 'H'; +UPDATE `codeficators` SET `Order` = 80 WHERE `Category` = 'X'; +UPDATE `codeficators` SET `Order` = 70 WHERE `Category` = 'C'; +UPDATE `codeficators` SET `Order` = 60 WHERE `Category` = 'T'; +UPDATE `codeficators` SET `Order` = 50 WHERE `Category` = 'M'; +UPDATE `codeficators` SET `Order` = 40 WHERE `Category` = 'B'; + +UPDATE `codeficators` SET `Order` = 30 WHERE Id in (4506,4791,6006,6240,6752,19191,31748) AND `Category` IN ('M','K'); +UPDATE `codeficators` SET `Order` = 20 WHERE Id in (1378,3917,9335,10720,21800,24274,28289,30145) AND `Category` = 'M'; +UPDATE `codeficators` SET `Order` = 10 WHERE Id in (1099,4090,6193,7385,9793,13117,13960,15447,17423,18415,20675,23241,26238,27209,29660,31734,31737) AND `Category` IN ('M','K'); + +SELECT * FROM `out_of_school`.`codeficators` WHERE `Order` = 0; + +SET SQL_SAFE_UPDATES = 1; \ No newline at end of file From c9bf8a18735d92c8d7dad41aff119df00148eb0c Mon Sep 17 00:00:00 2001 From: RBiyovskiy Date: Wed, 3 Aug 2022 10:17:42 +0300 Subject: [PATCH 6/9] Migration --- ...0802175015_CodeficatorAddOrder.Designer.cs | 2465 +++++++++++++++++ .../20220802175015_CodeficatorAddOrder.cs | 25 + .../OutOfSchoolDbContextModelSnapshot.cs | 47 + 3 files changed, 2537 insertions(+) create mode 100644 OutOfSchool/OutOfSchool.IdentityServer/Data/Migrations/OutOfSchoolMigrations/20220802175015_CodeficatorAddOrder.Designer.cs create mode 100644 OutOfSchool/OutOfSchool.IdentityServer/Data/Migrations/OutOfSchoolMigrations/20220802175015_CodeficatorAddOrder.cs diff --git a/OutOfSchool/OutOfSchool.IdentityServer/Data/Migrations/OutOfSchoolMigrations/20220802175015_CodeficatorAddOrder.Designer.cs b/OutOfSchool/OutOfSchool.IdentityServer/Data/Migrations/OutOfSchoolMigrations/20220802175015_CodeficatorAddOrder.Designer.cs new file mode 100644 index 0000000000..5cc2cafa09 --- /dev/null +++ b/OutOfSchool/OutOfSchool.IdentityServer/Data/Migrations/OutOfSchoolMigrations/20220802175015_CodeficatorAddOrder.Designer.cs @@ -0,0 +1,2465 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using OutOfSchool.Services; + +#nullable disable + +namespace OutOfSchool.IdentityServer.Data.Migrations.OutOfSchoolMigrations +{ + [DbContext(typeof(OutOfSchoolDbContext))] + [Migration("20220802175015_CodeficatorAddOrder")] + partial class CodeficatorAddOrder + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "6.0.6") + .HasAnnotation("Relational:MaxIdentifierLength", 64); + + modelBuilder.Entity("AchievementChild", b => + { + b.Property("AchievementsId") + .HasColumnType("binary(16)"); + + b.Property("ChildrenId") + .HasColumnType("binary(16)"); + + b.HasKey("AchievementsId", "ChildrenId"); + + b.HasIndex("ChildrenId"); + + b.ToTable("AchievementChild"); + }); + + modelBuilder.Entity("DirectionInstitutionHierarchy", b => + { + b.Property("DirectionsId") + .HasColumnType("bigint"); + + b.Property("InstitutionHierarchiesId") + .HasColumnType("binary(16)"); + + b.HasKey("DirectionsId", "InstitutionHierarchiesId"); + + b.HasIndex("InstitutionHierarchiesId"); + + b.ToTable("DirectionInstitutionHierarchy"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.DataProtectionKey", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + b.Property("FriendlyName") + .HasColumnType("longtext"); + + b.Property("Xml") + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.ToTable("DataProtectionKeys"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => + { + b.Property("Id") + .HasColumnType("varchar(255)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("longtext"); + + b.Property("Name") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("NormalizedName") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedName") + .IsUnique() + .HasDatabaseName("RoleNameIndex"); + + b.ToTable("AspNetRoles", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + b.Property("ClaimType") + .HasColumnType("longtext"); + + b.Property("ClaimValue") + .HasColumnType("longtext"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("varchar(255)"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetRoleClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + b.Property("ClaimType") + .HasColumnType("longtext"); + + b.Property("ClaimValue") + .HasColumnType("longtext"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("varchar(255)"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.Property("LoginProvider") + .HasColumnType("varchar(255)"); + + b.Property("ProviderKey") + .HasColumnType("varchar(255)"); + + b.Property("ProviderDisplayName") + .HasColumnType("longtext"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("varchar(255)"); + + b.HasKey("LoginProvider", "ProviderKey"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserLogins", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.Property("UserId") + .HasColumnType("varchar(255)"); + + b.Property("RoleId") + .HasColumnType("varchar(255)"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetUserRoles", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("varchar(255)"); + + b.Property("LoginProvider") + .HasColumnType("varchar(255)"); + + b.Property("Name") + .HasColumnType("varchar(255)"); + + b.Property("Value") + .HasColumnType("longtext"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AspNetUserTokens", (string)null); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Achievement", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("binary(16)"); + + b.Property("AchievementDate") + .HasColumnType("date"); + + b.Property("AchievementTypeId") + .HasColumnType("bigint"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(2000) + .HasColumnType("varchar(2000)"); + + b.Property("WorkshopId") + .HasColumnType("binary(16)"); + + b.HasKey("Id"); + + b.HasIndex("AchievementTypeId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("Achievements"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.AchievementTeacher", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("AchievementId") + .HasColumnType("binary(16)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.HasKey("Id"); + + b.HasIndex("AchievementId"); + + b.ToTable("AchievementTeachers"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.AchievementType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.HasKey("Id"); + + b.ToTable("AchievementTypes"); + + b.HasData( + new + { + Id = 1L, + Title = "Переможці міжнародних та всеукраїнських спортивних змагань (індивідуальних та командних)" + }, + new + { + Id = 2L, + Title = "Призери та учасники міжнародних, всеукраїнських та призери регіональних конкурсів і виставок наукових, технічних, дослідницьких, інноваційних, ІТ проектів" + }, + new + { + Id = 3L, + Title = "Реципієнти міжнародних грантів" + }, + new + { + Id = 4L, + Title = "Призери міжнародних культурних конкурсів та фестивалів" + }, + new + { + Id = 5L, + Title = "Соціально активні категорії учнів" + }, + new + { + Id = 6L, + Title = "Цифрові інструменти Google для закладів вищої та фахової передвищої освіти" + }, + new + { + Id = 7L, + Title = "Переможці та учасники олімпіад міжнародного та всеукраїнського рівнів" + }); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Address", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("BuildingNumber") + .IsRequired() + .HasMaxLength(15) + .HasColumnType("varchar(15)"); + + b.Property("City") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("varchar(30)"); + + b.Property("CodeficatorId") + .HasColumnType("bigint"); + + b.Property("District") + .HasMaxLength(30) + .HasColumnType("varchar(30)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("Latitude") + .HasColumnType("double"); + + b.Property("Longitude") + .HasColumnType("double"); + + b.Property("Region") + .HasMaxLength(30) + .HasColumnType("varchar(30)"); + + b.Property("Street") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("varchar(30)"); + + b.HasKey("Id"); + + b.HasIndex("CodeficatorId"); + + b.ToTable("Addresses"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Application", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("binary(16)"); + + b.Property("ApprovedTime") + .HasColumnType("datetime(6)"); + + b.Property("ChildId") + .HasColumnType("binary(16)"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("IsBlocked") + .HasColumnType("tinyint(1)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("ParentId") + .HasColumnType("binary(16)"); + + b.Property("RejectionMessage") + .HasMaxLength(500) + .HasColumnType("varchar(500)"); + + b.Property("Status") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(1); + + b.Property("WorkshopId") + .HasColumnType("binary(16)"); + + b.HasKey("Id"); + + b.HasIndex("ChildId"); + + b.HasIndex("ParentId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("Applications"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.BlockedProviderParent", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("binary(16)"); + + b.Property("DateTimeFrom") + .HasColumnType("datetime(6)"); + + b.Property("DateTimeTo") + .HasColumnType("datetime(6)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("ParentId") + .HasColumnType("binary(16)"); + + b.Property("ProviderId") + .HasColumnType("binary(16)"); + + b.Property("Reason") + .IsRequired() + .HasMaxLength(500) + .HasColumnType("varchar(500)"); + + b.Property("UserIdBlock") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("UserIdUnblock") + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.HasIndex("ParentId"); + + b.HasIndex("ProviderId"); + + b.ToTable("BlockedProviderParents"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.ChangesLog", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("EntityIdGuid") + .HasColumnType("binary(16)"); + + b.Property("EntityIdLong") + .HasColumnType("bigint"); + + b.Property("EntityType") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("varchar(128)"); + + b.Property("NewValue") + .HasMaxLength(500) + .HasColumnType("varchar(500)"); + + b.Property("OldValue") + .HasMaxLength(500) + .HasColumnType("varchar(500)"); + + b.Property("PropertyName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("varchar(128)"); + + b.Property("UpdatedDate") + .HasColumnType("datetime(6)"); + + b.Property("UserId") + .HasColumnType("varchar(255)"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("ChangesLog"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.ChatWorkshop.ChatMessageWorkshop", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("binary(16)"); + + b.Property("ChatRoomId") + .HasColumnType("binary(16)"); + + b.Property("CreatedDateTime") + .HasColumnType("datetime(6)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("ReadDateTime") + .HasColumnType("datetime(6)"); + + b.Property("SenderRoleIsProvider") + .HasColumnType("tinyint(1)"); + + b.Property("Text") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.HasKey("Id"); + + b.HasIndex("ChatRoomId"); + + b.ToTable("ChatMessageWorkshops"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.ChatWorkshop.ChatRoomWorkshop", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("binary(16)"); + + b.Property("IsBlocked") + .HasColumnType("tinyint(1)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("ParentId") + .HasColumnType("binary(16)"); + + b.Property("WorkshopId") + .HasColumnType("binary(16)"); + + b.HasKey("Id"); + + b.HasIndex("ParentId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("ChatRoomWorkshops"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Child", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("binary(16)"); + + b.Property("DateOfBirth") + .HasColumnType("date"); + + b.Property("FirstName") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("varchar(30)"); + + b.Property("Gender") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("IsParent") + .HasColumnType("tinyint(1)"); + + b.Property("LastName") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("varchar(30)"); + + b.Property("MiddleName") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("varchar(30)"); + + b.Property("ParentId") + .HasColumnType("binary(16)"); + + b.Property("PlaceOfStudy") + .HasMaxLength(500) + .HasColumnType("varchar(500)"); + + b.HasKey("Id"); + + b.HasIndex("ParentId"); + + b.ToTable("Children"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.ChildSocialGroup", b => + { + b.Property("ChildId") + .HasColumnType("binary(16)"); + + b.Property("SocialGroupId") + .HasColumnType("bigint"); + + b.HasKey("ChildId", "SocialGroupId"); + + b.HasIndex("SocialGroupId"); + + b.ToTable("ChildrenSocialGroups"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.City", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("District") + .HasMaxLength(30) + .HasColumnType("varchar(30)"); + + b.Property("GeoHash") + .HasColumnType("bigint unsigned"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("Latitude") + .HasColumnType("double"); + + b.Property("Longitude") + .HasColumnType("double"); + + b.Property("Name") + .HasMaxLength(30) + .HasColumnType("varchar(30)"); + + b.Property("Region") + .HasMaxLength(30) + .HasColumnType("varchar(30)"); + + b.HasKey("Id"); + + b.ToTable("Cities"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Class", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("DepartmentId") + .HasColumnType("bigint"); + + b.Property("Description") + .HasMaxLength(500) + .HasColumnType("varchar(500)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(150) + .HasColumnType("varchar(150)"); + + b.HasKey("Id"); + + b.HasIndex("DepartmentId"); + + b.ToTable("Classes"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Codeficator", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("Category") + .HasMaxLength(3) + .HasColumnType("varchar(3)"); + + b.Property("Code") + .HasMaxLength(20) + .HasColumnType("varchar(20)"); + + b.Property("GeoHash") + .HasColumnType("bigint unsigned"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("Latitude") + .HasColumnType("double"); + + b.Property("Longitude") + .HasColumnType("double"); + + b.Property("Name") + .HasMaxLength(30) + .HasColumnType("varchar(30)"); + + b.Property("NeedCheck") + .HasColumnType("tinyint(1)"); + + b.Property("Order") + .HasColumnType("int"); + + b.Property("ParentId") + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("ParentId"); + + b.ToTable("Codeficators"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.CompanyInformation", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("binary(16)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("Title") + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.Property("Type") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("CompanyInformation"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.CompanyInformationItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("binary(16)"); + + b.Property("CompanyInformationId") + .HasColumnType("binary(16)"); + + b.Property("Description") + .HasMaxLength(2000) + .HasColumnType("varchar(2000)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("SectionName") + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.HasKey("Id"); + + b.HasIndex("CompanyInformationId"); + + b.ToTable("CompanyInformationItems"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.DateTimeRange", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("EndTime") + .HasColumnType("time(6)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("StartTime") + .HasColumnType("time(6)"); + + b.Property("Workdays") + .HasColumnType("tinyint unsigned"); + + b.Property("WorkshopId") + .HasColumnType("binary(16)"); + + b.HasKey("Id"); + + b.HasIndex("WorkshopId"); + + b.ToTable("DateTimeRanges"); + + b.HasCheckConstraint("CK_DateTimeRanges_EndTimeIsAfterStartTime", "EndTime >= StartTime"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Department", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("Description") + .HasMaxLength(500) + .HasColumnType("varchar(500)"); + + b.Property("DirectionId") + .HasColumnType("bigint"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(150) + .HasColumnType("varchar(150)"); + + b.HasKey("Id"); + + b.HasIndex("DirectionId"); + + b.ToTable("Departments"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Direction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("Description") + .HasMaxLength(500) + .HasColumnType("varchar(500)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.HasKey("Id"); + + b.ToTable("Directions"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.ElasticsearchSyncRecord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("binary(16)"); + + b.Property("Entity") + .HasColumnType("int"); + + b.Property("Operation") + .HasColumnType("int"); + + b.Property("OperationDate") + .HasColumnType("datetime(6)"); + + b.Property("RecordId") + .HasColumnType("binary(16)"); + + b.HasKey("Id"); + + b.ToTable("ElasticsearchSyncRecords"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Favorite", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("varchar(255)"); + + b.Property("WorkshopId") + .HasColumnType("binary(16)"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("Favorites"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Images.Image", b => + { + b.Property("EntityId") + .HasColumnType("binary(16)"); + + b.Property("ExternalStorageId") + .HasColumnType("varchar(255)"); + + b.HasKey("EntityId", "ExternalStorageId"); + + b.ToTable("ProviderImages"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Images.Image", b => + { + b.Property("EntityId") + .HasColumnType("binary(16)"); + + b.Property("ExternalStorageId") + .HasColumnType("varchar(255)"); + + b.HasKey("EntityId", "ExternalStorageId"); + + b.ToTable("WorkshopImages"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.InstitutionAdmin", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("InstitutionId") + .HasColumnType("binary(16)"); + + b.Property("UserId") + .HasColumnType("varchar(255)"); + + b.HasKey("Id"); + + b.HasIndex("InstitutionId"); + + b.HasIndex("UserId"); + + b.ToTable("InstitutionAdmins"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.InstitutionStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.HasKey("Id"); + + b.ToTable("InstitutionStatuses"); + + b.HasData( + new + { + Id = 1L, + Name = "Працює" + }, + new + { + Id = 2L, + Name = "Перебуває в стані реорганізації" + }, + new + { + Id = 3L, + Name = "Має намір на реорганізацію" + }, + new + { + Id = 4L, + Name = "Відсутній" + }); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Notification", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("binary(16)"); + + b.Property("Action") + .HasColumnType("int"); + + b.Property("CreatedDateTime") + .HasColumnType("datetime(6)"); + + b.Property("Data") + .HasColumnType("longtext"); + + b.Property("GroupedData") + .HasColumnType("longtext"); + + b.Property("ObjectId") + .HasColumnType("binary(16)"); + + b.Property("ReadDateTime") + .HasColumnType("datetime(6)"); + + b.Property("Type") + .HasColumnType("int"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.ToTable("Notifications"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Parent", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("binary(16)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("varchar(255)"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("Parents"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.PermissionsForRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("Description") + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("PackedPermissions") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("RoleName") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("varchar(20)"); + + b.HasKey("Id"); + + b.ToTable("PermissionsForRoles"); + + b.HasData( + new + { + Id = 1L, + Description = "techadmin permissions", + PackedPermissions = "de\n \r  !()+4325>== + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("binary(16)"); + + b.Property("ActualAddressId") + .HasColumnType("bigint"); + + b.Property("CoverImageId") + .HasColumnType("longtext"); + + b.Property("Director") + .HasMaxLength(50) + .IsUnicode(true) + .HasColumnType("varchar(50)"); + + b.Property("DirectorDateOfBirth") + .HasColumnType("Date"); + + b.Property("EdrpouIpn") + .IsRequired() + .HasMaxLength(12) + .HasColumnType("varchar(12)"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("Facebook") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("Founder") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("varchar(30)"); + + b.Property("FullTitle") + .IsRequired() + .HasMaxLength(60) + .IsUnicode(true) + .HasColumnType("varchar(60)"); + + b.Property("Instagram") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("InstitutionId") + .HasColumnType("binary(16)"); + + b.Property("InstitutionStatusId") + .HasColumnType("bigint"); + + b.Property("InstitutionType") + .HasColumnType("int"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("LegalAddressId") + .HasColumnType("bigint"); + + b.Property("License") + .HasMaxLength(30) + .HasColumnType("varchar(30)"); + + b.Property("LicenseStatus") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0); + + b.Property("Ownership") + .HasColumnType("int"); + + b.Property("PhoneNumber") + .HasMaxLength(15) + .HasColumnType("varchar(15)"); + + b.Property("ShortTitle") + .IsRequired() + .HasMaxLength(60) + .IsUnicode(true) + .HasColumnType("varchar(60)"); + + b.Property("Status") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0); + + b.Property("Type") + .HasColumnType("int"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("varchar(255)"); + + b.Property("Website") + .HasMaxLength(256) + .IsUnicode(true) + .HasColumnType("varchar(256)"); + + b.HasKey("Id"); + + b.HasIndex("ActualAddressId"); + + b.HasIndex("InstitutionId"); + + b.HasIndex("InstitutionStatusId"); + + b.HasIndex("LegalAddressId"); + + b.HasIndex("UserId"); + + b.ToTable("Providers"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.ProviderAdmin", b => + { + b.Property("UserId") + .HasColumnType("varchar(255)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("IsDeputy") + .HasColumnType("tinyint(1)"); + + b.Property("ProviderId") + .HasColumnType("binary(16)"); + + b.HasKey("UserId"); + + b.HasIndex("ProviderId"); + + b.ToTable("ProviderAdmins"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.ProviderAdminChangesLog", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("ManagedWorkshopId") + .HasColumnType("binary(16)"); + + b.Property("OperationDate") + .HasColumnType("datetime(6)"); + + b.Property("OperationType") + .HasColumnType("int"); + + b.Property("ProviderAdminUserId") + .IsRequired() + .HasColumnType("varchar(255)"); + + b.Property("ProviderId") + .HasColumnType("binary(16)"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("varchar(255)"); + + b.HasKey("Id"); + + b.HasIndex("ManagedWorkshopId"); + + b.HasIndex("ProviderAdminUserId"); + + b.HasIndex("ProviderId"); + + b.HasIndex("UserId"); + + b.ToTable("ProviderAdminChangesLog"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.ProviderSectionItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("binary(16)"); + + b.Property("Description") + .HasMaxLength(2000) + .HasColumnType("varchar(2000)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.Property("ProviderId") + .HasColumnType("binary(16)"); + + b.HasKey("Id"); + + b.HasIndex("ProviderId"); + + b.ToTable("ProviderSectionItems"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Rating", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("EntityId") + .HasColumnType("binary(16)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("ParentId") + .HasColumnType("binary(16)"); + + b.Property("Rate") + .HasColumnType("int"); + + b.Property("Type") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("ParentId"); + + b.ToTable("Ratings"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.SocialGroup", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("Name") + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.HasKey("Id"); + + b.ToTable("SocialGroups"); + + b.HasData( + new + { + Id = 1L, + Name = "Діти із багатодітних сімей" + }, + new + { + Id = 2L, + Name = "Діти із малозабезпечених сімей" + }, + new + { + Id = 3L, + Name = "Діти з інвалідністю" + }, + new + { + Id = 4L, + Name = "Діти-сироти" + }, + new + { + Id = 5L, + Name = "Діти, позбавлені батьківського піклування" + }); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.SubordinationStructure.Institution", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("binary(16)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("NumberOfHierarchyLevels") + .HasColumnType("int"); + + b.Property("Title") + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.HasKey("Id"); + + b.ToTable("Institutions"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.SubordinationStructure.InstitutionFieldDescription", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("binary(16)"); + + b.Property("HierarchyLevel") + .HasColumnType("int"); + + b.Property("InstitutionId") + .HasColumnType("binary(16)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("Title") + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.HasKey("Id"); + + b.HasIndex("InstitutionId"); + + b.ToTable("InstitutionFieldDescriptions"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.SubordinationStructure.InstitutionHierarchy", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("binary(16)"); + + b.Property("HierarchyLevel") + .HasColumnType("int"); + + b.Property("InstitutionId") + .HasColumnType("binary(16)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("ParentId") + .HasColumnType("binary(16)"); + + b.Property("Title") + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.HasKey("Id"); + + b.HasIndex("InstitutionId"); + + b.HasIndex("ParentId"); + + b.ToTable("InstitutionHierarchies"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Teacher", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("binary(16)"); + + b.Property("CoverImageId") + .HasColumnType("longtext"); + + b.Property("DateOfBirth") + .HasColumnType("date"); + + b.Property("Description") + .IsRequired() + .HasMaxLength(300) + .HasColumnType("varchar(300)"); + + b.Property("FirstName") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("varchar(30)"); + + b.Property("Gender") + .HasColumnType("int"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("LastName") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("varchar(30)"); + + b.Property("MiddleName") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("varchar(30)"); + + b.Property("WorkshopId") + .HasColumnType("binary(16)"); + + b.HasKey("Id"); + + b.HasIndex("WorkshopId"); + + b.ToTable("Teachers"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.User", b => + { + b.Property("Id") + .HasColumnType("varchar(255)"); + + b.Property("AccessFailedCount") + .HasColumnType("int"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("longtext"); + + b.Property("CreatingTime") + .HasColumnType("datetime(6)"); + + b.Property("Email") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("EmailConfirmed") + .HasColumnType("tinyint(1)"); + + b.Property("FirstName") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("varchar(30)"); + + b.Property("Gender") + .HasColumnType("int"); + + b.Property("IsBlocked") + .HasColumnType("tinyint(1)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("IsDerived") + .HasColumnType("tinyint(1)"); + + b.Property("IsRegistered") + .HasColumnType("tinyint(1)"); + + b.Property("LastLogin") + .HasColumnType("datetime(6)"); + + b.Property("LastName") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("varchar(30)"); + + b.Property("LockoutEnabled") + .HasColumnType("tinyint(1)"); + + b.Property("LockoutEnd") + .HasColumnType("datetime(6)"); + + b.Property("MiddleName") + .HasMaxLength(30) + .HasColumnType("varchar(30)"); + + b.Property("MustChangePassword") + .HasColumnType("tinyint(1)"); + + b.Property("NormalizedEmail") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("NormalizedUserName") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("PasswordHash") + .HasMaxLength(84) + .IsUnicode(false) + .HasColumnType("char(84)") + .IsFixedLength(); + + b.Property("PhoneNumber") + .HasMaxLength(15) + .IsUnicode(false) + .HasColumnType("varchar(15)") + .IsFixedLength(false); + + b.Property("PhoneNumberConfirmed") + .HasColumnType("tinyint(1)"); + + b.Property("Role") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("SecurityStamp") + .IsRequired() + .HasMaxLength(36) + .IsUnicode(false) + .HasColumnType("varchar(36)") + .IsFixedLength(false); + + b.Property("TwoFactorEnabled") + .HasColumnType("tinyint(1)"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedEmail") + .HasDatabaseName("EmailIndex"); + + b.HasIndex("NormalizedUserName") + .IsUnique() + .HasDatabaseName("UserNameIndex"); + + b.ToTable("AspNetUsers", (string)null); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Workshop", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("binary(16)"); + + b.Property("AddressId") + .HasColumnType("bigint"); + + b.Property("AvailableSeats") + .HasColumnType("int unsigned"); + + b.Property("ClassId") + .HasColumnType("bigint"); + + b.Property("CoverImageId") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("DepartmentId") + .HasColumnType("bigint"); + + b.Property("DirectionId") + .HasColumnType("bigint"); + + b.Property("DisabilityOptionsDesc") + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("Facebook") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("Instagram") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("InstitutionHierarchyId") + .HasColumnType("binary(16)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("Keywords") + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.Property("MaxAge") + .HasColumnType("int"); + + b.Property("MinAge") + .HasColumnType("int"); + + b.Property("PayRate") + .HasColumnType("int"); + + b.Property("Phone") + .IsRequired() + .HasMaxLength(15) + .HasColumnType("varchar(15)"); + + b.Property("Price") + .HasColumnType("decimal(18,2)"); + + b.Property("ProviderId") + .HasColumnType("binary(16)"); + + b.Property("ProviderOwnership") + .HasColumnType("int"); + + b.Property("ProviderTitle") + .IsRequired() + .HasMaxLength(60) + .HasColumnType("varchar(60)"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(60) + .HasColumnType("varchar(60)"); + + b.Property("Website") + .HasMaxLength(256) + .HasColumnType("varchar(256)"); + + b.Property("WithDisabilityOptions") + .HasColumnType("tinyint(1)"); + + b.HasKey("Id"); + + b.HasIndex("AddressId"); + + b.HasIndex("ClassId"); + + b.HasIndex("DirectionId"); + + b.HasIndex("InstitutionHierarchyId"); + + b.HasIndex("ProviderId"); + + b.ToTable("Workshops"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.WorkshopDescriptionItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("binary(16)"); + + b.Property("Description") + .IsRequired() + .HasMaxLength(2000) + .HasColumnType("varchar(2000)"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("SectionName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.Property("WorkshopId") + .HasColumnType("binary(16)"); + + b.HasKey("Id"); + + b.HasIndex("WorkshopId"); + + b.ToTable("WorkshopDescriptionItems"); + }); + + modelBuilder.Entity("ProviderAdminWorkshop", b => + { + b.Property("ManagedWorkshopsId") + .HasColumnType("binary(16)"); + + b.Property("ProviderAdminsUserId") + .HasColumnType("varchar(255)"); + + b.HasKey("ManagedWorkshopsId", "ProviderAdminsUserId"); + + b.HasIndex("ProviderAdminsUserId"); + + b.ToTable("ProviderAdminWorkshop"); + }); + + modelBuilder.Entity("AchievementChild", b => + { + b.HasOne("OutOfSchool.Services.Models.Achievement", null) + .WithMany() + .HasForeignKey("AchievementsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("OutOfSchool.Services.Models.Child", null) + .WithMany() + .HasForeignKey("ChildrenId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("DirectionInstitutionHierarchy", b => + { + b.HasOne("OutOfSchool.Services.Models.Direction", null) + .WithMany() + .HasForeignKey("DirectionsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("OutOfSchool.Services.Models.SubordinationStructure.InstitutionHierarchy", null) + .WithMany() + .HasForeignKey("InstitutionHierarchiesId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.HasOne("OutOfSchool.Services.Models.User", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.HasOne("OutOfSchool.Services.Models.User", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("OutOfSchool.Services.Models.User", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.HasOne("OutOfSchool.Services.Models.User", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Achievement", b => + { + b.HasOne("OutOfSchool.Services.Models.AchievementType", "AchievementType") + .WithMany() + .HasForeignKey("AchievementTypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("OutOfSchool.Services.Models.Workshop", "Workshop") + .WithMany() + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("AchievementType"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.AchievementTeacher", b => + { + b.HasOne("OutOfSchool.Services.Models.Achievement", "Achievement") + .WithMany("Teachers") + .HasForeignKey("AchievementId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Achievement"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Address", b => + { + b.HasOne("OutOfSchool.Services.Models.Codeficator", "Codeficator") + .WithMany() + .HasForeignKey("CodeficatorId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Codeficator"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Application", b => + { + b.HasOne("OutOfSchool.Services.Models.Child", "Child") + .WithMany() + .HasForeignKey("ChildId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("OutOfSchool.Services.Models.Parent", "Parent") + .WithMany() + .HasForeignKey("ParentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("OutOfSchool.Services.Models.Workshop", "Workshop") + .WithMany("Applications") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Child"); + + b.Navigation("Parent"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.BlockedProviderParent", b => + { + b.HasOne("OutOfSchool.Services.Models.Parent", "Parent") + .WithMany() + .HasForeignKey("ParentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("OutOfSchool.Services.Models.Provider", "Provider") + .WithMany() + .HasForeignKey("ProviderId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Parent"); + + b.Navigation("Provider"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.ChangesLog", b => + { + b.HasOne("OutOfSchool.Services.Models.User", "User") + .WithMany() + .HasForeignKey("UserId"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.ChatWorkshop.ChatMessageWorkshop", b => + { + b.HasOne("OutOfSchool.Services.Models.ChatWorkshop.ChatRoomWorkshop", "ChatRoom") + .WithMany("ChatMessages") + .HasForeignKey("ChatRoomId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ChatRoom"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.ChatWorkshop.ChatRoomWorkshop", b => + { + b.HasOne("OutOfSchool.Services.Models.Parent", "Parent") + .WithMany("ChatRooms") + .HasForeignKey("ParentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("OutOfSchool.Services.Models.Workshop", "Workshop") + .WithMany("ChatRooms") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Parent"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Child", b => + { + b.HasOne("OutOfSchool.Services.Models.Parent", "Parent") + .WithMany("Children") + .HasForeignKey("ParentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Parent"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.ChildSocialGroup", b => + { + b.HasOne("OutOfSchool.Services.Models.Child", "Child") + .WithMany("ChildSocialGroups") + .HasForeignKey("ChildId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("OutOfSchool.Services.Models.SocialGroup", "SocialGroup") + .WithMany("ChildSocialGroups") + .HasForeignKey("SocialGroupId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Child"); + + b.Navigation("SocialGroup"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Class", b => + { + b.HasOne("OutOfSchool.Services.Models.Department", "Department") + .WithMany("Classes") + .HasForeignKey("DepartmentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Department"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Codeficator", b => + { + b.HasOne("OutOfSchool.Services.Models.Codeficator", "Parent") + .WithMany("Childs") + .HasForeignKey("ParentId"); + + b.Navigation("Parent"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.CompanyInformationItem", b => + { + b.HasOne("OutOfSchool.Services.Models.CompanyInformation", "CompanyInformation") + .WithMany("CompanyInformationItems") + .HasForeignKey("CompanyInformationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CompanyInformation"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.DateTimeRange", b => + { + b.HasOne("OutOfSchool.Services.Models.Workshop", null) + .WithMany("DateTimeRanges") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Department", b => + { + b.HasOne("OutOfSchool.Services.Models.Direction", "Direction") + .WithMany("Departments") + .HasForeignKey("DirectionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Direction"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Favorite", b => + { + b.HasOne("OutOfSchool.Services.Models.User", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("OutOfSchool.Services.Models.Workshop", "Workshop") + .WithMany() + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Images.Image", b => + { + b.HasOne("OutOfSchool.Services.Models.Provider", "Entity") + .WithMany("Images") + .HasForeignKey("EntityId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Entity"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Images.Image", b => + { + b.HasOne("OutOfSchool.Services.Models.Workshop", "Entity") + .WithMany("Images") + .HasForeignKey("EntityId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Entity"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.InstitutionAdmin", b => + { + b.HasOne("OutOfSchool.Services.Models.SubordinationStructure.Institution", "Institution") + .WithMany() + .HasForeignKey("InstitutionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("OutOfSchool.Services.Models.User", "User") + .WithMany() + .HasForeignKey("UserId"); + + b.Navigation("Institution"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Parent", b => + { + b.HasOne("OutOfSchool.Services.Models.User", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Provider", b => + { + b.HasOne("OutOfSchool.Services.Models.Address", "ActualAddress") + .WithMany() + .HasForeignKey("ActualAddressId"); + + b.HasOne("OutOfSchool.Services.Models.SubordinationStructure.Institution", "Institution") + .WithMany("RelatedProviders") + .HasForeignKey("InstitutionId"); + + b.HasOne("OutOfSchool.Services.Models.InstitutionStatus", "InstitutionStatus") + .WithMany("Providers") + .HasForeignKey("InstitutionStatusId"); + + b.HasOne("OutOfSchool.Services.Models.Address", "LegalAddress") + .WithMany() + .HasForeignKey("LegalAddressId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("OutOfSchool.Services.Models.User", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ActualAddress"); + + b.Navigation("Institution"); + + b.Navigation("InstitutionStatus"); + + b.Navigation("LegalAddress"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.ProviderAdmin", b => + { + b.HasOne("OutOfSchool.Services.Models.Provider", "Provider") + .WithMany("ProviderAdmins") + .HasForeignKey("ProviderId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Provider"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.ProviderAdminChangesLog", b => + { + b.HasOne("OutOfSchool.Services.Models.Workshop", "ManagedWorkshop") + .WithMany() + .HasForeignKey("ManagedWorkshopId"); + + b.HasOne("OutOfSchool.Services.Models.User", "ProviderAdminUser") + .WithMany() + .HasForeignKey("ProviderAdminUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("OutOfSchool.Services.Models.Provider", "Provider") + .WithMany() + .HasForeignKey("ProviderId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("OutOfSchool.Services.Models.User", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ManagedWorkshop"); + + b.Navigation("Provider"); + + b.Navigation("ProviderAdminUser"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.ProviderSectionItem", b => + { + b.HasOne("OutOfSchool.Services.Models.Provider", "Provider") + .WithMany("ProviderSectionItems") + .HasForeignKey("ProviderId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Provider"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Rating", b => + { + b.HasOne("OutOfSchool.Services.Models.Parent", "Parent") + .WithMany() + .HasForeignKey("ParentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Parent"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.SubordinationStructure.InstitutionFieldDescription", b => + { + b.HasOne("OutOfSchool.Services.Models.SubordinationStructure.Institution", "Institution") + .WithMany() + .HasForeignKey("InstitutionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Institution"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.SubordinationStructure.InstitutionHierarchy", b => + { + b.HasOne("OutOfSchool.Services.Models.SubordinationStructure.Institution", "Institution") + .WithMany() + .HasForeignKey("InstitutionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("OutOfSchool.Services.Models.SubordinationStructure.InstitutionHierarchy", "Parent") + .WithMany() + .HasForeignKey("ParentId"); + + b.Navigation("Institution"); + + b.Navigation("Parent"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Teacher", b => + { + b.HasOne("OutOfSchool.Services.Models.Workshop", "Workshop") + .WithMany("Teachers") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Workshop", b => + { + b.HasOne("OutOfSchool.Services.Models.Address", "Address") + .WithMany() + .HasForeignKey("AddressId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("OutOfSchool.Services.Models.Class", "Class") + .WithMany() + .HasForeignKey("ClassId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("OutOfSchool.Services.Models.Direction", "Direction") + .WithMany() + .HasForeignKey("DirectionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("OutOfSchool.Services.Models.SubordinationStructure.InstitutionHierarchy", "InstitutionHierarchy") + .WithMany() + .HasForeignKey("InstitutionHierarchyId"); + + b.HasOne("OutOfSchool.Services.Models.Provider", "Provider") + .WithMany("Workshops") + .HasForeignKey("ProviderId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Address"); + + b.Navigation("Class"); + + b.Navigation("Direction"); + + b.Navigation("InstitutionHierarchy"); + + b.Navigation("Provider"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.WorkshopDescriptionItem", b => + { + b.HasOne("OutOfSchool.Services.Models.Workshop", "Workshop") + .WithMany("WorkshopDescriptionItems") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("ProviderAdminWorkshop", b => + { + b.HasOne("OutOfSchool.Services.Models.Workshop", null) + .WithMany() + .HasForeignKey("ManagedWorkshopsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("OutOfSchool.Services.Models.ProviderAdmin", null) + .WithMany() + .HasForeignKey("ProviderAdminsUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Achievement", b => + { + b.Navigation("Teachers"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.ChatWorkshop.ChatRoomWorkshop", b => + { + b.Navigation("ChatMessages"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Child", b => + { + b.Navigation("ChildSocialGroups"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Codeficator", b => + { + b.Navigation("Childs"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.CompanyInformation", b => + { + b.Navigation("CompanyInformationItems"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Department", b => + { + b.Navigation("Classes"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Direction", b => + { + b.Navigation("Departments"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.InstitutionStatus", b => + { + b.Navigation("Providers"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Parent", b => + { + b.Navigation("ChatRooms"); + + b.Navigation("Children"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Provider", b => + { + b.Navigation("Images"); + + b.Navigation("ProviderAdmins"); + + b.Navigation("ProviderSectionItems"); + + b.Navigation("Workshops"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.SocialGroup", b => + { + b.Navigation("ChildSocialGroups"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.SubordinationStructure.Institution", b => + { + b.Navigation("RelatedProviders"); + }); + + modelBuilder.Entity("OutOfSchool.Services.Models.Workshop", b => + { + b.Navigation("Applications"); + + b.Navigation("ChatRooms"); + + b.Navigation("DateTimeRanges"); + + b.Navigation("Images"); + + b.Navigation("Teachers"); + + b.Navigation("WorkshopDescriptionItems"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/OutOfSchool/OutOfSchool.IdentityServer/Data/Migrations/OutOfSchoolMigrations/20220802175015_CodeficatorAddOrder.cs b/OutOfSchool/OutOfSchool.IdentityServer/Data/Migrations/OutOfSchoolMigrations/20220802175015_CodeficatorAddOrder.cs new file mode 100644 index 0000000000..79397b6bd7 --- /dev/null +++ b/OutOfSchool/OutOfSchool.IdentityServer/Data/Migrations/OutOfSchoolMigrations/20220802175015_CodeficatorAddOrder.cs @@ -0,0 +1,25 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace OutOfSchool.IdentityServer.Data.Migrations.OutOfSchoolMigrations; + +public partial class CodeficatorAddOrder : Migration +{ + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "Order", + table: "Codeficators", + type: "int", + nullable: false, + defaultValue: 0); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "Order", + table: "Codeficators"); + } +} diff --git a/OutOfSchool/OutOfSchool.IdentityServer/Data/Migrations/OutOfSchoolMigrations/OutOfSchoolDbContextModelSnapshot.cs b/OutOfSchool/OutOfSchool.IdentityServer/Data/Migrations/OutOfSchoolMigrations/OutOfSchoolDbContextModelSnapshot.cs index 5bb4ced65c..82cf8f1111 100644 --- a/OutOfSchool/OutOfSchool.IdentityServer/Data/Migrations/OutOfSchoolMigrations/OutOfSchoolDbContextModelSnapshot.cs +++ b/OutOfSchool/OutOfSchool.IdentityServer/Data/Migrations/OutOfSchoolMigrations/OutOfSchoolDbContextModelSnapshot.cs @@ -728,6 +728,53 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.ToTable("Classes"); }); + modelBuilder.Entity("OutOfSchool.Services.Models.Codeficator", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + b.Property("Category") + .HasMaxLength(3) + .HasColumnType("varchar(3)"); + + b.Property("Code") + .HasMaxLength(20) + .HasColumnType("varchar(20)"); + + b.Property("GeoHash") + .HasColumnType("bigint unsigned"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)"); + + b.Property("Latitude") + .HasColumnType("double"); + + b.Property("Longitude") + .HasColumnType("double"); + + b.Property("Name") + .HasMaxLength(30) + .HasColumnType("varchar(30)"); + + b.Property("NeedCheck") + .HasColumnType("tinyint(1)"); + + b.Property("Order") + .HasColumnType("int"); + + b.Property("ParentId") + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("ParentId"); + + b.ToTable("Codeficators"); + }); + modelBuilder.Entity("OutOfSchool.Services.Models.CompanyInformation", b => { b.Property("Id") From 5fce1a23974a7689458ecc2d9602eb764f411bd5 Mon Sep 17 00:00:00 2001 From: RBiyovskiy Date: Wed, 3 Aug 2022 10:55:25 +0300 Subject: [PATCH 7/9] sonar bugs fixed --- OutOfSchool/OutOfSchool.Common/Enums/CodeficatorCategory.cs | 1 - .../OutOfSchool.Common/Models/CodeficatorAddressDto.cs | 4 ---- 2 files changed, 5 deletions(-) diff --git a/OutOfSchool/OutOfSchool.Common/Enums/CodeficatorCategory.cs b/OutOfSchool/OutOfSchool.Common/Enums/CodeficatorCategory.cs index 77534bcc71..2bcb32c7a1 100644 --- a/OutOfSchool/OutOfSchool.Common/Enums/CodeficatorCategory.cs +++ b/OutOfSchool/OutOfSchool.Common/Enums/CodeficatorCategory.cs @@ -128,7 +128,6 @@ public CityDistrictCategory() } // Group (flag) values - private sealed class Level1Category : CodeficatorCategory { public Level1Category() diff --git a/OutOfSchool/OutOfSchool.Common/Models/CodeficatorAddressDto.cs b/OutOfSchool/OutOfSchool.Common/Models/CodeficatorAddressDto.cs index c38cb71f86..e4ecc3a538 100644 --- a/OutOfSchool/OutOfSchool.Common/Models/CodeficatorAddressDto.cs +++ b/OutOfSchool/OutOfSchool.Common/Models/CodeficatorAddressDto.cs @@ -39,25 +39,21 @@ public string FullName if (!string.IsNullOrEmpty(Settlement)) { addr.Append($"{GetSplitter(addr)}{Settlement}"); - //addr += GetSplitter(addr) + Settlement; } if (!string.IsNullOrEmpty(TerritorialCommunity)) { addr.Append($"{GetSplitter(addr)}{TerritorialCommunity} {CodeficatorCategory.TerritorialCommunity.Abbrivation}"); - //addr += GetSplitter(addr) + TerritorialCommunity; } if (!string.IsNullOrEmpty(District)) { addr.Append($"{GetSplitter(addr)}{District} {CodeficatorCategory.District.Abbrivation}"); - //addr += GetSplitter(addr) + District; } if (!string.IsNullOrEmpty(Region)) { addr.Append($"{GetSplitter(addr)}{Region} {CodeficatorCategory.Region.Abbrivation}"); - //addr += GetSplitter(addr) + Region; } return addr.ToString(); From 7fb7e5811cd9293826a6491bb7d17a64886862f4 Mon Sep 17 00:00:00 2001 From: RBiyovskiy Date: Thu, 4 Aug 2022 10:04:04 +0300 Subject: [PATCH 8/9] review remarks fixed --- OutOfSchool/OutOfSchool.Common/Constants.cs | 2 ++ .../Models/CodeficatorAddressDto.cs | 16 ++++++++-------- .../OutOfSchool.WebApi/Models/AddressDto.cs | 2 +- .../Models/Codeficator/AllAddressPartsDto.cs | 3 +-- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/OutOfSchool/OutOfSchool.Common/Constants.cs b/OutOfSchool/OutOfSchool.Common/Constants.cs index eb6a80ca27..c8df18e94b 100644 --- a/OutOfSchool/OutOfSchool.Common/Constants.cs +++ b/OutOfSchool/OutOfSchool.Common/Constants.cs @@ -4,6 +4,8 @@ public static class Constants { public const int UnifiedUrlLength = 256; + public const long DefaultCityCodeficatorId = 31737; + public const string BearerScheme = "Bearer"; public const string PhoneNumberFormat = "{0:+380 XX-XXX-XX-XX}"; diff --git a/OutOfSchool/OutOfSchool.Common/Models/CodeficatorAddressDto.cs b/OutOfSchool/OutOfSchool.Common/Models/CodeficatorAddressDto.cs index e4ecc3a538..8601743306 100644 --- a/OutOfSchool/OutOfSchool.Common/Models/CodeficatorAddressDto.cs +++ b/OutOfSchool/OutOfSchool.Common/Models/CodeficatorAddressDto.cs @@ -29,36 +29,36 @@ public string FullName { get { - StringBuilder addr = new StringBuilder(); + StringBuilder fullName = new StringBuilder(); if (!string.IsNullOrEmpty(CityDistrict)) { - addr.Append($"{CityDistrict} {CodeficatorCategory.CityDistrict.Abbrivation}"); + fullName.Append($"{CityDistrict} {CodeficatorCategory.CityDistrict.Abbrivation}"); } if (!string.IsNullOrEmpty(Settlement)) { - addr.Append($"{GetSplitter(addr)}{Settlement}"); + fullName.Append($"{GetSplitter(fullName)}{Settlement}"); } if (!string.IsNullOrEmpty(TerritorialCommunity)) { - addr.Append($"{GetSplitter(addr)}{TerritorialCommunity} {CodeficatorCategory.TerritorialCommunity.Abbrivation}"); + fullName.Append($"{GetSplitter(fullName)}{TerritorialCommunity} {CodeficatorCategory.TerritorialCommunity.Abbrivation}"); } if (!string.IsNullOrEmpty(District)) { - addr.Append($"{GetSplitter(addr)}{District} {CodeficatorCategory.District.Abbrivation}"); + fullName.Append($"{GetSplitter(fullName)}{District} {CodeficatorCategory.District.Abbrivation}"); } if (!string.IsNullOrEmpty(Region)) { - addr.Append($"{GetSplitter(addr)}{Region} {CodeficatorCategory.Region.Abbrivation}"); + fullName.Append($"{GetSplitter(fullName)}{Region} {CodeficatorCategory.Region.Abbrivation}"); } - return addr.ToString(); + return fullName.ToString(); } } - private string GetSplitter(StringBuilder addr) => addr.Length == 0 ? string.Empty : Constants.AddressSeparator; + private static string GetSplitter(StringBuilder address) => address.Length == 0 ? string.Empty : Constants.AddressSeparator; } \ No newline at end of file diff --git a/OutOfSchool/OutOfSchool.WebApi/Models/AddressDto.cs b/OutOfSchool/OutOfSchool.WebApi/Models/AddressDto.cs index 0258ec708c..9c6845aa70 100644 --- a/OutOfSchool/OutOfSchool.WebApi/Models/AddressDto.cs +++ b/OutOfSchool/OutOfSchool.WebApi/Models/AddressDto.cs @@ -30,7 +30,7 @@ public class AddressDto public double Longitude { get; set; } - public long? CATOTTGId { get; set; } = 31737; + public long? CATOTTGId { get; set; } = Constants.DefaultCityCodeficatorId; public AllAddressPartsDto CodeficatorAddressDto { get; set; } diff --git a/OutOfSchool/OutOfSchool.WebApi/Models/Codeficator/AllAddressPartsDto.cs b/OutOfSchool/OutOfSchool.WebApi/Models/Codeficator/AllAddressPartsDto.cs index 13567e4bfe..401e96fc0a 100644 --- a/OutOfSchool/OutOfSchool.WebApi/Models/Codeficator/AllAddressPartsDto.cs +++ b/OutOfSchool/OutOfSchool.WebApi/Models/Codeficator/AllAddressPartsDto.cs @@ -46,8 +46,7 @@ private void FillAddressPart(CodeficatorDto codeficator, bool isEndPointAddressI Id = codeficator.Id; } - var r2 = CodeficatorCategory.FromName(codeficator.Category); - switch (r2) + switch (CodeficatorCategory.FromName(codeficator.Category)) { case var e when e.Equals(CodeficatorCategory.Region): Region = codeficator.Name; From 172e75f01748701011eb77e304176b5afce8c215 Mon Sep 17 00:00:00 2001 From: RBiyovskiy Date: Fri, 5 Aug 2022 16:47:18 +0300 Subject: [PATCH 9/9] Migration CodeficatorAddOrder deleted --- ...0802175015_CodeficatorAddOrder.Designer.cs | 2465 ----------------- .../20220802175015_CodeficatorAddOrder.cs | 25 - .../OutOfSchoolDbContextModelSnapshot.cs | 91 +- 3 files changed, 44 insertions(+), 2537 deletions(-) delete mode 100644 OutOfSchool/OutOfSchool.IdentityServer/Data/Migrations/OutOfSchoolMigrations/20220802175015_CodeficatorAddOrder.Designer.cs delete mode 100644 OutOfSchool/OutOfSchool.IdentityServer/Data/Migrations/OutOfSchoolMigrations/20220802175015_CodeficatorAddOrder.cs diff --git a/OutOfSchool/OutOfSchool.IdentityServer/Data/Migrations/OutOfSchoolMigrations/20220802175015_CodeficatorAddOrder.Designer.cs b/OutOfSchool/OutOfSchool.IdentityServer/Data/Migrations/OutOfSchoolMigrations/20220802175015_CodeficatorAddOrder.Designer.cs deleted file mode 100644 index 5cc2cafa09..0000000000 --- a/OutOfSchool/OutOfSchool.IdentityServer/Data/Migrations/OutOfSchoolMigrations/20220802175015_CodeficatorAddOrder.Designer.cs +++ /dev/null @@ -1,2465 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using OutOfSchool.Services; - -#nullable disable - -namespace OutOfSchool.IdentityServer.Data.Migrations.OutOfSchoolMigrations -{ - [DbContext(typeof(OutOfSchoolDbContext))] - [Migration("20220802175015_CodeficatorAddOrder")] - partial class CodeficatorAddOrder - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "6.0.6") - .HasAnnotation("Relational:MaxIdentifierLength", 64); - - modelBuilder.Entity("AchievementChild", b => - { - b.Property("AchievementsId") - .HasColumnType("binary(16)"); - - b.Property("ChildrenId") - .HasColumnType("binary(16)"); - - b.HasKey("AchievementsId", "ChildrenId"); - - b.HasIndex("ChildrenId"); - - b.ToTable("AchievementChild"); - }); - - modelBuilder.Entity("DirectionInstitutionHierarchy", b => - { - b.Property("DirectionsId") - .HasColumnType("bigint"); - - b.Property("InstitutionHierarchiesId") - .HasColumnType("binary(16)"); - - b.HasKey("DirectionsId", "InstitutionHierarchiesId"); - - b.HasIndex("InstitutionHierarchiesId"); - - b.ToTable("DirectionInstitutionHierarchy"); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.DataProtectionKey", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("FriendlyName") - .HasColumnType("longtext"); - - b.Property("Xml") - .HasColumnType("longtext"); - - b.HasKey("Id"); - - b.ToTable("DataProtectionKeys"); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => - { - b.Property("Id") - .HasColumnType("varchar(255)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasColumnType("longtext"); - - b.Property("Name") - .HasMaxLength(256) - .HasColumnType("varchar(256)"); - - b.Property("NormalizedName") - .HasMaxLength(256) - .HasColumnType("varchar(256)"); - - b.HasKey("Id"); - - b.HasIndex("NormalizedName") - .IsUnique() - .HasDatabaseName("RoleNameIndex"); - - b.ToTable("AspNetRoles", (string)null); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("ClaimType") - .HasColumnType("longtext"); - - b.Property("ClaimValue") - .HasColumnType("longtext"); - - b.Property("RoleId") - .IsRequired() - .HasColumnType("varchar(255)"); - - b.HasKey("Id"); - - b.HasIndex("RoleId"); - - b.ToTable("AspNetRoleClaims", (string)null); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("ClaimType") - .HasColumnType("longtext"); - - b.Property("ClaimValue") - .HasColumnType("longtext"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("varchar(255)"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("AspNetUserClaims", (string)null); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => - { - b.Property("LoginProvider") - .HasColumnType("varchar(255)"); - - b.Property("ProviderKey") - .HasColumnType("varchar(255)"); - - b.Property("ProviderDisplayName") - .HasColumnType("longtext"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("varchar(255)"); - - b.HasKey("LoginProvider", "ProviderKey"); - - b.HasIndex("UserId"); - - b.ToTable("AspNetUserLogins", (string)null); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => - { - b.Property("UserId") - .HasColumnType("varchar(255)"); - - b.Property("RoleId") - .HasColumnType("varchar(255)"); - - b.HasKey("UserId", "RoleId"); - - b.HasIndex("RoleId"); - - b.ToTable("AspNetUserRoles", (string)null); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => - { - b.Property("UserId") - .HasColumnType("varchar(255)"); - - b.Property("LoginProvider") - .HasColumnType("varchar(255)"); - - b.Property("Name") - .HasColumnType("varchar(255)"); - - b.Property("Value") - .HasColumnType("longtext"); - - b.HasKey("UserId", "LoginProvider", "Name"); - - b.ToTable("AspNetUserTokens", (string)null); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Achievement", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("binary(16)"); - - b.Property("AchievementDate") - .HasColumnType("date"); - - b.Property("AchievementTypeId") - .HasColumnType("bigint"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("Title") - .IsRequired() - .HasMaxLength(2000) - .HasColumnType("varchar(2000)"); - - b.Property("WorkshopId") - .HasColumnType("binary(16)"); - - b.HasKey("Id"); - - b.HasIndex("AchievementTypeId"); - - b.HasIndex("WorkshopId"); - - b.ToTable("Achievements"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.AchievementTeacher", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("bigint"); - - b.Property("AchievementId") - .HasColumnType("binary(16)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("Title") - .IsRequired() - .HasMaxLength(100) - .HasColumnType("varchar(100)"); - - b.HasKey("Id"); - - b.HasIndex("AchievementId"); - - b.ToTable("AchievementTeachers"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.AchievementType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("bigint"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("Title") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("varchar(200)"); - - b.HasKey("Id"); - - b.ToTable("AchievementTypes"); - - b.HasData( - new - { - Id = 1L, - Title = "Переможці міжнародних та всеукраїнських спортивних змагань (індивідуальних та командних)" - }, - new - { - Id = 2L, - Title = "Призери та учасники міжнародних, всеукраїнських та призери регіональних конкурсів і виставок наукових, технічних, дослідницьких, інноваційних, ІТ проектів" - }, - new - { - Id = 3L, - Title = "Реципієнти міжнародних грантів" - }, - new - { - Id = 4L, - Title = "Призери міжнародних культурних конкурсів та фестивалів" - }, - new - { - Id = 5L, - Title = "Соціально активні категорії учнів" - }, - new - { - Id = 6L, - Title = "Цифрові інструменти Google для закладів вищої та фахової передвищої освіти" - }, - new - { - Id = 7L, - Title = "Переможці та учасники олімпіад міжнародного та всеукраїнського рівнів" - }); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Address", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("bigint"); - - b.Property("BuildingNumber") - .IsRequired() - .HasMaxLength(15) - .HasColumnType("varchar(15)"); - - b.Property("City") - .IsRequired() - .HasMaxLength(30) - .HasColumnType("varchar(30)"); - - b.Property("CodeficatorId") - .HasColumnType("bigint"); - - b.Property("District") - .HasMaxLength(30) - .HasColumnType("varchar(30)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("Latitude") - .HasColumnType("double"); - - b.Property("Longitude") - .HasColumnType("double"); - - b.Property("Region") - .HasMaxLength(30) - .HasColumnType("varchar(30)"); - - b.Property("Street") - .IsRequired() - .HasMaxLength(30) - .HasColumnType("varchar(30)"); - - b.HasKey("Id"); - - b.HasIndex("CodeficatorId"); - - b.ToTable("Addresses"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Application", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("binary(16)"); - - b.Property("ApprovedTime") - .HasColumnType("datetime(6)"); - - b.Property("ChildId") - .HasColumnType("binary(16)"); - - b.Property("CreationTime") - .HasColumnType("datetime(6)"); - - b.Property("IsBlocked") - .HasColumnType("tinyint(1)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("ParentId") - .HasColumnType("binary(16)"); - - b.Property("RejectionMessage") - .HasMaxLength(500) - .HasColumnType("varchar(500)"); - - b.Property("Status") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasDefaultValue(1); - - b.Property("WorkshopId") - .HasColumnType("binary(16)"); - - b.HasKey("Id"); - - b.HasIndex("ChildId"); - - b.HasIndex("ParentId"); - - b.HasIndex("WorkshopId"); - - b.ToTable("Applications"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.BlockedProviderParent", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("binary(16)"); - - b.Property("DateTimeFrom") - .HasColumnType("datetime(6)"); - - b.Property("DateTimeTo") - .HasColumnType("datetime(6)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("ParentId") - .HasColumnType("binary(16)"); - - b.Property("ProviderId") - .HasColumnType("binary(16)"); - - b.Property("Reason") - .IsRequired() - .HasMaxLength(500) - .HasColumnType("varchar(500)"); - - b.Property("UserIdBlock") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("UserIdUnblock") - .HasColumnType("longtext"); - - b.HasKey("Id"); - - b.HasIndex("ParentId"); - - b.HasIndex("ProviderId"); - - b.ToTable("BlockedProviderParents"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.ChangesLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("bigint"); - - b.Property("EntityIdGuid") - .HasColumnType("binary(16)"); - - b.Property("EntityIdLong") - .HasColumnType("bigint"); - - b.Property("EntityType") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("varchar(128)"); - - b.Property("NewValue") - .HasMaxLength(500) - .HasColumnType("varchar(500)"); - - b.Property("OldValue") - .HasMaxLength(500) - .HasColumnType("varchar(500)"); - - b.Property("PropertyName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("varchar(128)"); - - b.Property("UpdatedDate") - .HasColumnType("datetime(6)"); - - b.Property("UserId") - .HasColumnType("varchar(255)"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("ChangesLog"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.ChatWorkshop.ChatMessageWorkshop", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("binary(16)"); - - b.Property("ChatRoomId") - .HasColumnType("binary(16)"); - - b.Property("CreatedDateTime") - .HasColumnType("datetime(6)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("ReadDateTime") - .HasColumnType("datetime(6)"); - - b.Property("SenderRoleIsProvider") - .HasColumnType("tinyint(1)"); - - b.Property("Text") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("varchar(200)"); - - b.HasKey("Id"); - - b.HasIndex("ChatRoomId"); - - b.ToTable("ChatMessageWorkshops"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.ChatWorkshop.ChatRoomWorkshop", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("binary(16)"); - - b.Property("IsBlocked") - .HasColumnType("tinyint(1)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("ParentId") - .HasColumnType("binary(16)"); - - b.Property("WorkshopId") - .HasColumnType("binary(16)"); - - b.HasKey("Id"); - - b.HasIndex("ParentId"); - - b.HasIndex("WorkshopId"); - - b.ToTable("ChatRoomWorkshops"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Child", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("binary(16)"); - - b.Property("DateOfBirth") - .HasColumnType("date"); - - b.Property("FirstName") - .IsRequired() - .HasMaxLength(30) - .HasColumnType("varchar(30)"); - - b.Property("Gender") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasDefaultValue(0); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("IsParent") - .HasColumnType("tinyint(1)"); - - b.Property("LastName") - .IsRequired() - .HasMaxLength(30) - .HasColumnType("varchar(30)"); - - b.Property("MiddleName") - .IsRequired() - .HasMaxLength(30) - .HasColumnType("varchar(30)"); - - b.Property("ParentId") - .HasColumnType("binary(16)"); - - b.Property("PlaceOfStudy") - .HasMaxLength(500) - .HasColumnType("varchar(500)"); - - b.HasKey("Id"); - - b.HasIndex("ParentId"); - - b.ToTable("Children"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.ChildSocialGroup", b => - { - b.Property("ChildId") - .HasColumnType("binary(16)"); - - b.Property("SocialGroupId") - .HasColumnType("bigint"); - - b.HasKey("ChildId", "SocialGroupId"); - - b.HasIndex("SocialGroupId"); - - b.ToTable("ChildrenSocialGroups"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.City", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("bigint"); - - b.Property("District") - .HasMaxLength(30) - .HasColumnType("varchar(30)"); - - b.Property("GeoHash") - .HasColumnType("bigint unsigned"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("Latitude") - .HasColumnType("double"); - - b.Property("Longitude") - .HasColumnType("double"); - - b.Property("Name") - .HasMaxLength(30) - .HasColumnType("varchar(30)"); - - b.Property("Region") - .HasMaxLength(30) - .HasColumnType("varchar(30)"); - - b.HasKey("Id"); - - b.ToTable("Cities"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Class", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("bigint"); - - b.Property("DepartmentId") - .HasColumnType("bigint"); - - b.Property("Description") - .HasMaxLength(500) - .HasColumnType("varchar(500)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("Title") - .IsRequired() - .HasMaxLength(150) - .HasColumnType("varchar(150)"); - - b.HasKey("Id"); - - b.HasIndex("DepartmentId"); - - b.ToTable("Classes"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Codeficator", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("bigint"); - - b.Property("Category") - .HasMaxLength(3) - .HasColumnType("varchar(3)"); - - b.Property("Code") - .HasMaxLength(20) - .HasColumnType("varchar(20)"); - - b.Property("GeoHash") - .HasColumnType("bigint unsigned"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("Latitude") - .HasColumnType("double"); - - b.Property("Longitude") - .HasColumnType("double"); - - b.Property("Name") - .HasMaxLength(30) - .HasColumnType("varchar(30)"); - - b.Property("NeedCheck") - .HasColumnType("tinyint(1)"); - - b.Property("Order") - .HasColumnType("int"); - - b.Property("ParentId") - .HasColumnType("bigint"); - - b.HasKey("Id"); - - b.HasIndex("ParentId"); - - b.ToTable("Codeficators"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.CompanyInformation", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("binary(16)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("Title") - .HasMaxLength(200) - .HasColumnType("varchar(200)"); - - b.Property("Type") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("CompanyInformation"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.CompanyInformationItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("binary(16)"); - - b.Property("CompanyInformationId") - .HasColumnType("binary(16)"); - - b.Property("Description") - .HasMaxLength(2000) - .HasColumnType("varchar(2000)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("SectionName") - .HasMaxLength(200) - .HasColumnType("varchar(200)"); - - b.HasKey("Id"); - - b.HasIndex("CompanyInformationId"); - - b.ToTable("CompanyInformationItems"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.DateTimeRange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("bigint"); - - b.Property("EndTime") - .HasColumnType("time(6)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("StartTime") - .HasColumnType("time(6)"); - - b.Property("Workdays") - .HasColumnType("tinyint unsigned"); - - b.Property("WorkshopId") - .HasColumnType("binary(16)"); - - b.HasKey("Id"); - - b.HasIndex("WorkshopId"); - - b.ToTable("DateTimeRanges"); - - b.HasCheckConstraint("CK_DateTimeRanges_EndTimeIsAfterStartTime", "EndTime >= StartTime"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Department", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("bigint"); - - b.Property("Description") - .HasMaxLength(500) - .HasColumnType("varchar(500)"); - - b.Property("DirectionId") - .HasColumnType("bigint"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("Title") - .IsRequired() - .HasMaxLength(150) - .HasColumnType("varchar(150)"); - - b.HasKey("Id"); - - b.HasIndex("DirectionId"); - - b.ToTable("Departments"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Direction", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("bigint"); - - b.Property("Description") - .HasMaxLength(500) - .HasColumnType("varchar(500)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("Title") - .IsRequired() - .HasMaxLength(100) - .HasColumnType("varchar(100)"); - - b.HasKey("Id"); - - b.ToTable("Directions"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.ElasticsearchSyncRecord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("binary(16)"); - - b.Property("Entity") - .HasColumnType("int"); - - b.Property("Operation") - .HasColumnType("int"); - - b.Property("OperationDate") - .HasColumnType("datetime(6)"); - - b.Property("RecordId") - .HasColumnType("binary(16)"); - - b.HasKey("Id"); - - b.ToTable("ElasticsearchSyncRecords"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Favorite", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("bigint"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("varchar(255)"); - - b.Property("WorkshopId") - .HasColumnType("binary(16)"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.HasIndex("WorkshopId"); - - b.ToTable("Favorites"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Images.Image", b => - { - b.Property("EntityId") - .HasColumnType("binary(16)"); - - b.Property("ExternalStorageId") - .HasColumnType("varchar(255)"); - - b.HasKey("EntityId", "ExternalStorageId"); - - b.ToTable("ProviderImages"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Images.Image", b => - { - b.Property("EntityId") - .HasColumnType("binary(16)"); - - b.Property("ExternalStorageId") - .HasColumnType("varchar(255)"); - - b.HasKey("EntityId", "ExternalStorageId"); - - b.ToTable("WorkshopImages"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.InstitutionAdmin", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("bigint"); - - b.Property("InstitutionId") - .HasColumnType("binary(16)"); - - b.Property("UserId") - .HasColumnType("varchar(255)"); - - b.HasKey("Id"); - - b.HasIndex("InstitutionId"); - - b.HasIndex("UserId"); - - b.ToTable("InstitutionAdmins"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.InstitutionStatus", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("bigint"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("Name") - .HasMaxLength(100) - .HasColumnType("varchar(100)"); - - b.HasKey("Id"); - - b.ToTable("InstitutionStatuses"); - - b.HasData( - new - { - Id = 1L, - Name = "Працює" - }, - new - { - Id = 2L, - Name = "Перебуває в стані реорганізації" - }, - new - { - Id = 3L, - Name = "Має намір на реорганізацію" - }, - new - { - Id = 4L, - Name = "Відсутній" - }); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Notification", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("binary(16)"); - - b.Property("Action") - .HasColumnType("int"); - - b.Property("CreatedDateTime") - .HasColumnType("datetime(6)"); - - b.Property("Data") - .HasColumnType("longtext"); - - b.Property("GroupedData") - .HasColumnType("longtext"); - - b.Property("ObjectId") - .HasColumnType("binary(16)"); - - b.Property("ReadDateTime") - .HasColumnType("datetime(6)"); - - b.Property("Type") - .HasColumnType("int"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("longtext"); - - b.HasKey("Id"); - - b.ToTable("Notifications"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Parent", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("binary(16)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("varchar(255)"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("Parents"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.PermissionsForRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("bigint"); - - b.Property("Description") - .HasMaxLength(100) - .HasColumnType("varchar(100)"); - - b.Property("PackedPermissions") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("RoleName") - .IsRequired() - .HasMaxLength(20) - .HasColumnType("varchar(20)"); - - b.HasKey("Id"); - - b.ToTable("PermissionsForRoles"); - - b.HasData( - new - { - Id = 1L, - Description = "techadmin permissions", - PackedPermissions = "de\n \r  !()+4325>== - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("binary(16)"); - - b.Property("ActualAddressId") - .HasColumnType("bigint"); - - b.Property("CoverImageId") - .HasColumnType("longtext"); - - b.Property("Director") - .HasMaxLength(50) - .IsUnicode(true) - .HasColumnType("varchar(50)"); - - b.Property("DirectorDateOfBirth") - .HasColumnType("Date"); - - b.Property("EdrpouIpn") - .IsRequired() - .HasMaxLength(12) - .HasColumnType("varchar(12)"); - - b.Property("Email") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("varchar(256)"); - - b.Property("Facebook") - .HasMaxLength(256) - .HasColumnType("varchar(256)"); - - b.Property("Founder") - .IsRequired() - .HasMaxLength(30) - .HasColumnType("varchar(30)"); - - b.Property("FullTitle") - .IsRequired() - .HasMaxLength(60) - .IsUnicode(true) - .HasColumnType("varchar(60)"); - - b.Property("Instagram") - .HasMaxLength(256) - .HasColumnType("varchar(256)"); - - b.Property("InstitutionId") - .HasColumnType("binary(16)"); - - b.Property("InstitutionStatusId") - .HasColumnType("bigint"); - - b.Property("InstitutionType") - .HasColumnType("int"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("LegalAddressId") - .HasColumnType("bigint"); - - b.Property("License") - .HasMaxLength(30) - .HasColumnType("varchar(30)"); - - b.Property("LicenseStatus") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasDefaultValue(0); - - b.Property("Ownership") - .HasColumnType("int"); - - b.Property("PhoneNumber") - .HasMaxLength(15) - .HasColumnType("varchar(15)"); - - b.Property("ShortTitle") - .IsRequired() - .HasMaxLength(60) - .IsUnicode(true) - .HasColumnType("varchar(60)"); - - b.Property("Status") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasDefaultValue(0); - - b.Property("Type") - .HasColumnType("int"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("varchar(255)"); - - b.Property("Website") - .HasMaxLength(256) - .IsUnicode(true) - .HasColumnType("varchar(256)"); - - b.HasKey("Id"); - - b.HasIndex("ActualAddressId"); - - b.HasIndex("InstitutionId"); - - b.HasIndex("InstitutionStatusId"); - - b.HasIndex("LegalAddressId"); - - b.HasIndex("UserId"); - - b.ToTable("Providers"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.ProviderAdmin", b => - { - b.Property("UserId") - .HasColumnType("varchar(255)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("IsDeputy") - .HasColumnType("tinyint(1)"); - - b.Property("ProviderId") - .HasColumnType("binary(16)"); - - b.HasKey("UserId"); - - b.HasIndex("ProviderId"); - - b.ToTable("ProviderAdmins"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.ProviderAdminChangesLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("bigint"); - - b.Property("ManagedWorkshopId") - .HasColumnType("binary(16)"); - - b.Property("OperationDate") - .HasColumnType("datetime(6)"); - - b.Property("OperationType") - .HasColumnType("int"); - - b.Property("ProviderAdminUserId") - .IsRequired() - .HasColumnType("varchar(255)"); - - b.Property("ProviderId") - .HasColumnType("binary(16)"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("varchar(255)"); - - b.HasKey("Id"); - - b.HasIndex("ManagedWorkshopId"); - - b.HasIndex("ProviderAdminUserId"); - - b.HasIndex("ProviderId"); - - b.HasIndex("UserId"); - - b.ToTable("ProviderAdminChangesLog"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.ProviderSectionItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("binary(16)"); - - b.Property("Description") - .HasMaxLength(2000) - .HasColumnType("varchar(2000)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("Name") - .HasMaxLength(200) - .HasColumnType("varchar(200)"); - - b.Property("ProviderId") - .HasColumnType("binary(16)"); - - b.HasKey("Id"); - - b.HasIndex("ProviderId"); - - b.ToTable("ProviderSectionItems"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Rating", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("bigint"); - - b.Property("CreationTime") - .HasColumnType("datetime(6)"); - - b.Property("EntityId") - .HasColumnType("binary(16)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("ParentId") - .HasColumnType("binary(16)"); - - b.Property("Rate") - .HasColumnType("int"); - - b.Property("Type") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.HasIndex("ParentId"); - - b.ToTable("Ratings"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.SocialGroup", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("bigint"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("Name") - .HasMaxLength(100) - .HasColumnType("varchar(100)"); - - b.HasKey("Id"); - - b.ToTable("SocialGroups"); - - b.HasData( - new - { - Id = 1L, - Name = "Діти із багатодітних сімей" - }, - new - { - Id = 2L, - Name = "Діти із малозабезпечених сімей" - }, - new - { - Id = 3L, - Name = "Діти з інвалідністю" - }, - new - { - Id = 4L, - Name = "Діти-сироти" - }, - new - { - Id = 5L, - Name = "Діти, позбавлені батьківського піклування" - }); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.SubordinationStructure.Institution", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("binary(16)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("NumberOfHierarchyLevels") - .HasColumnType("int"); - - b.Property("Title") - .HasMaxLength(100) - .HasColumnType("varchar(100)"); - - b.HasKey("Id"); - - b.ToTable("Institutions"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.SubordinationStructure.InstitutionFieldDescription", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("binary(16)"); - - b.Property("HierarchyLevel") - .HasColumnType("int"); - - b.Property("InstitutionId") - .HasColumnType("binary(16)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("Title") - .HasMaxLength(100) - .HasColumnType("varchar(100)"); - - b.HasKey("Id"); - - b.HasIndex("InstitutionId"); - - b.ToTable("InstitutionFieldDescriptions"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.SubordinationStructure.InstitutionHierarchy", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("binary(16)"); - - b.Property("HierarchyLevel") - .HasColumnType("int"); - - b.Property("InstitutionId") - .HasColumnType("binary(16)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("ParentId") - .HasColumnType("binary(16)"); - - b.Property("Title") - .HasMaxLength(200) - .HasColumnType("varchar(200)"); - - b.HasKey("Id"); - - b.HasIndex("InstitutionId"); - - b.HasIndex("ParentId"); - - b.ToTable("InstitutionHierarchies"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Teacher", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("binary(16)"); - - b.Property("CoverImageId") - .HasColumnType("longtext"); - - b.Property("DateOfBirth") - .HasColumnType("date"); - - b.Property("Description") - .IsRequired() - .HasMaxLength(300) - .HasColumnType("varchar(300)"); - - b.Property("FirstName") - .IsRequired() - .HasMaxLength(30) - .HasColumnType("varchar(30)"); - - b.Property("Gender") - .HasColumnType("int"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("LastName") - .IsRequired() - .HasMaxLength(30) - .HasColumnType("varchar(30)"); - - b.Property("MiddleName") - .IsRequired() - .HasMaxLength(30) - .HasColumnType("varchar(30)"); - - b.Property("WorkshopId") - .HasColumnType("binary(16)"); - - b.HasKey("Id"); - - b.HasIndex("WorkshopId"); - - b.ToTable("Teachers"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.User", b => - { - b.Property("Id") - .HasColumnType("varchar(255)"); - - b.Property("AccessFailedCount") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasColumnType("longtext"); - - b.Property("CreatingTime") - .HasColumnType("datetime(6)"); - - b.Property("Email") - .HasMaxLength(256) - .HasColumnType("varchar(256)"); - - b.Property("EmailConfirmed") - .HasColumnType("tinyint(1)"); - - b.Property("FirstName") - .IsRequired() - .HasMaxLength(30) - .HasColumnType("varchar(30)"); - - b.Property("Gender") - .HasColumnType("int"); - - b.Property("IsBlocked") - .HasColumnType("tinyint(1)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("IsDerived") - .HasColumnType("tinyint(1)"); - - b.Property("IsRegistered") - .HasColumnType("tinyint(1)"); - - b.Property("LastLogin") - .HasColumnType("datetime(6)"); - - b.Property("LastName") - .IsRequired() - .HasMaxLength(30) - .HasColumnType("varchar(30)"); - - b.Property("LockoutEnabled") - .HasColumnType("tinyint(1)"); - - b.Property("LockoutEnd") - .HasColumnType("datetime(6)"); - - b.Property("MiddleName") - .HasMaxLength(30) - .HasColumnType("varchar(30)"); - - b.Property("MustChangePassword") - .HasColumnType("tinyint(1)"); - - b.Property("NormalizedEmail") - .HasMaxLength(256) - .HasColumnType("varchar(256)"); - - b.Property("NormalizedUserName") - .HasMaxLength(256) - .HasColumnType("varchar(256)"); - - b.Property("PasswordHash") - .HasMaxLength(84) - .IsUnicode(false) - .HasColumnType("char(84)") - .IsFixedLength(); - - b.Property("PhoneNumber") - .HasMaxLength(15) - .IsUnicode(false) - .HasColumnType("varchar(15)") - .IsFixedLength(false); - - b.Property("PhoneNumberConfirmed") - .HasColumnType("tinyint(1)"); - - b.Property("Role") - .HasMaxLength(50) - .HasColumnType("varchar(50)"); - - b.Property("SecurityStamp") - .IsRequired() - .HasMaxLength(36) - .IsUnicode(false) - .HasColumnType("varchar(36)") - .IsFixedLength(false); - - b.Property("TwoFactorEnabled") - .HasColumnType("tinyint(1)"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("varchar(256)"); - - b.HasKey("Id"); - - b.HasIndex("NormalizedEmail") - .HasDatabaseName("EmailIndex"); - - b.HasIndex("NormalizedUserName") - .IsUnique() - .HasDatabaseName("UserNameIndex"); - - b.ToTable("AspNetUsers", (string)null); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Workshop", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("binary(16)"); - - b.Property("AddressId") - .HasColumnType("bigint"); - - b.Property("AvailableSeats") - .HasColumnType("int unsigned"); - - b.Property("ClassId") - .HasColumnType("bigint"); - - b.Property("CoverImageId") - .HasMaxLength(256) - .HasColumnType("varchar(256)"); - - b.Property("DepartmentId") - .HasColumnType("bigint"); - - b.Property("DirectionId") - .HasColumnType("bigint"); - - b.Property("DisabilityOptionsDesc") - .HasMaxLength(200) - .HasColumnType("varchar(200)"); - - b.Property("Email") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("varchar(256)"); - - b.Property("Facebook") - .HasMaxLength(256) - .HasColumnType("varchar(256)"); - - b.Property("Instagram") - .HasMaxLength(256) - .HasColumnType("varchar(256)"); - - b.Property("InstitutionHierarchyId") - .HasColumnType("binary(16)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("Keywords") - .HasMaxLength(200) - .HasColumnType("varchar(200)"); - - b.Property("MaxAge") - .HasColumnType("int"); - - b.Property("MinAge") - .HasColumnType("int"); - - b.Property("PayRate") - .HasColumnType("int"); - - b.Property("Phone") - .IsRequired() - .HasMaxLength(15) - .HasColumnType("varchar(15)"); - - b.Property("Price") - .HasColumnType("decimal(18,2)"); - - b.Property("ProviderId") - .HasColumnType("binary(16)"); - - b.Property("ProviderOwnership") - .HasColumnType("int"); - - b.Property("ProviderTitle") - .IsRequired() - .HasMaxLength(60) - .HasColumnType("varchar(60)"); - - b.Property("Status") - .HasColumnType("int"); - - b.Property("Title") - .IsRequired() - .HasMaxLength(60) - .HasColumnType("varchar(60)"); - - b.Property("Website") - .HasMaxLength(256) - .HasColumnType("varchar(256)"); - - b.Property("WithDisabilityOptions") - .HasColumnType("tinyint(1)"); - - b.HasKey("Id"); - - b.HasIndex("AddressId"); - - b.HasIndex("ClassId"); - - b.HasIndex("DirectionId"); - - b.HasIndex("InstitutionHierarchyId"); - - b.HasIndex("ProviderId"); - - b.ToTable("Workshops"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.WorkshopDescriptionItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("binary(16)"); - - b.Property("Description") - .IsRequired() - .HasMaxLength(2000) - .HasColumnType("varchar(2000)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)"); - - b.Property("SectionName") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("varchar(200)"); - - b.Property("WorkshopId") - .HasColumnType("binary(16)"); - - b.HasKey("Id"); - - b.HasIndex("WorkshopId"); - - b.ToTable("WorkshopDescriptionItems"); - }); - - modelBuilder.Entity("ProviderAdminWorkshop", b => - { - b.Property("ManagedWorkshopsId") - .HasColumnType("binary(16)"); - - b.Property("ProviderAdminsUserId") - .HasColumnType("varchar(255)"); - - b.HasKey("ManagedWorkshopsId", "ProviderAdminsUserId"); - - b.HasIndex("ProviderAdminsUserId"); - - b.ToTable("ProviderAdminWorkshop"); - }); - - modelBuilder.Entity("AchievementChild", b => - { - b.HasOne("OutOfSchool.Services.Models.Achievement", null) - .WithMany() - .HasForeignKey("AchievementsId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("OutOfSchool.Services.Models.Child", null) - .WithMany() - .HasForeignKey("ChildrenId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("DirectionInstitutionHierarchy", b => - { - b.HasOne("OutOfSchool.Services.Models.Direction", null) - .WithMany() - .HasForeignKey("DirectionsId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("OutOfSchool.Services.Models.SubordinationStructure.InstitutionHierarchy", null) - .WithMany() - .HasForeignKey("InstitutionHierarchiesId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => - { - b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => - { - b.HasOne("OutOfSchool.Services.Models.User", null) - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => - { - b.HasOne("OutOfSchool.Services.Models.User", null) - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => - { - b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("OutOfSchool.Services.Models.User", null) - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => - { - b.HasOne("OutOfSchool.Services.Models.User", null) - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Achievement", b => - { - b.HasOne("OutOfSchool.Services.Models.AchievementType", "AchievementType") - .WithMany() - .HasForeignKey("AchievementTypeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("OutOfSchool.Services.Models.Workshop", "Workshop") - .WithMany() - .HasForeignKey("WorkshopId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("AchievementType"); - - b.Navigation("Workshop"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.AchievementTeacher", b => - { - b.HasOne("OutOfSchool.Services.Models.Achievement", "Achievement") - .WithMany("Teachers") - .HasForeignKey("AchievementId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Achievement"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Address", b => - { - b.HasOne("OutOfSchool.Services.Models.Codeficator", "Codeficator") - .WithMany() - .HasForeignKey("CodeficatorId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Codeficator"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Application", b => - { - b.HasOne("OutOfSchool.Services.Models.Child", "Child") - .WithMany() - .HasForeignKey("ChildId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("OutOfSchool.Services.Models.Parent", "Parent") - .WithMany() - .HasForeignKey("ParentId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("OutOfSchool.Services.Models.Workshop", "Workshop") - .WithMany("Applications") - .HasForeignKey("WorkshopId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Child"); - - b.Navigation("Parent"); - - b.Navigation("Workshop"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.BlockedProviderParent", b => - { - b.HasOne("OutOfSchool.Services.Models.Parent", "Parent") - .WithMany() - .HasForeignKey("ParentId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("OutOfSchool.Services.Models.Provider", "Provider") - .WithMany() - .HasForeignKey("ProviderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Parent"); - - b.Navigation("Provider"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.ChangesLog", b => - { - b.HasOne("OutOfSchool.Services.Models.User", "User") - .WithMany() - .HasForeignKey("UserId"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.ChatWorkshop.ChatMessageWorkshop", b => - { - b.HasOne("OutOfSchool.Services.Models.ChatWorkshop.ChatRoomWorkshop", "ChatRoom") - .WithMany("ChatMessages") - .HasForeignKey("ChatRoomId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("ChatRoom"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.ChatWorkshop.ChatRoomWorkshop", b => - { - b.HasOne("OutOfSchool.Services.Models.Parent", "Parent") - .WithMany("ChatRooms") - .HasForeignKey("ParentId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("OutOfSchool.Services.Models.Workshop", "Workshop") - .WithMany("ChatRooms") - .HasForeignKey("WorkshopId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Parent"); - - b.Navigation("Workshop"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Child", b => - { - b.HasOne("OutOfSchool.Services.Models.Parent", "Parent") - .WithMany("Children") - .HasForeignKey("ParentId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Parent"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.ChildSocialGroup", b => - { - b.HasOne("OutOfSchool.Services.Models.Child", "Child") - .WithMany("ChildSocialGroups") - .HasForeignKey("ChildId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("OutOfSchool.Services.Models.SocialGroup", "SocialGroup") - .WithMany("ChildSocialGroups") - .HasForeignKey("SocialGroupId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Child"); - - b.Navigation("SocialGroup"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Class", b => - { - b.HasOne("OutOfSchool.Services.Models.Department", "Department") - .WithMany("Classes") - .HasForeignKey("DepartmentId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Department"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Codeficator", b => - { - b.HasOne("OutOfSchool.Services.Models.Codeficator", "Parent") - .WithMany("Childs") - .HasForeignKey("ParentId"); - - b.Navigation("Parent"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.CompanyInformationItem", b => - { - b.HasOne("OutOfSchool.Services.Models.CompanyInformation", "CompanyInformation") - .WithMany("CompanyInformationItems") - .HasForeignKey("CompanyInformationId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("CompanyInformation"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.DateTimeRange", b => - { - b.HasOne("OutOfSchool.Services.Models.Workshop", null) - .WithMany("DateTimeRanges") - .HasForeignKey("WorkshopId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Department", b => - { - b.HasOne("OutOfSchool.Services.Models.Direction", "Direction") - .WithMany("Departments") - .HasForeignKey("DirectionId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Direction"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Favorite", b => - { - b.HasOne("OutOfSchool.Services.Models.User", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("OutOfSchool.Services.Models.Workshop", "Workshop") - .WithMany() - .HasForeignKey("WorkshopId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - - b.Navigation("Workshop"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Images.Image", b => - { - b.HasOne("OutOfSchool.Services.Models.Provider", "Entity") - .WithMany("Images") - .HasForeignKey("EntityId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Entity"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Images.Image", b => - { - b.HasOne("OutOfSchool.Services.Models.Workshop", "Entity") - .WithMany("Images") - .HasForeignKey("EntityId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Entity"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.InstitutionAdmin", b => - { - b.HasOne("OutOfSchool.Services.Models.SubordinationStructure.Institution", "Institution") - .WithMany() - .HasForeignKey("InstitutionId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("OutOfSchool.Services.Models.User", "User") - .WithMany() - .HasForeignKey("UserId"); - - b.Navigation("Institution"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Parent", b => - { - b.HasOne("OutOfSchool.Services.Models.User", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Provider", b => - { - b.HasOne("OutOfSchool.Services.Models.Address", "ActualAddress") - .WithMany() - .HasForeignKey("ActualAddressId"); - - b.HasOne("OutOfSchool.Services.Models.SubordinationStructure.Institution", "Institution") - .WithMany("RelatedProviders") - .HasForeignKey("InstitutionId"); - - b.HasOne("OutOfSchool.Services.Models.InstitutionStatus", "InstitutionStatus") - .WithMany("Providers") - .HasForeignKey("InstitutionStatusId"); - - b.HasOne("OutOfSchool.Services.Models.Address", "LegalAddress") - .WithMany() - .HasForeignKey("LegalAddressId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("OutOfSchool.Services.Models.User", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("ActualAddress"); - - b.Navigation("Institution"); - - b.Navigation("InstitutionStatus"); - - b.Navigation("LegalAddress"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.ProviderAdmin", b => - { - b.HasOne("OutOfSchool.Services.Models.Provider", "Provider") - .WithMany("ProviderAdmins") - .HasForeignKey("ProviderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Provider"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.ProviderAdminChangesLog", b => - { - b.HasOne("OutOfSchool.Services.Models.Workshop", "ManagedWorkshop") - .WithMany() - .HasForeignKey("ManagedWorkshopId"); - - b.HasOne("OutOfSchool.Services.Models.User", "ProviderAdminUser") - .WithMany() - .HasForeignKey("ProviderAdminUserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("OutOfSchool.Services.Models.Provider", "Provider") - .WithMany() - .HasForeignKey("ProviderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("OutOfSchool.Services.Models.User", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("ManagedWorkshop"); - - b.Navigation("Provider"); - - b.Navigation("ProviderAdminUser"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.ProviderSectionItem", b => - { - b.HasOne("OutOfSchool.Services.Models.Provider", "Provider") - .WithMany("ProviderSectionItems") - .HasForeignKey("ProviderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Provider"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Rating", b => - { - b.HasOne("OutOfSchool.Services.Models.Parent", "Parent") - .WithMany() - .HasForeignKey("ParentId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Parent"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.SubordinationStructure.InstitutionFieldDescription", b => - { - b.HasOne("OutOfSchool.Services.Models.SubordinationStructure.Institution", "Institution") - .WithMany() - .HasForeignKey("InstitutionId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Institution"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.SubordinationStructure.InstitutionHierarchy", b => - { - b.HasOne("OutOfSchool.Services.Models.SubordinationStructure.Institution", "Institution") - .WithMany() - .HasForeignKey("InstitutionId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("OutOfSchool.Services.Models.SubordinationStructure.InstitutionHierarchy", "Parent") - .WithMany() - .HasForeignKey("ParentId"); - - b.Navigation("Institution"); - - b.Navigation("Parent"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Teacher", b => - { - b.HasOne("OutOfSchool.Services.Models.Workshop", "Workshop") - .WithMany("Teachers") - .HasForeignKey("WorkshopId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Workshop"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Workshop", b => - { - b.HasOne("OutOfSchool.Services.Models.Address", "Address") - .WithMany() - .HasForeignKey("AddressId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("OutOfSchool.Services.Models.Class", "Class") - .WithMany() - .HasForeignKey("ClassId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("OutOfSchool.Services.Models.Direction", "Direction") - .WithMany() - .HasForeignKey("DirectionId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("OutOfSchool.Services.Models.SubordinationStructure.InstitutionHierarchy", "InstitutionHierarchy") - .WithMany() - .HasForeignKey("InstitutionHierarchyId"); - - b.HasOne("OutOfSchool.Services.Models.Provider", "Provider") - .WithMany("Workshops") - .HasForeignKey("ProviderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Address"); - - b.Navigation("Class"); - - b.Navigation("Direction"); - - b.Navigation("InstitutionHierarchy"); - - b.Navigation("Provider"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.WorkshopDescriptionItem", b => - { - b.HasOne("OutOfSchool.Services.Models.Workshop", "Workshop") - .WithMany("WorkshopDescriptionItems") - .HasForeignKey("WorkshopId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Workshop"); - }); - - modelBuilder.Entity("ProviderAdminWorkshop", b => - { - b.HasOne("OutOfSchool.Services.Models.Workshop", null) - .WithMany() - .HasForeignKey("ManagedWorkshopsId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("OutOfSchool.Services.Models.ProviderAdmin", null) - .WithMany() - .HasForeignKey("ProviderAdminsUserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Achievement", b => - { - b.Navigation("Teachers"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.ChatWorkshop.ChatRoomWorkshop", b => - { - b.Navigation("ChatMessages"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Child", b => - { - b.Navigation("ChildSocialGroups"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Codeficator", b => - { - b.Navigation("Childs"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.CompanyInformation", b => - { - b.Navigation("CompanyInformationItems"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Department", b => - { - b.Navigation("Classes"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Direction", b => - { - b.Navigation("Departments"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.InstitutionStatus", b => - { - b.Navigation("Providers"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Parent", b => - { - b.Navigation("ChatRooms"); - - b.Navigation("Children"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Provider", b => - { - b.Navigation("Images"); - - b.Navigation("ProviderAdmins"); - - b.Navigation("ProviderSectionItems"); - - b.Navigation("Workshops"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.SocialGroup", b => - { - b.Navigation("ChildSocialGroups"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.SubordinationStructure.Institution", b => - { - b.Navigation("RelatedProviders"); - }); - - modelBuilder.Entity("OutOfSchool.Services.Models.Workshop", b => - { - b.Navigation("Applications"); - - b.Navigation("ChatRooms"); - - b.Navigation("DateTimeRanges"); - - b.Navigation("Images"); - - b.Navigation("Teachers"); - - b.Navigation("WorkshopDescriptionItems"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/OutOfSchool/OutOfSchool.IdentityServer/Data/Migrations/OutOfSchoolMigrations/20220802175015_CodeficatorAddOrder.cs b/OutOfSchool/OutOfSchool.IdentityServer/Data/Migrations/OutOfSchoolMigrations/20220802175015_CodeficatorAddOrder.cs deleted file mode 100644 index 79397b6bd7..0000000000 --- a/OutOfSchool/OutOfSchool.IdentityServer/Data/Migrations/OutOfSchoolMigrations/20220802175015_CodeficatorAddOrder.cs +++ /dev/null @@ -1,25 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace OutOfSchool.IdentityServer.Data.Migrations.OutOfSchoolMigrations; - -public partial class CodeficatorAddOrder : Migration -{ - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "Order", - table: "Codeficators", - type: "int", - nullable: false, - defaultValue: 0); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "Order", - table: "Codeficators"); - } -} diff --git a/OutOfSchool/OutOfSchool.IdentityServer/Data/Migrations/OutOfSchoolMigrations/OutOfSchoolDbContextModelSnapshot.cs b/OutOfSchool/OutOfSchool.IdentityServer/Data/Migrations/OutOfSchoolMigrations/OutOfSchoolDbContextModelSnapshot.cs index 82cf8f1111..329092a8ca 100644 --- a/OutOfSchool/OutOfSchool.IdentityServer/Data/Migrations/OutOfSchoolMigrations/OutOfSchoolDbContextModelSnapshot.cs +++ b/OutOfSchool/OutOfSchool.IdentityServer/Data/Migrations/OutOfSchoolMigrations/OutOfSchoolDbContextModelSnapshot.cs @@ -31,7 +31,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("ChildrenId"); - b.ToTable("AchievementChild"); + b.ToTable("AchievementChild", (string)null); }); modelBuilder.Entity("DirectionInstitutionHierarchy", b => @@ -46,7 +46,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("InstitutionHierarchiesId"); - b.ToTable("DirectionInstitutionHierarchy"); + b.ToTable("DirectionInstitutionHierarchy", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.DataProtectionKey", b => @@ -63,7 +63,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasKey("Id"); - b.ToTable("DataProtectionKeys"); + b.ToTable("DataProtectionKeys", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => @@ -224,7 +224,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("WorkshopId"); - b.ToTable("Achievements"); + b.ToTable("Achievements", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.AchievementTeacher", b => @@ -249,7 +249,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("AchievementId"); - b.ToTable("AchievementTeachers"); + b.ToTable("AchievementTeachers", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.AchievementType", b => @@ -269,7 +269,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasKey("Id"); - b.ToTable("AchievementTypes"); + b.ToTable("AchievementTypes", (string)null); b.HasData( new @@ -355,7 +355,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("CATOTTGId"); - b.ToTable("Addresses"); + b.ToTable("Addresses", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.Application", b => @@ -403,7 +403,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("WorkshopId"); - b.ToTable("Applications"); + b.ToTable("Applications", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.BlockedProviderParent", b => @@ -446,7 +446,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("ProviderId"); - b.ToTable("BlockedProviderParents"); + b.ToTable("BlockedProviderParents", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.CATOTTG", b => @@ -533,7 +533,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("UserId"); - b.ToTable("ChangesLog"); + b.ToTable("ChangesLog", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.ChatWorkshop.ChatMessageWorkshop", b => @@ -567,7 +567,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("ChatRoomId"); - b.ToTable("ChatMessageWorkshops"); + b.ToTable("ChatMessageWorkshops", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.ChatWorkshop.ChatRoomWorkshop", b => @@ -595,7 +595,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("WorkshopId"); - b.ToTable("ChatRoomWorkshops"); + b.ToTable("ChatRoomWorkshops", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.Child", b => @@ -645,7 +645,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("ParentId"); - b.ToTable("Children"); + b.ToTable("Children", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.ChildSocialGroup", b => @@ -660,7 +660,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("SocialGroupId"); - b.ToTable("ChildrenSocialGroups"); + b.ToTable("ChildrenSocialGroups", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.City", b => @@ -696,7 +696,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasKey("Id"); - b.ToTable("Cities"); + b.ToTable("Cities", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.Class", b => @@ -725,7 +725,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("DepartmentId"); - b.ToTable("Classes"); + b.ToTable("Classes", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.Codeficator", b => @@ -762,9 +762,6 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.Property("NeedCheck") .HasColumnType("tinyint(1)"); - b.Property("Order") - .HasColumnType("int"); - b.Property("ParentId") .HasColumnType("bigint"); @@ -772,7 +769,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("ParentId"); - b.ToTable("Codeficators"); + b.ToTable("Codeficators", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.CompanyInformation", b => @@ -794,7 +791,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasKey("Id"); - b.ToTable("CompanyInformation"); + b.ToTable("CompanyInformation", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.CompanyInformationItem", b => @@ -822,7 +819,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("CompanyInformationId"); - b.ToTable("CompanyInformationItems"); + b.ToTable("CompanyInformationItems", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.DateTimeRange", b => @@ -851,7 +848,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("WorkshopId"); - b.ToTable("DateTimeRanges"); + b.ToTable("DateTimeRanges", (string)null); b.HasCheckConstraint("CK_DateTimeRanges_EndTimeIsAfterStartTime", "EndTime >= StartTime"); }); @@ -882,7 +879,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("DirectionId"); - b.ToTable("Departments"); + b.ToTable("Departments", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.Direction", b => @@ -906,7 +903,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasKey("Id"); - b.ToTable("Directions"); + b.ToTable("Directions", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.ElasticsearchSyncRecord", b => @@ -929,7 +926,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasKey("Id"); - b.ToTable("ElasticsearchSyncRecords"); + b.ToTable("ElasticsearchSyncRecords", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.Favorite", b => @@ -955,7 +952,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("WorkshopId"); - b.ToTable("Favorites"); + b.ToTable("Favorites", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.Images.Image", b => @@ -968,7 +965,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasKey("EntityId", "ExternalStorageId"); - b.ToTable("ProviderImages"); + b.ToTable("ProviderImages", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.Images.Image", b => @@ -981,7 +978,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasKey("EntityId", "ExternalStorageId"); - b.ToTable("WorkshopImages"); + b.ToTable("WorkshopImages", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.InstitutionAdmin", b => @@ -1002,7 +999,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("UserId"); - b.ToTable("InstitutionAdmins"); + b.ToTable("InstitutionAdmins", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.InstitutionStatus", b => @@ -1021,7 +1018,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasKey("Id"); - b.ToTable("InstitutionStatuses"); + b.ToTable("InstitutionStatuses", (string)null); b.HasData( new @@ -1079,7 +1076,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasKey("Id"); - b.ToTable("Notifications"); + b.ToTable("Notifications", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.Parent", b => @@ -1100,7 +1097,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("UserId"); - b.ToTable("Parents"); + b.ToTable("Parents", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.PermissionsForRole", b => @@ -1124,7 +1121,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasKey("Id"); - b.ToTable("PermissionsForRoles"); + b.ToTable("PermissionsForRoles", (string)null); b.HasData( new @@ -1282,7 +1279,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("UserId"); - b.ToTable("Providers"); + b.ToTable("Providers", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.ProviderAdmin", b => @@ -1304,7 +1301,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("ProviderId"); - b.ToTable("ProviderAdmins"); + b.ToTable("ProviderAdmins", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.ProviderAdminChangesLog", b => @@ -1343,7 +1340,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("UserId"); - b.ToTable("ProviderAdminChangesLog"); + b.ToTable("ProviderAdminChangesLog", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.ProviderSectionItem", b => @@ -1371,7 +1368,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("ProviderId"); - b.ToTable("ProviderSectionItems"); + b.ToTable("ProviderSectionItems", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.Rating", b => @@ -1403,7 +1400,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("ParentId"); - b.ToTable("Ratings"); + b.ToTable("Ratings", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.SocialGroup", b => @@ -1422,7 +1419,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasKey("Id"); - b.ToTable("SocialGroups"); + b.ToTable("SocialGroups", (string)null); b.HasData( new @@ -1471,7 +1468,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasKey("Id"); - b.ToTable("Institutions"); + b.ToTable("Institutions", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.SubordinationStructure.InstitutionFieldDescription", b => @@ -1498,7 +1495,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("InstitutionId"); - b.ToTable("InstitutionFieldDescriptions"); + b.ToTable("InstitutionFieldDescriptions", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.SubordinationStructure.InstitutionHierarchy", b => @@ -1530,7 +1527,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("ParentId"); - b.ToTable("InstitutionHierarchies"); + b.ToTable("InstitutionHierarchies", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.Teacher", b => @@ -1579,7 +1576,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("WorkshopId"); - b.ToTable("Teachers"); + b.ToTable("Teachers", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.User", b => @@ -1807,7 +1804,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("ProviderId"); - b.ToTable("Workshops"); + b.ToTable("Workshops", (string)null); }); modelBuilder.Entity("OutOfSchool.Services.Models.WorkshopDescriptionItem", b => @@ -1837,7 +1834,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("WorkshopId"); - b.ToTable("WorkshopDescriptionItems"); + b.ToTable("WorkshopDescriptionItems", (string)null); }); modelBuilder.Entity("ProviderAdminWorkshop", b => @@ -1852,7 +1849,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("ProviderAdminsUserId"); - b.ToTable("ProviderAdminWorkshop"); + b.ToTable("ProviderAdminWorkshop", (string)null); }); modelBuilder.Entity("AchievementChild", b =>