diff --git a/UserService/UserService.AzureFunction/UserService.AzureFunction.csproj b/UserService/UserService.AzureFunction/UserService.AzureFunction.csproj index 08d93cb..a988261 100644 --- a/UserService/UserService.AzureFunction/UserService.AzureFunction.csproj +++ b/UserService/UserService.AzureFunction/UserService.AzureFunction.csproj @@ -5,9 +5,9 @@ - - - + + + diff --git a/UserService/UserService.Core/UserService.Core.csproj b/UserService/UserService.Core/UserService.Core.csproj index f0f2f28..5bd327f 100644 --- a/UserService/UserService.Core/UserService.Core.csproj +++ b/UserService/UserService.Core/UserService.Core.csproj @@ -5,9 +5,9 @@ - - - + + + diff --git a/UserService/UserService.Handlers/UserService.Handlers.csproj b/UserService/UserService.Handlers/UserService.Handlers.csproj index 6f0355f..1df6ed9 100644 --- a/UserService/UserService.Handlers/UserService.Handlers.csproj +++ b/UserService/UserService.Handlers/UserService.Handlers.csproj @@ -5,7 +5,7 @@ - + diff --git a/UserService/UserService.Repo/Migrations/20220323121242_AddAccomodationToOtherActivities.Designer.cs b/UserService/UserService.Repo/Migrations/20220323121242_AddAccomodationToOtherActivities.Designer.cs new file mode 100644 index 0000000..ef43cc3 --- /dev/null +++ b/UserService/UserService.Repo/Migrations/20220323121242_AddAccomodationToOtherActivities.Designer.cs @@ -0,0 +1,653 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using UserService.Repo; + +namespace UserService.Repo.Migrations +{ + [DbContext(typeof(ApplicationDbContext))] + [Migration("20220323121242_AddAccomodationToOtherActivities")] + partial class AddAccomodationToOtherActivities + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "3.1.9") + .HasAnnotation("Relational:MaxIdentifierLength", 128) + .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); + + modelBuilder.Entity("HelpMyStreet.PostcodeCoordinates.EF.Entities.PostcodeEntity", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); + + b.Property("IsActive") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(true); + + b.Property("LastUpdated") + .ValueGeneratedOnAdd() + .HasColumnType("datetime2(0)") + .HasDefaultValueSql("GetUtcDate()"); + + b.Property("Latitude") + .HasColumnType("decimal(9,6)"); + + b.Property("Longitude") + .HasColumnType("decimal(9,6)"); + + b.Property("Postcode") + .IsRequired() + .HasColumnType("varchar(10)") + .HasMaxLength(10) + .IsUnicode(false); + + b.HasKey("Id"); + + b.HasIndex("Postcode") + .IsUnique() + .HasName("UX_Postcode_Postcode"); + + b.HasIndex("Postcode", "IsActive") + .HasName("IX_Postcode_Postcode_IsActive") + .HasAnnotation("SqlServer:Include", new[] { "Latitude", "Longitude" }); + + b.HasIndex("Latitude", "Longitude", "IsActive") + .HasName("IX_Postcode_Latitude_Longitude_IsActive") + .HasAnnotation("SqlServer:Include", new[] { "Postcode" }); + + b.ToTable("Postcode","Address"); + }); + + modelBuilder.Entity("HelpMyStreet.PostcodeCoordinates.EF.Entities.PostcodeEntityOldEntity", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); + + b.Property("IsActive") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(true); + + b.Property("LastUpdated") + .ValueGeneratedOnAdd() + .HasColumnType("datetime2(0)") + .HasDefaultValueSql("GetUtcDate()"); + + b.Property("Latitude") + .HasColumnType("decimal(9,6)"); + + b.Property("Longitude") + .HasColumnType("decimal(9,6)"); + + b.Property("Postcode") + .IsRequired() + .HasColumnType("varchar(10)") + .HasMaxLength(10) + .IsUnicode(false); + + b.HasKey("Id"); + + b.HasIndex("Postcode") + .IsUnique() + .HasName("UX_Postcode_Postcode"); + + b.HasIndex("Postcode", "IsActive") + .HasName("IX_Postcode_Postcode_IsActive") + .HasAnnotation("SqlServer:Include", new[] { "Latitude", "Longitude" }); + + b.HasIndex("Latitude", "Longitude", "IsActive") + .HasName("IX_Postcode_Latitude_Longitude_IsActive") + .HasAnnotation("SqlServer:Include", new[] { "Postcode" }); + + b.ToTable("Postcode_Old","Staging"); + }); + + modelBuilder.Entity("HelpMyStreet.PostcodeCoordinates.EF.Entities.PostcodeEntitySwitchEntity", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); + + b.Property("IsActive") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(true); + + b.Property("LastUpdated") + .ValueGeneratedOnAdd() + .HasColumnType("datetime2(0)") + .HasDefaultValueSql("GetUtcDate()"); + + b.Property("Latitude") + .HasColumnType("decimal(9,6)"); + + b.Property("Longitude") + .HasColumnType("decimal(9,6)"); + + b.Property("Postcode") + .IsRequired() + .HasColumnType("varchar(10)") + .HasMaxLength(10) + .IsUnicode(false); + + b.HasKey("Id"); + + b.HasIndex("Postcode") + .IsUnique() + .HasName("UX_Postcode_Postcode"); + + b.HasIndex("Postcode", "IsActive") + .HasName("IX_Postcode_Postcode_IsActive") + .HasAnnotation("SqlServer:Include", new[] { "Latitude", "Longitude" }); + + b.HasIndex("Latitude", "Longitude", "IsActive") + .HasName("IX_Postcode_Latitude_Longitude_IsActive") + .HasAnnotation("SqlServer:Include", new[] { "Postcode" }); + + b.ToTable("Postcode_Switch","Staging"); + }); + + modelBuilder.Entity("HelpMyStreet.PostcodeCoordinates.EF.Entities.PostcodeStagingEntity", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); + + b.Property("IsActive") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(true); + + b.Property("Latitude") + .HasColumnType("decimal(9,6)"); + + b.Property("Longitude") + .HasColumnType("decimal(9,6)"); + + b.Property("Postcode") + .IsRequired() + .HasColumnType("varchar(10)") + .HasMaxLength(10) + .IsUnicode(false); + + b.HasKey("Id"); + + b.ToTable("Postcode_Staging","Staging"); + }); + + modelBuilder.Entity("UserService.Repo.EntityFramework.Entities.Biography", b => + { + b.Property("UserId") + .HasColumnName("UserID") + .HasColumnType("int"); + + b.Property("DateCreated") + .ValueGeneratedOnAdd() + .HasColumnType("datetime") + .HasDefaultValueSql("(getdate())"); + + b.Property("Details") + .HasColumnType("nvarchar(max)"); + + b.HasKey("UserId", "DateCreated"); + + b.ToTable("Biography","UserPersonal"); + }); + + modelBuilder.Entity("UserService.Repo.EntityFramework.Entities.ChampionPostcode", b => + { + b.Property("UserId") + .HasColumnName("UserID") + .HasColumnType("int"); + + b.Property("PostalCode") + .HasColumnType("varchar(10)") + .HasMaxLength(10) + .IsUnicode(false); + + b.HasKey("UserId", "PostalCode"); + + b.HasIndex("UserId", "PostalCode") + .HasName("ix_PostalCode"); + + b.ToTable("ChampionPostcode","User"); + }); + + modelBuilder.Entity("UserService.Repo.EntityFramework.Entities.EnumSupportActivities", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnName("ID") + .HasColumnType("int") + .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); + + b.Property("Name") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("SupportActivity","Lookup"); + + b.HasData( + new + { + Id = 1, + Name = "Shopping" + }, + new + { + Id = 2, + Name = "CollectingPrescriptions" + }, + new + { + Id = 3, + Name = "Errands" + }, + new + { + Id = 4, + Name = "MedicalAppointmentTransport" + }, + new + { + Id = 5, + Name = "DogWalking" + }, + new + { + Id = 6, + Name = "MealPreparation" + }, + new + { + Id = 7, + Name = "PhoneCalls_Friendly" + }, + new + { + Id = 8, + Name = "PhoneCalls_Anxious" + }, + new + { + Id = 9, + Name = "HomeworkSupport" + }, + new + { + Id = 10, + Name = "CheckingIn" + }, + new + { + Id = 11, + Name = "Other" + }, + new + { + Id = 12, + Name = "FaceMask" + }, + new + { + Id = 13, + Name = "WellbeingPackage" + }, + new + { + Id = 14, + Name = "CommunityConnector" + }, + new + { + Id = 15, + Name = "ColdWeatherArmy" + }, + new + { + Id = 16, + Name = "Transport" + }, + new + { + Id = 21, + Name = "MealsToYourDoor" + }, + new + { + Id = 22, + Name = "VolunteerSupport" + }, + new + { + Id = 23, + Name = "MealtimeCompanion" + }, + new + { + Id = 24, + Name = "VaccineSupport" + }, + new + { + Id = 25, + Name = "EmergencySupport" + }, + new + { + Id = 26, + Name = "InPersonBefriending" + }, + new + { + Id = 27, + Name = "PracticalSupport" + }, + new + { + Id = 28, + Name = "VolunteerInduction" + }, + new + { + Id = 29, + Name = "DigitalSupport" + }, + new + { + Id = 30, + Name = "BinDayAssistance" + }, + new + { + Id = 31, + Name = "Covid19Help" + }, + new + { + Id = 32, + Name = "BankStaffVaccinator" + }, + new + { + Id = 33, + Name = "SkillShare" + }, + new + { + Id = 34, + Name = "Accommodation" + }); + }); + + modelBuilder.Entity("UserService.Repo.EntityFramework.Entities.PersonalDetails", b => + { + b.Property("UserId") + .HasColumnName("UserID") + .HasColumnType("int"); + + b.Property("AddressLine1") + .HasColumnType("varchar(100)") + .HasMaxLength(100) + .IsUnicode(false); + + b.Property("AddressLine2") + .HasColumnType("varchar(100)") + .HasMaxLength(100) + .IsUnicode(false); + + b.Property("AddressLine3") + .HasColumnType("varchar(100)") + .HasMaxLength(100) + .IsUnicode(false); + + b.Property("DateOfBirth") + .HasColumnType("date"); + + b.Property("DisplayName") + .HasColumnType("varchar(50)") + .HasMaxLength(50) + .IsUnicode(false); + + b.Property("EmailAddress") + .HasColumnType("varchar(50)") + .HasMaxLength(50) + .IsUnicode(false); + + b.Property("FirstName") + .HasColumnType("varchar(50)") + .HasMaxLength(50) + .IsUnicode(false); + + b.Property("LastName") + .HasColumnType("varchar(50)") + .HasMaxLength(50) + .IsUnicode(false); + + b.Property("Locality") + .HasColumnType("varchar(100)") + .HasMaxLength(100) + .IsUnicode(false); + + b.Property("MobilePhone") + .HasColumnType("varchar(15)") + .HasMaxLength(15) + .IsUnicode(false); + + b.Property("OtherPhone") + .HasColumnType("varchar(15)") + .HasMaxLength(15) + .IsUnicode(false); + + b.Property("Postcode") + .HasColumnType("varchar(10)") + .HasMaxLength(10) + .IsUnicode(false); + + b.Property("UnderlyingMedicalCondition") + .HasColumnType("bit"); + + b.HasKey("UserId"); + + b.HasIndex("EmailAddress") + .IsUnique() + .HasName("UC_EmailAddress") + .HasFilter("[EmailAddress] IS NOT NULL"); + + b.ToTable("PersonalDetails","UserPersonal"); + }); + + modelBuilder.Entity("UserService.Repo.EntityFramework.Entities.RegistrationHistory", b => + { + b.Property("UserId") + .HasColumnName("UserID") + .HasColumnType("int"); + + b.Property("RegistrationStep") + .HasColumnType("tinyint"); + + b.Property("DateCompleted") + .HasColumnType("datetime"); + + b.HasKey("UserId", "RegistrationStep"); + + b.ToTable("RegistrationHistory","User"); + }); + + modelBuilder.Entity("UserService.Repo.EntityFramework.Entities.SupportActivity", b => + { + b.Property("UserId") + .HasColumnName("UserID") + .HasColumnType("int"); + + b.Property("ActivityId") + .HasColumnName("ActivityID") + .HasColumnType("tinyint"); + + b.HasKey("UserId", "ActivityId"); + + b.ToTable("SupportActivity","User"); + }); + + modelBuilder.Entity("UserService.Repo.EntityFramework.Entities.SupportPostcode", b => + { + b.Property("UserId") + .HasColumnName("UserID") + .HasColumnType("int"); + + b.Property("PostalCode") + .HasColumnType("varchar(10)") + .HasMaxLength(10) + .IsUnicode(false); + + b.HasKey("UserId", "PostalCode"); + + b.HasIndex("UserId", "PostalCode") + .HasName("ix_PostalCode"); + + b.ToTable("SupportPostcode","User"); + }); + + modelBuilder.Entity("UserService.Repo.EntityFramework.Entities.User", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnName("ID") + .HasColumnType("int") + .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); + + b.Property("DateCreated") + .HasColumnType("datetime"); + + b.Property("DateLastLogin") + .HasColumnType("datetime2"); + + b.Property("DateLastLoginChecked") + .HasColumnType("datetime2"); + + b.Property("EmailSharingConsent") + .HasColumnType("bit"); + + b.Property("FirebaseUid") + .IsRequired() + .HasColumnName("FirebaseUID") + .HasColumnType("varchar(50)") + .HasMaxLength(50) + .IsUnicode(false); + + b.Property("HmscontactConsent") + .HasColumnName("HMSContactConsent") + .HasColumnType("bit"); + + b.Property("IsVerified") + .HasColumnType("bit"); + + b.Property("IsVolunteer") + .HasColumnType("bit"); + + b.Property("MobileSharingConsent") + .HasColumnType("bit"); + + b.Property("OtherPhoneSharingConsent") + .HasColumnType("bit"); + + b.Property("PostalCode") + .HasColumnType("varchar(10)") + .HasMaxLength(10) + .IsUnicode(false); + + b.Property("ReferringGroupId") + .HasColumnType("int"); + + b.Property("Source") + .HasColumnType("nvarchar(max)"); + + b.Property("StreetChampionRoleUnderstood") + .HasColumnType("bit"); + + b.Property("SupportRadiusMiles") + .HasColumnType("float"); + + b.Property("SupportVolunteersByPhone") + .HasColumnType("bit"); + + b.HasKey("Id"); + + b.HasIndex("FirebaseUid") + .IsUnique() + .HasName("UC_FirebaseUID"); + + b.ToTable("User","User"); + }); + + modelBuilder.Entity("UserService.Repo.EntityFramework.Entities.Biography", b => + { + b.HasOne("UserService.Repo.EntityFramework.Entities.User", "User") + .WithMany("Biography") + .HasForeignKey("UserId") + .HasConstraintName("FK_Biography_User") + .IsRequired(); + }); + + modelBuilder.Entity("UserService.Repo.EntityFramework.Entities.ChampionPostcode", b => + { + b.HasOne("UserService.Repo.EntityFramework.Entities.User", "User") + .WithMany("ChampionPostcode") + .HasForeignKey("UserId") + .HasConstraintName("FK_ChampionPostcode_User") + .IsRequired(); + }); + + modelBuilder.Entity("UserService.Repo.EntityFramework.Entities.PersonalDetails", b => + { + b.HasOne("UserService.Repo.EntityFramework.Entities.User", "User") + .WithOne("PersonalDetails") + .HasForeignKey("UserService.Repo.EntityFramework.Entities.PersonalDetails", "UserId") + .HasConstraintName("FK_PersonalDetails_User") + .IsRequired(); + }); + + modelBuilder.Entity("UserService.Repo.EntityFramework.Entities.RegistrationHistory", b => + { + b.HasOne("UserService.Repo.EntityFramework.Entities.User", "User") + .WithMany("RegistrationHistory") + .HasForeignKey("UserId") + .HasConstraintName("FK_RegistrationHistory_User") + .IsRequired(); + }); + + modelBuilder.Entity("UserService.Repo.EntityFramework.Entities.SupportActivity", b => + { + b.HasOne("UserService.Repo.EntityFramework.Entities.User", "User") + .WithMany("SupportActivity") + .HasForeignKey("UserId") + .HasConstraintName("FK_SupportActivity_User") + .IsRequired(); + }); + + modelBuilder.Entity("UserService.Repo.EntityFramework.Entities.SupportPostcode", b => + { + b.HasOne("UserService.Repo.EntityFramework.Entities.User", "User") + .WithMany("SupportPostcode") + .HasForeignKey("UserId") + .HasConstraintName("FK_SupportPostcode_User") + .IsRequired(); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/UserService/UserService.Repo/Migrations/20220323121242_AddAccomodationToOtherActivities.cs b/UserService/UserService.Repo/Migrations/20220323121242_AddAccomodationToOtherActivities.cs new file mode 100644 index 0000000..93bcaa7 --- /dev/null +++ b/UserService/UserService.Repo/Migrations/20220323121242_AddAccomodationToOtherActivities.cs @@ -0,0 +1,33 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +namespace UserService.Repo.Migrations +{ + public partial class AddAccomodationToOtherActivities : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.InsertData( + schema: "Lookup", + table: "SupportActivity", + columns: new[] { "ID", "Name" }, + values: new object[] { 34, "Accommodation" }); + + migrationBuilder.Sql(@" + INSERT INTO [User].[SupportActivity]([UserID],[ActivityID]) + SELECT UserID, 34 + FROM [User].[SupportActivity] sa + WHERE ActivityID = 11 and + 34 not in (select ActivityID from [User].[SupportActivity] a where a.UserID = sa.UserID ) + "); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DeleteData( + schema: "Lookup", + table: "SupportActivity", + keyColumn: "ID", + keyValue: 34); + } + } +} diff --git a/UserService/UserService.Repo/Migrations/ApplicationDbContextModelSnapshot.cs b/UserService/UserService.Repo/Migrations/ApplicationDbContextModelSnapshot.cs index eaedf30..3d56fac 100644 --- a/UserService/UserService.Repo/Migrations/ApplicationDbContextModelSnapshot.cs +++ b/UserService/UserService.Repo/Migrations/ApplicationDbContextModelSnapshot.cs @@ -384,6 +384,11 @@ protected override void BuildModel(ModelBuilder modelBuilder) { Id = 33, Name = "SkillShare" + }, + new + { + Id = 34, + Name = "Accommodation" }); }); diff --git a/UserService/UserService.Repo/UserService.Repo.csproj b/UserService/UserService.Repo/UserService.Repo.csproj index 5103f09..bb1bb2a 100644 --- a/UserService/UserService.Repo/UserService.Repo.csproj +++ b/UserService/UserService.Repo/UserService.Repo.csproj @@ -12,8 +12,8 @@ - - + + diff --git a/UserService/UserService.UnitTests/UserService.UnitTests.csproj b/UserService/UserService.UnitTests/UserService.UnitTests.csproj index 7cbd6bf..1dcbd9d 100644 --- a/UserService/UserService.UnitTests/UserService.UnitTests.csproj +++ b/UserService/UserService.UnitTests/UserService.UnitTests.csproj @@ -7,8 +7,8 @@ - - + +