diff --git a/gehGassi.Common/Annotations.de.resx b/gehGassi.Common/Annotations.de.resx index a9116b2..4076019 100644 --- a/gehGassi.Common/Annotations.de.resx +++ b/gehGassi.Common/Annotations.de.resx @@ -3933,4 +3933,13 @@ Max. Registrierungsdatum + + Mangopay + + + Barzahlung + + + Zahlungsart + \ No newline at end of file diff --git a/gehGassi.Common/Annotations.en.resx b/gehGassi.Common/Annotations.en.resx index 0cd02d8..6920c68 100644 --- a/gehGassi.Common/Annotations.en.resx +++ b/gehGassi.Common/Annotations.en.resx @@ -3935,4 +3935,13 @@ Max. registered date + + Mangopay + + + Cash + + + Payment tye + \ No newline at end of file diff --git a/gehGassi.Common/Annotations.resx b/gehGassi.Common/Annotations.resx index e6d9252..3246112 100644 --- a/gehGassi.Common/Annotations.resx +++ b/gehGassi.Common/Annotations.resx @@ -3934,4 +3934,13 @@ + + + + + + + + + \ No newline at end of file diff --git a/gehGassi.Domain/Common/Enums.cs b/gehGassi.Domain/Common/Enums.cs index 2906b40..28074aa 100644 --- a/gehGassi.Domain/Common/Enums.cs +++ b/gehGassi.Domain/Common/Enums.cs @@ -303,6 +303,21 @@ namespace gehGassi.Domain.Common PayPal = 30 } + /// + /// Zahlungsart für einen Walk + /// + public enum WalkPaymentType + { + /// + /// Mit MangoPay bezahlen (z.B. Kreditkarte) + /// + MangoPay = 1, + /// + /// Barzahlung + /// + Cash = 10 + } + /// /// Zahlungsstatus /// diff --git a/gehGassi.Domain/Walks/Walk.cs b/gehGassi.Domain/Walks/Walk.cs index d6b09a1..62a552c 100644 --- a/gehGassi.Domain/Walks/Walk.cs +++ b/gehGassi.Domain/Walks/Walk.cs @@ -178,6 +178,12 @@ namespace gehGassi.Domain.Walks [Required] public PaymentStatus PaymentStatus { get; set; } + /// + /// Welche Art von Bezahlung wurde verwendet + /// + [Required] + public WalkPaymentType PaymentType { get; set; } + /// /// Id des Gutscheins der verwendet wurde, wenn einer verwendet wurde /// @@ -473,6 +479,11 @@ namespace gehGassi.Domain.Walks /// public PaymentStatus PaymentStatus { get; set; } + /// + /// Welche Art von Bezahlung wurde verwendet + /// + public WalkPaymentType PaymentType { get; set; } + /// /// Id des Gutscheins der verwendet wurde, wenn einer verwendet wurde /// diff --git a/gehGassi.Persistence/Migrations/20250630082853_Walk_PaymentType_Added.Designer.cs b/gehGassi.Persistence/Migrations/20250630082853_Walk_PaymentType_Added.Designer.cs new file mode 100644 index 0000000..141a948 --- /dev/null +++ b/gehGassi.Persistence/Migrations/20250630082853_Walk_PaymentType_Added.Designer.cs @@ -0,0 +1,9478 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using NetTopologySuite.Geometries; +using gehGassi.Persistence; + +#nullable disable + +namespace gehGassi.Persistence.Migrations +{ + [DbContext(typeof(SqlDbContext))] + [Migration("20250630082853_Walk_PaymentType_Added")] + partial class Walk_PaymentType_Added + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.10") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ClaimType") + .HasColumnType("nvarchar(max)"); + + b.Property("ClaimValue") + .HasColumnType("nvarchar(max)"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetRoleClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ClaimType") + .HasColumnType("nvarchar(max)"); + + b.Property("ClaimValue") + .HasColumnType("nvarchar(max)"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.Property("LoginProvider") + .HasColumnType("nvarchar(450)"); + + b.Property("ProviderKey") + .HasColumnType("nvarchar(450)"); + + b.Property("ProviderDisplayName") + .HasColumnType("nvarchar(max)"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.HasKey("LoginProvider", "ProviderKey"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserLogins", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.Property("UserId") + .HasColumnType("nvarchar(450)"); + + b.Property("RoleId") + .HasColumnType("nvarchar(450)"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetUserRoles", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("nvarchar(450)"); + + b.Property("LoginProvider") + .HasColumnType("nvarchar(450)"); + + b.Property("Name") + .HasColumnType("nvarchar(450)"); + + b.Property("Value") + .HasColumnType("nvarchar(max)"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AspNetUserTokens", (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Advertisements.Advertisement", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("AdvertisementCategoryId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("CartId") + .HasColumnType("bigint"); + + b.Property("CartItemId") + .HasColumnType("bigint"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("CustomerId") + .HasColumnType("bigint"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("DescriptionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Discount") + .HasColumnType("decimal(18,2)"); + + b.Property("EndDate") + .HasColumnType("datetimeoffset"); + + b.Property("GeoMode") + .HasColumnType("int"); + + b.Property("Image") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("Image2") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("Image2LanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("ImageLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("Location") + .HasColumnType("geography"); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("OrderId") + .HasColumnType("bigint"); + + b.Property("OrderItemId") + .HasColumnType("bigint"); + + b.Property("PayedDate") + .HasColumnType("datetimeoffset"); + + b.Property("PaymentStatus") + .HasColumnType("int"); + + b.Property("PaymentType") + .HasColumnType("int"); + + b.Property("Radius") + .HasColumnType("float"); + + b.Property("StartDate") + .HasColumnType("datetimeoffset"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Url") + .HasMaxLength(2083) + .HasColumnType("nvarchar(2083)"); + + b.Property("UrlLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.HasKey("Id"); + + b.HasIndex("AdvertisementCategoryId"); + + b.HasIndex("CustomerId"); + + b.HasIndex("Index"); + + b.HasIndex("OrderId"); + + b.HasIndex("OrderItemId"); + + b.ToTable("Advertisements"); + }); + + modelBuilder.Entity("gehGassi.Domain.Advertisements.AdvertisementCategory", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Comment") + .HasColumnType("nvarchar(max)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("DescriptionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Image") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("ImageLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("OnlineStatus") + .HasColumnType("int"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.HasKey("Id"); + + b.HasIndex("Index"); + + b.ToTable("AdvertisementCategories"); + }); + + modelBuilder.Entity("gehGassi.Domain.Advertisements.AdvertisementCategoryWithNames", b => + { + b.Property("Comment") + .HasColumnType("nvarchar(max)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("DescriptionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Id") + .HasColumnType("nvarchar(max)"); + + b.Property("Image") + .HasColumnType("nvarchar(max)"); + + b.Property("ImageLanguage") + .HasColumnType("nvarchar(max)"); + + b.Property("ImageLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .HasColumnType("bigint"); + + b.Property("Name") + .HasColumnType("nvarchar(max)"); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("OnlineStatus") + .HasColumnType("int"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .HasColumnType("varbinary(max)"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Advertisements.AdvertisementWithNames", b => + { + b.Property("Address_CountryCode") + .HasColumnType("nvarchar(max)"); + + b.Property("Address_State") + .HasColumnType("nvarchar(max)"); + + b.Property("AdvertisementCategoryId") + .HasColumnType("nvarchar(max)"); + + b.Property("AdvertisementCategoryName") + .HasColumnType("nvarchar(max)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("CustomerId") + .HasColumnType("bigint"); + + b.Property("CustomerName") + .HasColumnType("nvarchar(max)"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("DescriptionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Discount") + .HasColumnType("decimal(18,2)"); + + b.Property("EndDate") + .HasColumnType("datetimeoffset"); + + b.Property("GeoMode") + .HasColumnType("int"); + + b.Property("Id") + .HasColumnType("nvarchar(max)"); + + b.Property("Image") + .HasColumnType("nvarchar(max)"); + + b.Property("Image2") + .HasColumnType("nvarchar(max)"); + + b.Property("Image2Language") + .HasColumnType("nvarchar(max)"); + + b.Property("Image2LanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("ImageLanguage") + .HasColumnType("nvarchar(max)"); + + b.Property("ImageLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .HasColumnType("bigint"); + + b.Property("Location") + .HasColumnType("geography"); + + b.Property("Name") + .HasColumnType("nvarchar(max)"); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("PayedDate") + .HasColumnType("datetimeoffset"); + + b.Property("PaymentStatus") + .HasColumnType("int"); + + b.Property("PaymentType") + .HasColumnType("int"); + + b.Property("Radius") + .HasColumnType("float"); + + b.Property("StartDate") + .HasColumnType("datetimeoffset"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Url") + .HasColumnType("nvarchar(max)"); + + b.Property("UrlLanguage") + .HasColumnType("nvarchar(max)"); + + b.Property("UrlLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Version") + .HasColumnType("varbinary(max)"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Advertisements.Banner", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("BannerLocation") + .HasColumnType("int"); + + b.Property("BannerSize") + .HasColumnType("int"); + + b.Property("Budget") + .HasColumnType("decimal(18,4)"); + + b.Property("BudgetUsed") + .HasColumnType("decimal(18,4)"); + + b.Property("CartId") + .HasColumnType("bigint"); + + b.Property("CartItemId") + .HasColumnType("bigint"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("CurrentClicks") + .HasColumnType("int"); + + b.Property("CurrentViews") + .HasColumnType("int"); + + b.Property("CustomerId") + .HasColumnType("bigint"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("EndDate") + .HasColumnType("datetimeoffset"); + + b.Property("GeoMode") + .HasColumnType("int"); + + b.Property("Image") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("ImageLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("Location") + .HasColumnType("geography"); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("OrderId") + .HasColumnType("bigint"); + + b.Property("OrderItemId") + .HasColumnType("bigint"); + + b.Property("PayedDate") + .HasColumnType("datetimeoffset"); + + b.Property("PaymentStatus") + .HasColumnType("int"); + + b.Property("PaymentType") + .HasColumnType("int"); + + b.Property("PriceClick") + .HasColumnType("decimal(18,4)"); + + b.Property("PriceView") + .HasColumnType("decimal(18,4)"); + + b.Property("Radius") + .HasColumnType("float"); + + b.Property("StartDate") + .HasColumnType("datetimeoffset"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Url") + .HasMaxLength(2083) + .HasColumnType("nvarchar(2083)"); + + b.Property("UrlLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.HasKey("Id"); + + b.HasIndex("CustomerId"); + + b.HasIndex("Index"); + + b.HasIndex("OrderId"); + + b.HasIndex("OrderItemId"); + + b.ToTable("Banners"); + }); + + modelBuilder.Entity("gehGassi.Domain.Advertisements.BannerStatistic", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AppMode") + .HasColumnType("int"); + + b.Property("BannerId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("CountryCode") + .IsRequired() + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("Day") + .HasColumnType("int"); + + b.Property("EventDate") + .HasColumnType("datetimeoffset"); + + b.Property("Hour") + .HasColumnType("int"); + + b.Property("Language") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("Month") + .HasColumnType("int"); + + b.Property("StateCode") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("StatisticType") + .HasColumnType("int"); + + b.Property("Value") + .HasColumnType("int"); + + b.Property("Year") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("BannerId"); + + b.ToTable("BannerStatistics"); + }); + + modelBuilder.Entity("gehGassi.Domain.Advertisements.BannerWithNames", b => + { + b.Property("Address_CountryCode") + .HasColumnType("nvarchar(max)"); + + b.Property("Address_State") + .HasColumnType("nvarchar(max)"); + + b.Property("BannerLocation") + .HasColumnType("int"); + + b.Property("BannerSize") + .HasColumnType("int"); + + b.Property("Budget") + .HasColumnType("decimal(18,4)"); + + b.Property("BudgetUsed") + .HasColumnType("decimal(18,4)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("CurrentClicks") + .HasColumnType("int"); + + b.Property("CurrentViews") + .HasColumnType("int"); + + b.Property("CustomerId") + .HasColumnType("bigint"); + + b.Property("CustomerName") + .HasColumnType("nvarchar(max)"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("EndDate") + .HasColumnType("datetimeoffset"); + + b.Property("GeoMode") + .HasColumnType("int"); + + b.Property("Id") + .HasColumnType("nvarchar(max)"); + + b.Property("Image") + .HasColumnType("nvarchar(max)"); + + b.Property("ImageLanguage") + .HasColumnType("nvarchar(max)"); + + b.Property("ImageLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .HasColumnType("bigint"); + + b.Property("Location") + .HasColumnType("geography"); + + b.Property("Name") + .HasColumnType("nvarchar(max)"); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("PayedDate") + .HasColumnType("datetimeoffset"); + + b.Property("PaymentStatus") + .HasColumnType("int"); + + b.Property("PaymentType") + .HasColumnType("int"); + + b.Property("PriceClick") + .HasColumnType("decimal(18,4)"); + + b.Property("PriceView") + .HasColumnType("decimal(18,4)"); + + b.Property("Radius") + .HasColumnType("float"); + + b.Property("StartDate") + .HasColumnType("datetimeoffset"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Url") + .HasColumnType("nvarchar(max)"); + + b.Property("UrlLanguage") + .HasColumnType("nvarchar(max)"); + + b.Property("UrlLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Version") + .HasColumnType("varbinary(max)"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Advertisements.Branch", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Comment") + .HasColumnType("nvarchar(max)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("DescriptionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Image") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("ImageLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("ListingAllowed") + .HasColumnType("bit"); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("OnlineStatus") + .HasColumnType("int"); + + b.Property("Order") + .HasColumnType("int"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.HasKey("Id"); + + b.ToTable("Branches"); + }); + + modelBuilder.Entity("gehGassi.Domain.Advertisements.BranchWithNames", b => + { + b.Property("Comment") + .HasColumnType("nvarchar(max)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("DescriptionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Id") + .HasColumnType("nvarchar(max)"); + + b.Property("Image") + .HasColumnType("nvarchar(max)"); + + b.Property("ImageLanguage") + .HasColumnType("nvarchar(max)"); + + b.Property("ImageLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .HasColumnType("bigint"); + + b.Property("ListingAllowed") + .HasColumnType("bit"); + + b.Property("Name") + .HasColumnType("nvarchar(max)"); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("OnlineStatus") + .HasColumnType("int"); + + b.Property("Order") + .HasColumnType("int"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .HasColumnType("varbinary(max)"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Advertisements.Listing", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("BranchId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("CartId") + .HasColumnType("bigint"); + + b.Property("CartItemId") + .HasColumnType("bigint"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("CustomerId") + .HasColumnType("bigint"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("DescriptionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("EndDate") + .HasColumnType("datetimeoffset"); + + b.Property("GeoMode") + .HasColumnType("int"); + + b.Property("Image") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("Image2") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("Image2LanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("ImageLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("ListingLocation") + .HasColumnType("geography"); + + b.Property("ListingType") + .HasColumnType("int"); + + b.Property("Location") + .HasColumnType("geography"); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("OrderId") + .HasColumnType("bigint"); + + b.Property("OrderItemId") + .HasColumnType("bigint"); + + b.Property("PayedDate") + .HasColumnType("datetimeoffset"); + + b.Property("PaymentStatus") + .HasColumnType("int"); + + b.Property("PaymentType") + .HasColumnType("int"); + + b.Property("Radius") + .HasColumnType("float"); + + b.Property("ReservedUntil") + .HasColumnType("datetimeoffset"); + + b.Property("StartDate") + .HasColumnType("datetimeoffset"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Url") + .HasMaxLength(2083) + .HasColumnType("nvarchar(2083)"); + + b.Property("UrlLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.HasKey("Id"); + + b.HasIndex("BranchId"); + + b.HasIndex("CustomerId"); + + b.HasIndex("Index"); + + b.HasIndex("OrderId"); + + b.HasIndex("OrderItemId"); + + b.ToTable("Listings"); + }); + + modelBuilder.Entity("gehGassi.Domain.Advertisements.ListingWithNames", b => + { + b.Property("Address_CountryCode") + .HasColumnType("nvarchar(max)"); + + b.Property("Address_State") + .HasColumnType("nvarchar(max)"); + + b.Property("BranchId") + .HasColumnType("nvarchar(max)"); + + b.Property("BranchName") + .HasColumnType("nvarchar(max)"); + + b.Property("BranchOnlineStatus") + .HasColumnType("int"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("CustomerId") + .HasColumnType("bigint"); + + b.Property("CustomerName") + .HasColumnType("nvarchar(max)"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("DescriptionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("EndDate") + .HasColumnType("datetimeoffset"); + + b.Property("GeoMode") + .HasColumnType("int"); + + b.Property("Id") + .HasColumnType("nvarchar(max)"); + + b.Property("Image") + .HasColumnType("nvarchar(max)"); + + b.Property("Image2") + .HasColumnType("nvarchar(max)"); + + b.Property("Image2Language") + .HasColumnType("nvarchar(max)"); + + b.Property("Image2LanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("ImageLanguage") + .HasColumnType("nvarchar(max)"); + + b.Property("ImageLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .HasColumnType("bigint"); + + b.Property("ListingAddress_AddressLine1") + .HasColumnType("nvarchar(max)"); + + b.Property("ListingAddress_AddressLine2") + .HasColumnType("nvarchar(max)"); + + b.Property("ListingAddress_City") + .HasColumnType("nvarchar(max)"); + + b.Property("ListingAddress_CountryCode") + .HasColumnType("nvarchar(max)"); + + b.Property("ListingAddress_State") + .HasColumnType("nvarchar(max)"); + + b.Property("ListingAddress_Zip") + .HasColumnType("nvarchar(max)"); + + b.Property("ListingLocation") + .HasColumnType("geography"); + + b.Property("ListingType") + .HasColumnType("int"); + + b.Property("Location") + .HasColumnType("geography"); + + b.Property("Name") + .HasColumnType("nvarchar(max)"); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("PayedDate") + .HasColumnType("datetimeoffset"); + + b.Property("PaymentStatus") + .HasColumnType("int"); + + b.Property("PaymentType") + .HasColumnType("int"); + + b.Property("Radius") + .HasColumnType("float"); + + b.Property("ReservedUntil") + .HasColumnType("datetimeoffset"); + + b.Property("StartDate") + .HasColumnType("datetimeoffset"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Url") + .HasColumnType("nvarchar(max)"); + + b.Property("UrlLanguage") + .HasColumnType("nvarchar(max)"); + + b.Property("UrlLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Version") + .HasColumnType("varbinary(max)"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Advertisements.Pin", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("CartId") + .HasColumnType("bigint"); + + b.Property("CartItemId") + .HasColumnType("bigint"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("CustomerId") + .HasColumnType("bigint"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("DescriptionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("EndDate") + .HasColumnType("datetimeoffset"); + + b.Property("Image") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("ImageLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("ListingId") + .HasColumnType("nvarchar(128)"); + + b.Property("Location") + .HasColumnType("geography"); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("OrderId") + .HasColumnType("bigint"); + + b.Property("OrderItemId") + .HasColumnType("bigint"); + + b.Property("PayedDate") + .HasColumnType("datetimeoffset"); + + b.Property("PaymentStatus") + .HasColumnType("int"); + + b.Property("PaymentType") + .HasColumnType("int"); + + b.Property("Radius") + .HasColumnType("float"); + + b.Property("StartDate") + .HasColumnType("datetimeoffset"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Url") + .HasMaxLength(2083) + .HasColumnType("nvarchar(2083)"); + + b.Property("UrlLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.HasKey("Id"); + + b.HasIndex("CustomerId"); + + b.HasIndex("Index"); + + b.HasIndex("ListingId"); + + b.HasIndex("OrderId"); + + b.HasIndex("OrderItemId"); + + b.ToTable("Pins"); + }); + + modelBuilder.Entity("gehGassi.Domain.Advertisements.PinWithNames", b => + { + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("CustomerId") + .HasColumnType("bigint"); + + b.Property("CustomerName") + .HasColumnType("nvarchar(max)"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("DescriptionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("EndDate") + .HasColumnType("datetimeoffset"); + + b.Property("Id") + .HasColumnType("nvarchar(max)"); + + b.Property("Image") + .HasColumnType("nvarchar(max)"); + + b.Property("ImageLanguage") + .HasColumnType("nvarchar(max)"); + + b.Property("ImageLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .HasColumnType("bigint"); + + b.Property("ListingId") + .HasColumnType("nvarchar(max)"); + + b.Property("Location") + .HasColumnType("geography"); + + b.Property("Name") + .HasColumnType("nvarchar(max)"); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("PayedDate") + .HasColumnType("datetimeoffset"); + + b.Property("PaymentStatus") + .HasColumnType("int"); + + b.Property("PaymentType") + .HasColumnType("int"); + + b.Property("Radius") + .HasColumnType("float"); + + b.Property("StartDate") + .HasColumnType("datetimeoffset"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Url") + .HasColumnType("nvarchar(max)"); + + b.Property("UrlLanguage") + .HasColumnType("nvarchar(max)"); + + b.Property("UrlLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Version") + .HasColumnType("varbinary(max)"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Coins.CoinsAccount", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("AppUserId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("AppUserType") + .HasColumnType("int"); + + b.Property("Balance") + .HasColumnType("decimal(18,2)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.HasKey("Id"); + + b.HasIndex("AppUserId"); + + b.HasIndex("Index"); + + b.ToTable("CoinsAccounts"); + }); + + modelBuilder.Entity("gehGassi.Domain.Coins.CoinsPerMonth", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AppUserId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("AppUserType") + .HasColumnType("int"); + + b.Property("Balance") + .HasColumnType("decimal(18,2)"); + + b.Property("LastUpdate") + .HasColumnType("datetimeoffset"); + + b.Property("Month") + .HasColumnType("int"); + + b.Property("Year") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("AppUserId"); + + b.ToTable("CoinsPerMonths"); + }); + + modelBuilder.Entity("gehGassi.Domain.Coins.CoinsPerMonthWithNames", b => + { + b.Property("AppUserId") + .HasColumnType("nvarchar(max)"); + + b.Property("AppUserName") + .HasColumnType("nvarchar(max)"); + + b.Property("AppUserPhoto") + .HasColumnType("nvarchar(max)"); + + b.Property("AppUserType") + .HasColumnType("int"); + + b.Property("Balance") + .HasColumnType("decimal(18,2)"); + + b.Property("Id") + .HasColumnType("bigint"); + + b.Property("LastUpdate") + .HasColumnType("datetimeoffset"); + + b.Property("Month") + .HasColumnType("int"); + + b.Property("Year") + .HasColumnType("int"); + + b.ToTable((string)null); + + b.ToView("vw_CoinsPerMonthWithNames", (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Coins.CoinsPerYear", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AppUserId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("AppUserType") + .HasColumnType("int"); + + b.Property("Balance") + .HasColumnType("decimal(18,2)"); + + b.Property("LastUpdate") + .HasColumnType("datetimeoffset"); + + b.Property("Year") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("AppUserId"); + + b.ToTable("CoinsPerYears"); + }); + + modelBuilder.Entity("gehGassi.Domain.Coins.CoinsPerYearWithNames", b => + { + b.Property("AppUserId") + .HasColumnType("nvarchar(max)"); + + b.Property("AppUserName") + .HasColumnType("nvarchar(max)"); + + b.Property("AppUserPhoto") + .HasColumnType("nvarchar(max)"); + + b.Property("AppUserType") + .HasColumnType("int"); + + b.Property("Balance") + .HasColumnType("decimal(18,2)"); + + b.Property("Id") + .HasColumnType("bigint"); + + b.Property("LastUpdate") + .HasColumnType("datetimeoffset"); + + b.Property("Year") + .HasColumnType("int"); + + b.ToTable((string)null); + + b.ToView("vw_CoinsPerYearWithNames", (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Coins.CoinsTransaction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AccountId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Ammount") + .HasColumnType("decimal(18,2)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("TransactionType") + .HasColumnType("int"); + + b.Property("WalkId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.HasKey("Id"); + + b.HasIndex("AccountId"); + + b.ToTable("CoinsTransactions"); + }); + + modelBuilder.Entity("gehGassi.Domain.Common.Audit", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Action") + .HasColumnType("int"); + + b.Property("DateTime") + .HasColumnType("datetimeoffset"); + + b.Property("Key") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("KeyValues") + .HasColumnType("nvarchar(max)"); + + b.Property("NewValues") + .HasColumnType("nvarchar(max)"); + + b.Property("OldValues") + .HasColumnType("nvarchar(max)"); + + b.Property("Table") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("UserName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.HasKey("Id"); + + b.ToTable("Audits"); + }); + + modelBuilder.Entity("gehGassi.Domain.Common.AuditWithNames", b => + { + b.Property("Action") + .HasColumnType("int"); + + b.Property("DateTime") + .HasColumnType("datetimeoffset"); + + b.Property("Id") + .HasColumnType("bigint"); + + b.Property("Key") + .HasColumnType("nvarchar(max)"); + + b.Property("KeyValues") + .HasColumnType("nvarchar(max)"); + + b.Property("NewValues") + .HasColumnType("nvarchar(max)"); + + b.Property("OldValues") + .HasColumnType("nvarchar(max)"); + + b.Property("Table") + .HasColumnType("nvarchar(max)"); + + b.Property("UserFullName") + .HasColumnType("nvarchar(max)"); + + b.Property("UserName") + .HasColumnType("nvarchar(max)"); + + b.Property("UserPhoto") + .HasColumnType("nvarchar(max)"); + + b.ToTable((string)null); + + b.ToView("vw_AuditsWithNames", (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Customers.Customer", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("BranchId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("BranchesJson") + .HasColumnType("nvarchar(max)"); + + b.Property("Comment") + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("FirstName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("IsCompany") + .HasColumnType("bit"); + + b.Property("Languages") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("LastName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Logo") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("MangopayCompanyName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("MangopayContactBirthdate") + .HasColumnType("datetimeoffset"); + + b.Property("MangopayContactEmail") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("MangopayContactFirstName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("MangopayContactLastName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("MangopayContactMainResidenceCode") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("MangopayContactNationality") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("MangopayEmail") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("MangopayIdCreated") + .HasColumnType("bit"); + + b.Property("MangopayPaymentId") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("MangopayRegistrationNumber") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("MangopayTermsAccepted") + .HasColumnType("bit"); + + b.Property("MangopayTermsAcceptedDate") + .HasColumnType("datetimeoffset"); + + b.Property("MarkupAdvertisement") + .HasColumnType("decimal(18,2)"); + + b.Property("MarkupBanner") + .HasColumnType("decimal(18,2)"); + + b.Property("MarkupListing") + .HasColumnType("decimal(18,2)"); + + b.Property("MarkupPin") + .HasColumnType("decimal(18,2)"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("Number") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("PaymentOnInvoice") + .HasColumnType("bit"); + + b.Property("Title") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("TypeId") + .HasColumnType("bigint"); + + b.Property("UniqueId") + .HasColumnType("uniqueidentifier"); + + b.Property("Vat") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("BranchId"); + + b.HasIndex("TypeId"); + + b.ToTable("Customers"); + }); + + modelBuilder.Entity("gehGassi.Domain.Customers.CustomerType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Comment") + .HasColumnType("nvarchar(max)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("UniqueId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.ToTable("CustomerTypes"); + }); + + modelBuilder.Entity("gehGassi.Domain.Customers.CustomerWithNames", b => + { + b.Property("BranchId") + .HasColumnType("nvarchar(max)"); + + b.Property("BranchName") + .HasColumnType("nvarchar(max)"); + + b.Property("BranchesJson") + .HasColumnType("nvarchar(max)"); + + b.Property("Comment") + .HasColumnType("nvarchar(max)"); + + b.Property("CountryCode") + .HasColumnType("nvarchar(max)") + .HasColumnName("Address_CountryCode"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("FirstName") + .HasColumnType("nvarchar(max)"); + + b.Property("Id") + .HasColumnType("bigint"); + + b.Property("IsCompany") + .HasColumnType("bit"); + + b.Property("Languages") + .HasColumnType("nvarchar(max)"); + + b.Property("LastName") + .HasColumnType("nvarchar(max)"); + + b.Property("Logo") + .HasColumnType("nvarchar(max)"); + + b.Property("MangopayIdCreated") + .HasColumnType("bit"); + + b.Property("MangopayPaymentId") + .HasColumnType("nvarchar(max)"); + + b.Property("MarkupAdvertisement") + .HasColumnType("decimal(18,2)"); + + b.Property("MarkupBanner") + .HasColumnType("decimal(18,2)"); + + b.Property("MarkupListing") + .HasColumnType("decimal(18,2)"); + + b.Property("MarkupPin") + .HasColumnType("decimal(18,2)"); + + b.Property("Name") + .HasColumnType("nvarchar(max)"); + + b.Property("Number") + .HasColumnType("nvarchar(max)"); + + b.Property("PaymentOnInvoice") + .HasColumnType("bit"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("TypeId") + .HasColumnType("bigint"); + + b.Property("TypeName") + .HasColumnType("nvarchar(max)"); + + b.Property("UniqueId") + .HasColumnType("uniqueidentifier"); + + b.Property("Vat") + .HasColumnType("nvarchar(max)"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Devices.Device", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AppUserId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Channel") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("nvarchar(512)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("InstallationId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Language") + .IsRequired() + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("LastUpdate") + .HasColumnType("datetimeoffset"); + + b.Property("NotificationPlatform") + .HasColumnType("int"); + + b.Property("Platform") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("AppUserId"); + + b.ToTable("Devices"); + }); + + modelBuilder.Entity("gehGassi.Domain.Dogs.AppUser", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Anonymized") + .HasColumnType("bit"); + + b.Property("AnonymizedDate") + .HasColumnType("datetimeoffset"); + + b.Property("AutoPayout") + .HasColumnType("bit"); + + b.Property("BankId") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("BirthDate") + .HasColumnType("datetimeoffset"); + + b.Property("Comment") + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("FirstName") + .IsRequired() + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("KycPassed") + .HasColumnType("bit"); + + b.Property("KycPassedDate") + .HasColumnType("datetimeoffset"); + + b.Property("LastName") + .IsRequired() + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("Location") + .HasColumnType("geography"); + + b.Property("Locked") + .HasColumnType("bit"); + + b.Property("LockedCount") + .HasColumnType("int"); + + b.Property("LockedReason") + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("LockedUntil") + .HasColumnType("datetimeoffset"); + + b.Property("MainResidenceCode") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("NationalityCode") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("Number") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("PaymentId") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("PaymentTermsAccepted") + .HasColumnType("bit"); + + b.Property("PaymentTermsAcceptedDate") + .HasColumnType("datetimeoffset"); + + b.Property("Photo") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("PrivacyAccepted") + .HasColumnType("bit"); + + b.Property("PrivacyAcceptedDate") + .HasColumnType("datetimeoffset"); + + b.Property("Sex") + .HasColumnType("int"); + + b.Property("TermsAccepted") + .HasColumnType("bit"); + + b.Property("TermsAcceptedDate") + .HasColumnType("datetimeoffset"); + + b.Property("Title") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Type") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Verified") + .HasColumnType("bit"); + + b.Property("VerifiedDate") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.HasKey("Id"); + + b.HasIndex("Index"); + + b.ToTable("AppUsers"); + }); + + modelBuilder.Entity("gehGassi.Domain.Dogs.AppUserBlock", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AppUserReportId") + .HasColumnType("bigint"); + + b.Property("BlockedAppUserId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("BlockedUntil") + .HasColumnType("datetimeoffset"); + + b.Property("BlockingAppUserId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("CreatedBy") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.HasKey("Id"); + + b.HasIndex("BlockedAppUserId"); + + b.HasIndex("BlockingAppUserId"); + + b.ToTable("AppUserBlocks"); + }); + + modelBuilder.Entity("gehGassi.Domain.Dogs.AppUserBlockWithNames", b => + { + b.Property("AppUserReportId") + .HasColumnType("bigint"); + + b.Property("BlockedAppUserId") + .HasColumnType("nvarchar(max)"); + + b.Property("BlockedUntil") + .HasColumnType("datetimeoffset"); + + b.Property("BlockingAppUserId") + .HasColumnType("nvarchar(max)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("CreatedBy") + .HasColumnType("nvarchar(max)"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("FirstName") + .HasColumnType("nvarchar(max)"); + + b.Property("Id") + .HasColumnType("bigint"); + + b.Property("LastName") + .HasColumnType("nvarchar(max)"); + + b.Property("Location") + .HasColumnType("geography"); + + b.Property("LocationHint") + .HasColumnType("nvarchar(max)"); + + b.Property("Locked") + .HasColumnType("bit"); + + b.Property("Photo") + .HasColumnType("nvarchar(max)"); + + b.Property("Type") + .HasColumnType("int"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Dogs.AppUserRelation", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("LeftDeleted") + .HasColumnType("bit"); + + b.Property("LeftId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("RightDeleted") + .HasColumnType("bit"); + + b.Property("RightId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.HasKey("Id"); + + b.ToTable("EntityRelations"); + }); + + modelBuilder.Entity("gehGassi.Domain.Dogs.AppUserSubscription", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AppUserId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("CreatedBy") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ExpirationDate") + .HasColumnType("datetimeoffset"); + + b.Property("ExpirationDateWithGrace") + .HasColumnType("datetimeoffset"); + + b.Property("InAppBillingPurchaseJson") + .HasColumnType("nvarchar(max)"); + + b.Property("IsValid") + .HasColumnType("bit"); + + b.Property("LastRenewalDate") + .HasColumnType("datetimeoffset"); + + b.Property("LastUpdate") + .HasColumnType("datetimeoffset"); + + b.Property("Manual") + .HasColumnType("bit"); + + b.Property("Platform") + .HasColumnType("int"); + + b.Property("SubscriptionId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.HasKey("Id"); + + b.HasIndex("AppUserId"); + + b.HasIndex("SubscriptionId"); + + b.ToTable("AppUserSubscriptions"); + }); + + modelBuilder.Entity("gehGassi.Domain.Dogs.AppUserSubscriptionWithNames", b => + { + b.Property("AppUserId") + .HasColumnType("nvarchar(max)"); + + b.Property("AppUserName") + .HasColumnType("nvarchar(max)"); + + b.Property("AppUserPhoto") + .HasColumnType("nvarchar(max)"); + + b.Property("AppUserType") + .HasColumnType("int"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("CreatedBy") + .HasColumnType("nvarchar(max)"); + + b.Property("ExpirationDate") + .HasColumnType("datetimeoffset"); + + b.Property("ExpirationDateWithGrace") + .HasColumnType("datetimeoffset"); + + b.Property("Id") + .HasColumnType("bigint"); + + b.Property("IsValid") + .HasColumnType("bit"); + + b.Property("LastRenewalDate") + .HasColumnType("datetimeoffset"); + + b.Property("LastUpdate") + .HasColumnType("datetimeoffset"); + + b.Property("Manual") + .HasColumnType("bit"); + + b.Property("Platform") + .HasColumnType("int"); + + b.Property("SubscriptionAppMode") + .HasColumnType("int"); + + b.Property("SubscriptionCode") + .HasColumnType("nvarchar(max)"); + + b.Property("SubscriptionGracePeriodInDays") + .HasColumnType("int"); + + b.Property("SubscriptionId") + .HasColumnType("nvarchar(max)"); + + b.Property("SubscriptionLength") + .HasColumnType("int"); + + b.Property("SubscriptionName") + .HasColumnType("nvarchar(max)"); + + b.Property("SubscriptionPrice") + .HasColumnType("decimal(18,4)"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Dogs.AppVersion", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Build") + .HasColumnType("int"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("IsCurrent") + .HasColumnType("bit"); + + b.Property("IsMandatory") + .HasColumnType("bit"); + + b.Property("LastUpdate") + .HasColumnType("datetimeoffset"); + + b.Property("Major") + .HasColumnType("int"); + + b.Property("Minor") + .HasColumnType("int"); + + b.Property("Platform") + .HasColumnType("int"); + + b.Property("ReleaseDate") + .HasColumnType("datetimeoffset"); + + b.Property("ReleaseNotesLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("ReleaseTitleLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Revision") + .HasColumnType("int"); + + b.Property("Version") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("Id"); + + b.ToTable("AppVersions"); + }); + + modelBuilder.Entity("gehGassi.Domain.Dogs.AppVersionWithNames", b => + { + b.Property("Build") + .HasColumnType("int"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Id") + .HasColumnType("int"); + + b.Property("IsCurrent") + .HasColumnType("bit"); + + b.Property("IsMandatory") + .HasColumnType("bit"); + + b.Property("LastUpdate") + .HasColumnType("datetimeoffset"); + + b.Property("Major") + .HasColumnType("int"); + + b.Property("Minor") + .HasColumnType("int"); + + b.Property("Platform") + .HasColumnType("int"); + + b.Property("ReleaseDate") + .HasColumnType("datetimeoffset"); + + b.Property("ReleaseNotes") + .HasColumnType("nvarchar(max)"); + + b.Property("ReleaseNotesLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("ReleaseTitle") + .HasColumnType("nvarchar(max)"); + + b.Property("ReleaseTitleLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Revision") + .HasColumnType("int"); + + b.Property("Version") + .HasColumnType("nvarchar(max)"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Dogs.Certificate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AppUserId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("FileName") + .IsRequired() + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("InternalComment") + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("VerificationComment") + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("VerificationDate") + .HasColumnType("datetimeoffset"); + + b.Property("VerifiedBy") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.HasKey("Id"); + + b.HasIndex("AppUserId"); + + b.ToTable("Certificates"); + }); + + modelBuilder.Entity("gehGassi.Domain.Dogs.Dog", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("AggressionLevel") + .HasColumnType("int"); + + b.Property("AppUserId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("BasicCommands") + .HasColumnType("bit"); + + b.Property("BirthDate") + .HasColumnType("datetimeoffset"); + + b.Property("Chiped") + .HasColumnType("bit"); + + b.Property("Comment") + .HasColumnType("nvarchar(max)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Description") + .HasMaxLength(5000) + .HasColumnType("nvarchar(max)"); + + b.Property("DogRaceId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Eating") + .HasColumnType("bit"); + + b.Property("FeedingIndividual") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("FeedingTimes") + .HasColumnType("int"); + + b.Property("HouseTrained") + .HasColumnType("bit"); + + b.Property("Hunter") + .HasColumnType("bit"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("Intolerances") + .HasMaxLength(5000) + .HasColumnType("nvarchar(max)"); + + b.Property("IsAggressiv") + .HasColumnType("bit"); + + b.Property("IsCalm") + .HasColumnType("bit"); + + b.Property("IsGuard") + .HasColumnType("bit"); + + b.Property("IsLoneGunner") + .HasColumnType("bit"); + + b.Property("IsPeeing") + .HasColumnType("bit"); + + b.Property("IsShy") + .HasColumnType("bit"); + + b.Property("IsTrustful") + .HasColumnType("bit"); + + b.Property("Jumper") + .HasColumnType("bit"); + + b.Property("LikesAdults") + .HasColumnType("bit"); + + b.Property("LikesChildren") + .HasColumnType("bit"); + + b.Property("LikesConspecifics") + .HasColumnType("bit"); + + b.Property("MedicalInfo") + .HasMaxLength(5000) + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Number") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Photo") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("PullsTheLeash") + .HasColumnType("bit"); + + b.Property("RushesOutside") + .HasColumnType("bit"); + + b.Property("Sex") + .HasColumnType("int"); + + b.Property("Size") + .HasColumnType("int"); + + b.Property("Sterilized") + .HasColumnType("bit"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.Property("WalksTheLeash") + .HasColumnType("bit"); + + b.HasKey("Id"); + + b.HasIndex("AppUserId"); + + b.HasIndex("DogRaceId"); + + b.HasIndex("Index"); + + b.ToTable("Dogs"); + }); + + modelBuilder.Entity("gehGassi.Domain.Dogs.DogRace", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("AgeLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("CareLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("CoexistenceLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("DecisionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("DescriptionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("PersonalityLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Photo") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("SizeAndWeightLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.HasKey("Id"); + + b.HasIndex("Index"); + + b.ToTable("DogRaces"); + }); + + modelBuilder.Entity("gehGassi.Domain.Dogs.DogRaceWithNames", b => + { + b.Property("Age") + .HasColumnType("nvarchar(max)"); + + b.Property("AgeLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Care") + .HasColumnType("nvarchar(max)"); + + b.Property("CareLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Coexistence") + .HasColumnType("nvarchar(max)"); + + b.Property("CoexistenceLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Decision") + .HasColumnType("nvarchar(max)"); + + b.Property("DecisionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("DescriptionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Id") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .HasColumnType("bigint"); + + b.Property("Name") + .HasColumnType("nvarchar(max)"); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Personality") + .HasColumnType("nvarchar(max)"); + + b.Property("PersonalityLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Photo") + .HasColumnType("nvarchar(max)"); + + b.Property("SizeAndWeight") + .HasColumnType("nvarchar(max)"); + + b.Property("SizeAndWeightLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .HasColumnType("varbinary(max)"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Dogs.DogWalker", b => + { + b.Property("About") + .HasColumnType("nvarchar(max)"); + + b.Property("AcceptedSize") + .HasColumnType("int"); + + b.Property("Address_AddressLine1") + .HasColumnType("nvarchar(max)"); + + b.Property("Address_AddressLine2") + .HasColumnType("nvarchar(max)"); + + b.Property("Address_City") + .HasColumnType("nvarchar(max)"); + + b.Property("Address_CountryCode") + .HasColumnType("nvarchar(max)"); + + b.Property("Address_State") + .HasColumnType("nvarchar(max)"); + + b.Property("Address_Zip") + .HasColumnType("nvarchar(max)"); + + b.Property("AggressionLevel") + .HasColumnType("int"); + + b.Property("AllowedRequests") + .HasColumnType("int"); + + b.Property("Anonymized") + .HasColumnType("bit"); + + b.Property("AnonymizedDate") + .HasColumnType("datetimeoffset"); + + b.Property("BirthDate") + .HasColumnType("datetimeoffset"); + + b.Property("Comment") + .HasColumnType("nvarchar(max)"); + + b.Property("Contact_Email") + .HasColumnType("nvarchar(max)"); + + b.Property("Contact_Mobile") + .HasColumnType("nvarchar(max)"); + + b.Property("Contact_Phone") + .HasColumnType("nvarchar(max)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("DifficultAllowed") + .HasColumnType("bit"); + + b.Property("FirstName") + .HasColumnType("nvarchar(max)"); + + b.Property("Id") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .HasColumnType("bigint"); + + b.Property("KycPassed") + .HasColumnType("bit"); + + b.Property("KycPassedDate") + .HasColumnType("datetimeoffset"); + + b.Property("LastName") + .HasColumnType("nvarchar(max)"); + + b.Property("Location") + .HasColumnType("geography"); + + b.Property("Locked") + .HasColumnType("bit"); + + b.Property("LockedCount") + .HasColumnType("int"); + + b.Property("LockedReason") + .HasColumnType("nvarchar(max)"); + + b.Property("LockedUntil") + .HasColumnType("datetimeoffset"); + + b.Property("MainResidenceCode") + .HasColumnType("nvarchar(max)"); + + b.Property("NationalityCode") + .HasColumnType("nvarchar(max)"); + + b.Property("NotAvailable") + .HasColumnType("bit"); + + b.Property("NotAvailableInfo") + .HasColumnType("nvarchar(max)"); + + b.Property("Number") + .HasColumnType("nvarchar(max)"); + + b.Property("PaymentId") + .HasColumnType("nvarchar(max)"); + + b.Property("PaymentTermsAccepted") + .HasColumnType("bit"); + + b.Property("PaymentTermsAcceptedDate") + .HasColumnType("datetimeoffset"); + + b.Property("Photo") + .HasColumnType("nvarchar(max)"); + + b.Property("PriceDay") + .HasColumnType("decimal(18,2)"); + + b.Property("PriceSitting") + .HasColumnType("decimal(18,2)"); + + b.Property("PriceWalk") + .HasColumnType("decimal(18,2)"); + + b.Property("PrivacyAccepted") + .HasColumnType("bit"); + + b.Property("PrivacyAcceptedDate") + .HasColumnType("datetimeoffset"); + + b.Property("PuppyAllowed") + .HasColumnType("bit"); + + b.Property("Radius") + .HasColumnType("float"); + + b.Property("RatingStatisticsWalker_AverageRating") + .HasColumnType("decimal(18,2)"); + + b.Property("RatingStatisticsWalker_TotalPoints") + .HasColumnType("decimal(18,2)"); + + b.Property("RatingStatisticsWalker_TotalRatings") + .HasColumnType("int"); + + b.Property("RatingStatistics_AverageRating") + .HasColumnType("decimal(18,2)"); + + b.Property("RatingStatistics_TotalPoints") + .HasColumnType("decimal(18,2)"); + + b.Property("RatingStatistics_TotalRatings") + .HasColumnType("int"); + + b.Property("Sex") + .HasColumnType("int"); + + b.Property("TermsAccepted") + .HasColumnType("bit"); + + b.Property("TermsAcceptedDate") + .HasColumnType("datetimeoffset"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("Type") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Verified") + .HasColumnType("bit"); + + b.Property("VerifiedDate") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .HasColumnType("varbinary(max)"); + + b.ToTable((string)null); + + b.ToView("vw_DogWalkers", (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Dogs.DogWalkerProfile", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("About") + .HasMaxLength(300) + .HasColumnType("nvarchar(300)"); + + b.Property("AcceptedSize") + .HasColumnType("int"); + + b.Property("AggressionLevel") + .HasColumnType("int"); + + b.Property("AllowedRequests") + .HasColumnType("int"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("DifficultAllowed") + .HasColumnType("bit"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("NotAvailable") + .HasColumnType("bit"); + + b.Property("NotAvailableInfo") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("PriceDay") + .HasColumnType("decimal(18,2)"); + + b.Property("PriceSitting") + .HasColumnType("decimal(18,2)"); + + b.Property("PriceWalk") + .HasColumnType("decimal(18,2)"); + + b.Property("PuppyAllowed") + .HasColumnType("bit"); + + b.Property("Radius") + .HasColumnType("float"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.HasKey("Id"); + + b.HasIndex("Index"); + + b.ToTable("DogWalkerProfiles"); + }); + + modelBuilder.Entity("gehGassi.Domain.Dogs.DogWithNames", b => + { + b.Property("AggressionLevel") + .HasColumnType("int"); + + b.Property("AppUserId") + .HasColumnType("nvarchar(max)"); + + b.Property("AppUserName") + .HasColumnType("nvarchar(max)"); + + b.Property("BasicCommands") + .HasColumnType("bit"); + + b.Property("BirthDate") + .HasColumnType("datetimeoffset"); + + b.Property("Chiped") + .HasColumnType("bit"); + + b.Property("Comment") + .HasColumnType("nvarchar(max)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("DogRaceId") + .HasColumnType("nvarchar(max)"); + + b.Property("DogRaceName") + .HasColumnType("nvarchar(max)"); + + b.Property("Eating") + .HasColumnType("bit"); + + b.Property("FeedingIndividual") + .HasColumnType("nvarchar(max)"); + + b.Property("FeedingTimes") + .HasColumnType("int"); + + b.Property("HouseTrained") + .HasColumnType("bit"); + + b.Property("Hunter") + .HasColumnType("bit"); + + b.Property("Id") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .HasColumnType("bigint"); + + b.Property("Intolerances") + .HasColumnType("nvarchar(max)"); + + b.Property("IsAggressiv") + .HasColumnType("bit"); + + b.Property("IsCalm") + .HasColumnType("bit"); + + b.Property("IsGuard") + .HasColumnType("bit"); + + b.Property("IsLoneGunner") + .HasColumnType("bit"); + + b.Property("IsPeeing") + .HasColumnType("bit"); + + b.Property("IsShy") + .HasColumnType("bit"); + + b.Property("IsTrustful") + .HasColumnType("bit"); + + b.Property("Jumper") + .HasColumnType("bit"); + + b.Property("LikesAdults") + .HasColumnType("bit"); + + b.Property("LikesChildren") + .HasColumnType("bit"); + + b.Property("LikesConspecifics") + .HasColumnType("bit"); + + b.Property("MedicalInfo") + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .HasColumnType("nvarchar(max)"); + + b.Property("Number") + .HasColumnType("nvarchar(max)"); + + b.Property("Photo") + .HasColumnType("nvarchar(max)"); + + b.Property("PullsTheLeash") + .HasColumnType("bit"); + + b.Property("RatingStatistics_AverageRating") + .HasColumnType("decimal(18,2)"); + + b.Property("RatingStatistics_TotalPoints") + .HasColumnType("decimal(18,2)"); + + b.Property("RatingStatistics_TotalRatings") + .HasColumnType("int"); + + b.Property("RushesOutside") + .HasColumnType("bit"); + + b.Property("Sex") + .HasColumnType("int"); + + b.Property("Size") + .HasColumnType("int"); + + b.Property("Sterilized") + .HasColumnType("bit"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .HasColumnType("varbinary(max)"); + + b.Property("WalksTheLeash") + .HasColumnType("bit"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Dogs.WalkingTime", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Day") + .HasColumnType("int"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("DogWalkerId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Enabled") + .HasColumnType("bit"); + + b.Property("End") + .HasColumnType("time"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("Start") + .HasColumnType("time"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.HasKey("Id"); + + b.ToTable("WalkingTimes"); + }); + + modelBuilder.Entity("gehGassi.Domain.Favourites.Favourite", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("AppUserId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("Key") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Table") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.HasKey("Id"); + + b.HasIndex("Index"); + + b.ToTable("Favourites"); + }); + + modelBuilder.Entity("gehGassi.Domain.Feedback.AppFeedback", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AppMode") + .HasColumnType("int"); + + b.Property("AppUserId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("AppVersion") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Country") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("DeviceIdiom") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("DeviceInfoAllowed") + .HasColumnType("bit"); + + b.Property("DeviceManufacturer") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("DeviceModel") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("DevicePlatform") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("DeviceType") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("DeviceVersion") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FeedbackType") + .HasColumnType("int"); + + b.Property("Language") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("Message") + .IsRequired() + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("Name") + .HasMaxLength(350) + .HasColumnType("nvarchar(350)"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.HasKey("Id"); + + b.ToTable("AppFeedbacks"); + }); + + modelBuilder.Entity("gehGassi.Domain.Messages.Conversation", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("LastMessage") + .HasColumnType("datetimeoffset"); + + b.Property("MessageCount") + .HasColumnType("int"); + + b.Property("ReceiverId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("SenderId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.HasKey("Id"); + + b.HasIndex("Index"); + + b.ToTable("Conversations"); + }); + + modelBuilder.Entity("gehGassi.Domain.Messages.ConversationWithNames", b => + { + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Id") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .HasColumnType("bigint"); + + b.Property("LastMessage") + .HasColumnType("datetimeoffset"); + + b.Property("MessageCount") + .HasColumnType("int"); + + b.Property("ReceiverBlocked") + .HasColumnType("bit"); + + b.Property("ReceiverFirstName") + .HasColumnType("nvarchar(max)"); + + b.Property("ReceiverId") + .HasColumnType("nvarchar(max)"); + + b.Property("ReceiverLastName") + .HasColumnType("nvarchar(max)"); + + b.Property("ReceiverLocked") + .HasColumnType("bit"); + + b.Property("ReceiverName") + .HasColumnType("nvarchar(max)"); + + b.Property("ReceiverPhoto") + .HasColumnType("nvarchar(max)"); + + b.Property("ReceiverType") + .HasColumnType("int"); + + b.Property("SenderBlocked") + .HasColumnType("bit"); + + b.Property("SenderFirstName") + .HasColumnType("nvarchar(max)"); + + b.Property("SenderId") + .HasColumnType("nvarchar(max)"); + + b.Property("SenderLastName") + .HasColumnType("nvarchar(max)"); + + b.Property("SenderLocked") + .HasColumnType("bit"); + + b.Property("SenderName") + .HasColumnType("nvarchar(max)"); + + b.Property("SenderPhoto") + .HasColumnType("nvarchar(max)"); + + b.Property("SenderType") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .HasColumnType("varbinary(max)"); + + b.ToTable((string)null); + + b.ToView("vw_ConversationsWithNames", (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Messages.ConversationWithTarget", b => + { + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Id") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .HasColumnType("bigint"); + + b.Property("LastMessage") + .HasColumnType("datetimeoffset"); + + b.Property("MessageCount") + .HasColumnType("int"); + + b.Property("ReceiverId") + .HasColumnType("nvarchar(max)"); + + b.Property("ReceiverType") + .HasColumnType("int"); + + b.Property("SenderId") + .HasColumnType("nvarchar(max)"); + + b.Property("SenderType") + .HasColumnType("int"); + + b.Property("TargetName") + .HasColumnType("nvarchar(max)"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .HasColumnType("varbinary(max)"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Messages.Message", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Content") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("ConversationId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("ReceiverId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("SenderId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.HasKey("Id"); + + b.HasIndex("ConversationId"); + + b.HasIndex("Index"); + + b.ToTable("Messages"); + }); + + modelBuilder.Entity("gehGassi.Domain.Messages.MessageCopy", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Content") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("ConversationId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("Read") + .HasColumnType("bit"); + + b.Property("ReadDate") + .HasColumnType("datetimeoffset"); + + b.Property("ReceiverId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("SenderId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.HasKey("Id"); + + b.HasIndex("ConversationId"); + + b.HasIndex("Index"); + + b.ToTable("MessageCopies"); + }); + + modelBuilder.Entity("gehGassi.Domain.Messages.SystemMessage", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("AppUserId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("AppUserType") + .HasColumnType("int"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Expires") + .HasColumnType("datetimeoffset"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("Key") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Message") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("Read") + .HasColumnType("bit"); + + b.Property("ReadDate") + .HasColumnType("datetimeoffset"); + + b.Property("Table") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Type") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.HasKey("Id"); + + b.HasIndex("Index"); + + b.ToTable("SystemMessages"); + }); + + modelBuilder.Entity("gehGassi.Domain.Messages.SystemMessageToSend", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AppUserCount") + .HasColumnType("int"); + + b.Property("AppUserType") + .HasColumnType("int"); + + b.Property("City") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Country") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("CreatedBy") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("HasBeenSent") + .HasColumnType("bit"); + + b.Property("Message") + .IsRequired() + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("SendPushNotification") + .HasColumnType("bit"); + + b.Property("SentBy") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("SentCount") + .HasColumnType("int"); + + b.Property("SentDate") + .HasColumnType("datetimeoffset"); + + b.Property("Sex") + .HasColumnType("int"); + + b.Property("State") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("ToSendDate") + .HasColumnType("datetimeoffset"); + + b.Property("VerifiedOnly") + .HasColumnType("bit"); + + b.Property("Zip") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.HasKey("Id"); + + b.ToTable("SystemMessagesToSend"); + }); + + modelBuilder.Entity("gehGassi.Domain.News.News", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("CategoryId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Content") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("CountryCode") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Creator") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("End") + .HasColumnType("datetimeoffset"); + + b.Property("GeoMode") + .HasColumnType("int"); + + b.Property("Headline") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Image") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("IsExternal") + .HasColumnType("bit"); + + b.Property("Language") + .IsRequired() + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("Location") + .HasColumnType("geography"); + + b.Property("Radius") + .HasColumnType("float"); + + b.Property("Source") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Start") + .HasColumnType("datetimeoffset"); + + b.Property("State") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Visibility") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("CategoryId"); + + b.ToTable("News"); + }); + + modelBuilder.Entity("gehGassi.Domain.News.NewsCategory", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Comment") + .HasColumnType("nvarchar(max)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("DescriptionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Image") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("ImageLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("OnlineStatus") + .HasColumnType("int"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.HasKey("Id"); + + b.HasIndex("Index"); + + b.ToTable("NewsCategories"); + }); + + modelBuilder.Entity("gehGassi.Domain.News.NewsCategoryWithNames", b => + { + b.Property("Comment") + .HasColumnType("nvarchar(max)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("DescriptionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Id") + .HasColumnType("nvarchar(max)"); + + b.Property("Image") + .HasColumnType("nvarchar(max)"); + + b.Property("ImageLanguage") + .HasColumnType("nvarchar(max)"); + + b.Property("ImageLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .HasColumnType("bigint"); + + b.Property("Name") + .HasColumnType("nvarchar(max)"); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("OnlineStatus") + .HasColumnType("int"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .HasColumnType("varbinary(max)"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.News.NewsWithNames", b => + { + b.Property("CategoryId") + .HasColumnType("nvarchar(max)"); + + b.Property("CategoryName") + .HasColumnType("nvarchar(max)"); + + b.Property("Content") + .HasColumnType("nvarchar(max)"); + + b.Property("CountryCode") + .HasColumnType("nvarchar(max)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Creator") + .HasColumnType("nvarchar(max)"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("End") + .HasColumnType("datetimeoffset"); + + b.Property("GeoMode") + .HasColumnType("int"); + + b.Property("Headline") + .HasColumnType("nvarchar(max)"); + + b.Property("Id") + .HasColumnType("bigint"); + + b.Property("Image") + .HasColumnType("nvarchar(max)"); + + b.Property("IsExternal") + .HasColumnType("bit"); + + b.Property("Language") + .HasColumnType("nvarchar(max)"); + + b.Property("Location") + .HasColumnType("geography"); + + b.Property("Radius") + .HasColumnType("float"); + + b.Property("Source") + .HasColumnType("nvarchar(max)"); + + b.Property("Start") + .HasColumnType("datetimeoffset"); + + b.Property("State") + .HasColumnType("nvarchar(max)"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Visibility") + .HasColumnType("int"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Pages.Faq", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("AnswerLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("OnlineStatus") + .HasColumnType("int"); + + b.Property("Order") + .HasColumnType("int"); + + b.Property("QuestionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Type") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.HasKey("Id"); + + b.ToTable("Faqs"); + }); + + modelBuilder.Entity("gehGassi.Domain.Pages.FaqWithNames", b => + { + b.Property("Answer") + .HasColumnType("nvarchar(max)"); + + b.Property("AnswerLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Id") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .HasColumnType("bigint"); + + b.Property("OnlineStatus") + .HasColumnType("int"); + + b.Property("Order") + .HasColumnType("int"); + + b.Property("Question") + .HasColumnType("nvarchar(max)"); + + b.Property("QuestionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("Type") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .HasColumnType("varbinary(max)"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Pages.Page", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Code") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("ContentLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("Id"); + + b.ToTable("Pages"); + }); + + modelBuilder.Entity("gehGassi.Domain.Pages.PageWithNames", b => + { + b.Property("Code") + .HasColumnType("nvarchar(max)"); + + b.Property("Content") + .HasColumnType("nvarchar(max)"); + + b.Property("ContentLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Id") + .HasColumnType("int"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Payment.Card", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Active") + .HasColumnType("bit"); + + b.Property("AppUserId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("CardNumber") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CardProvider") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Currency") + .IsRequired() + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("ExpirationMonth") + .HasColumnType("int"); + + b.Property("ExpirationYear") + .HasColumnType("int"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("MangoPayId") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("MangoPayUserId") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Type") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Validity") + .HasColumnType("int"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.HasKey("Id"); + + b.HasIndex("AppUserId"); + + b.HasIndex("Index"); + + b.ToTable("Cards"); + }); + + modelBuilder.Entity("gehGassi.Domain.Payment.GehGassiFee", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Fixed") + .HasColumnType("decimal(18,2)"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("Percent") + .HasColumnType("decimal(18,2)"); + + b.Property("StartAmmount") + .HasColumnType("decimal(18,2)"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.HasKey("Id"); + + b.ToTable("GehGassiFees"); + }); + + modelBuilder.Entity("gehGassi.Domain.Payment.IdentityDocument", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("AppUserId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("FlagsValue") + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("MangoPayId") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("MangoPayUserId") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("PageCount") + .HasColumnType("int"); + + b.Property("Processed") + .HasColumnType("datetimeoffset"); + + b.Property("RefusedReasonMessage") + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("RefusedReasonType") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Source") + .HasColumnType("int"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Type") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.HasKey("Id"); + + b.HasIndex("AppUserId"); + + b.HasIndex("Index"); + + b.ToTable("IdentityDocuments"); + }); + + modelBuilder.Entity("gehGassi.Domain.Payment.PaymentTransaction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Ammount") + .HasColumnType("bigint"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Currency") + .IsRequired() + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("ErrorMessage") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("ErrorMessages") + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("ErrorType") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("FromCredit") + .HasColumnType("bigint"); + + b.Property("PayInType") + .HasColumnType("int"); + + b.Property("SourceAppUserId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("SourceWalletId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("TargetAppUserId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("TargetWalletId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("TransactionId") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Type") + .HasColumnType("int"); + + b.Property("WalkId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.HasKey("Id"); + + b.ToTable("PaymentTransactions"); + }); + + modelBuilder.Entity("gehGassi.Domain.Payment.Payout", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Ammount") + .HasColumnType("bigint"); + + b.Property("AppUserId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Bic") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Currency") + .IsRequired() + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("ExecutionDate") + .HasColumnType("datetimeoffset"); + + b.Property("Iban") + .IsRequired() + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("MangoPayBankId") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("MangoPayId") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("MangoPayUserId") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("MangoPayWalletId") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("RefundReasonMessage") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("RefundReasonType") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Refunded") + .HasColumnType("bit"); + + b.Property("ResultCode") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("ResultMessage") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.Property("WalletId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.HasKey("Id"); + + b.HasIndex("AppUserId"); + + b.HasIndex("Index"); + + b.ToTable("Payouts"); + }); + + modelBuilder.Entity("gehGassi.Domain.Payment.TransactionFee", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Fixed") + .HasColumnType("decimal(18,2)"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("PayInType") + .HasColumnType("int"); + + b.Property("Percent") + .HasColumnType("decimal(18,2)"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.HasKey("Id"); + + b.ToTable("TransactionFees"); + }); + + modelBuilder.Entity("gehGassi.Domain.Payment.Wallet", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("AppUserId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Balance") + .HasColumnType("bigint"); + + b.Property("Currency") + .IsRequired() + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Description") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("OwnerId") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Type") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.Property("WalletId") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.HasKey("Id"); + + b.ToTable("Wallets"); + }); + + modelBuilder.Entity("gehGassi.Domain.Ratings.Rating", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("FromId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("FromType") + .HasColumnType("int"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("Info") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("Points") + .HasColumnType("decimal(18,2)"); + + b.Property("TargetId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("TargetType") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.HasKey("Id"); + + b.HasIndex("Index"); + + b.ToTable("Ratings"); + }); + + modelBuilder.Entity("gehGassi.Domain.Ratings.RatingWithNames", b => + { + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("FromId") + .HasColumnType("nvarchar(max)"); + + b.Property("FromName") + .HasColumnType("nvarchar(max)"); + + b.Property("FromPhoto") + .HasColumnType("nvarchar(max)"); + + b.Property("FromType") + .HasColumnType("int"); + + b.Property("Id") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .HasColumnType("bigint"); + + b.Property("Info") + .HasColumnType("nvarchar(max)"); + + b.Property("Points") + .HasColumnType("decimal(18,2)"); + + b.Property("TargetId") + .HasColumnType("nvarchar(max)"); + + b.Property("TargetName") + .HasColumnType("nvarchar(max)"); + + b.Property("TargetPhoto") + .HasColumnType("nvarchar(max)"); + + b.Property("TargetType") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .HasColumnType("varbinary(max)"); + + b.ToTable((string)null); + + b.ToView("vw_RatingsWithNames", (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Ratings.RatingWithNamesEx", b => + { + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("FromBlocked") + .HasColumnType("bit"); + + b.Property("FromId") + .HasColumnType("nvarchar(max)"); + + b.Property("FromLocked") + .HasColumnType("bit"); + + b.Property("FromName") + .HasColumnType("nvarchar(max)"); + + b.Property("FromPhoto") + .HasColumnType("nvarchar(max)"); + + b.Property("FromType") + .HasColumnType("int"); + + b.Property("Id") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .HasColumnType("bigint"); + + b.Property("Info") + .HasColumnType("nvarchar(max)"); + + b.Property("Points") + .HasColumnType("decimal(18,2)"); + + b.Property("TargetId") + .HasColumnType("nvarchar(max)"); + + b.Property("TargetName") + .HasColumnType("nvarchar(max)"); + + b.Property("TargetPhoto") + .HasColumnType("nvarchar(max)"); + + b.Property("TargetType") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .HasColumnType("varbinary(max)"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Reporting.AppUserReport", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("BlockType") + .HasColumnType("int"); + + b.Property("Comment") + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("ContactAllowed") + .HasColumnType("bit"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("CreatedBy") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("InternalComment") + .HasColumnType("nvarchar(max)"); + + b.Property("Message") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("ReportedAddress") + .HasColumnType("bit"); + + b.Property("ReportedAppUserId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ReportedImage") + .HasColumnType("bit"); + + b.Property("ReportedMessage") + .HasColumnType("bit"); + + b.Property("ReportedName") + .HasColumnType("bit"); + + b.Property("ReportedText") + .HasColumnType("bit"); + + b.Property("ReportingAppUserId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Section") + .HasColumnType("int"); + + b.Property("SectionId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("SectionId2") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Type") + .HasColumnType("int"); + + b.Property("Updated") + .HasColumnType("datetimeoffset"); + + b.Property("UpdatedBy") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.HasKey("Id"); + + b.ToTable("AppUserReports"); + }); + + modelBuilder.Entity("gehGassi.Domain.Reporting.AppUserReportWithNames", b => + { + b.Property("BlockType") + .HasColumnType("int"); + + b.Property("Comment") + .HasColumnType("nvarchar(max)"); + + b.Property("ContactAllowed") + .HasColumnType("bit"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("CreatedBy") + .HasColumnType("nvarchar(max)"); + + b.Property("Email") + .HasColumnType("nvarchar(max)"); + + b.Property("Id") + .HasColumnType("bigint"); + + b.Property("InternalComment") + .HasColumnType("nvarchar(max)"); + + b.Property("Message") + .HasColumnType("nvarchar(max)"); + + b.Property("ReportedAddress") + .HasColumnType("bit"); + + b.Property("ReportedAppUserEmail") + .HasColumnType("nvarchar(max)"); + + b.Property("ReportedAppUserId") + .HasColumnType("nvarchar(max)"); + + b.Property("ReportedAppUserName") + .HasColumnType("nvarchar(max)"); + + b.Property("ReportedAppUserType") + .HasColumnType("int"); + + b.Property("ReportedImage") + .HasColumnType("bit"); + + b.Property("ReportedMessage") + .HasColumnType("bit"); + + b.Property("ReportedName") + .HasColumnType("bit"); + + b.Property("ReportedText") + .HasColumnType("bit"); + + b.Property("ReportingAppUserEmail") + .HasColumnType("nvarchar(max)"); + + b.Property("ReportingAppUserId") + .HasColumnType("nvarchar(max)"); + + b.Property("ReportingAppUserName") + .HasColumnType("nvarchar(max)"); + + b.Property("ReportingAppUserType") + .HasColumnType("int"); + + b.Property("Section") + .HasColumnType("int"); + + b.Property("SectionId") + .HasColumnType("nvarchar(max)"); + + b.Property("SectionId2") + .HasColumnType("nvarchar(max)"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Type") + .HasColumnType("int"); + + b.Property("Updated") + .HasColumnType("datetimeoffset"); + + b.Property("UpdatedBy") + .HasColumnType("nvarchar(max)"); + + b.ToTable((string)null); + + b.ToView("vw_AppUserReportsWithNames", (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Roles.ApplicationRole", b => + { + b.Property("Id") + .HasColumnType("nvarchar(450)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("NormalizedName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("Permissions") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedName") + .IsUnique() + .HasDatabaseName("RoleNameIndex") + .HasFilter("[NormalizedName] IS NOT NULL"); + + b.ToTable("AspNetRoles", (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.Cart", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AppUserId") + .HasColumnType("nvarchar(128)"); + + b.Property("BillingCountryCode") + .IsRequired() + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("CustomerId") + .HasColumnType("bigint"); + + b.Property("DeliveryCountryCode") + .IsRequired() + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("LastUpdate") + .HasColumnType("datetimeoffset"); + + b.Property("OrderSource") + .HasColumnType("int"); + + b.Property("Shipment") + .HasColumnType("decimal(18,2)"); + + b.Property("ShipmentGross") + .HasColumnType("decimal(18,2)"); + + b.Property("TaxRatesJson") + .HasColumnType("nvarchar(max)"); + + b.Property("Total") + .HasColumnType("decimal(18,2)"); + + b.Property("TotalGross") + .HasColumnType("decimal(18,2)"); + + b.HasKey("Id"); + + b.HasIndex("AppUserId"); + + b.HasIndex("CustomerId"); + + b.ToTable("Carts"); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.CartItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("CartId") + .HasColumnType("bigint"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("ItemId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("LastUpdate") + .HasColumnType("datetimeoffset"); + + b.Property("Price") + .HasColumnType("decimal(18,4)"); + + b.Property("Price2") + .HasColumnType("decimal(18,4)"); + + b.Property("Price2Gross") + .HasColumnType("decimal(18,2)"); + + b.Property("PriceGross") + .HasColumnType("decimal(18,2)"); + + b.Property("ProductId") + .HasColumnType("int"); + + b.Property("ProductType") + .HasColumnType("int"); + + b.Property("Quantity") + .HasColumnType("int"); + + b.Property("TaxRate") + .HasColumnType("decimal(18,2)"); + + b.Property("TaxRateValue") + .HasColumnType("decimal(18,2)"); + + b.Property("Total") + .HasColumnType("decimal(18,2)"); + + b.Property("TotalGross") + .HasColumnType("decimal(18,2)"); + + b.HasKey("Id"); + + b.HasIndex("CartId"); + + b.HasIndex("ProductId"); + + b.ToTable("CartItems"); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.CartItemWithNames", b => + { + b.Property("CartId") + .HasColumnType("bigint"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Id") + .HasColumnType("bigint"); + + b.Property("LastUpdate") + .HasColumnType("datetimeoffset"); + + b.Property("OrderMaximumQuantity") + .HasColumnType("int"); + + b.Property("OrderMinimumQuantity") + .HasColumnType("int"); + + b.Property("Price") + .HasColumnType("decimal(18,4)"); + + b.Property("Price2") + .HasColumnType("decimal(18,4)"); + + b.Property("Price2Gross") + .HasColumnType("decimal(18,2)"); + + b.Property("PriceGross") + .HasColumnType("decimal(18,2)"); + + b.Property("ProductId") + .HasColumnType("int"); + + b.Property("ProductImage") + .HasColumnType("nvarchar(max)"); + + b.Property("ProductName") + .HasColumnType("nvarchar(max)"); + + b.Property("ProductSku") + .HasColumnType("nvarchar(max)"); + + b.Property("ProductType") + .HasColumnType("int"); + + b.Property("Quantity") + .HasColumnType("int"); + + b.Property("TaxRate") + .HasColumnType("decimal(18,2)"); + + b.Property("TaxRateValue") + .HasColumnType("decimal(18,2)"); + + b.Property("Total") + .HasColumnType("decimal(18,2)"); + + b.Property("TotalGross") + .HasColumnType("decimal(18,2)"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.CartWithNames", b => + { + b.Property("AppUserId") + .HasColumnType("nvarchar(max)"); + + b.Property("AppUserName") + .HasColumnType("nvarchar(max)"); + + b.Property("BillingCountryCode") + .HasColumnType("nvarchar(max)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("CustomerId") + .HasColumnType("bigint"); + + b.Property("CustomerName") + .HasColumnType("nvarchar(max)"); + + b.Property("DeliveryCountryCode") + .HasColumnType("nvarchar(max)"); + + b.Property("Id") + .HasColumnType("bigint"); + + b.Property("ItemCount") + .HasColumnType("int"); + + b.Property("LastUpdate") + .HasColumnType("datetimeoffset"); + + b.Property("OrderSource") + .HasColumnType("int"); + + b.Property("Shipment") + .HasColumnType("decimal(18,2)"); + + b.Property("ShipmentGross") + .HasColumnType("decimal(18,2)"); + + b.Property("TaxRatesJson") + .HasColumnType("nvarchar(max)"); + + b.Property("Total") + .HasColumnType("decimal(18,2)"); + + b.Property("TotalGross") + .HasColumnType("decimal(18,2)"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.CreditNote", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Counter") + .HasColumnType("bigint"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("InvoiceNumber") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Number") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("OrderId") + .HasColumnType("bigint"); + + b.Property("Reason") + .HasColumnType("nvarchar(max)"); + + b.Property("UniqueId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("OrderId"); + + b.ToTable("CreditNotes"); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.DeliveryNote", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Counter") + .HasColumnType("bigint"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("InvoiceNumber") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Number") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("OrderId") + .HasColumnType("bigint"); + + b.Property("Reason") + .HasColumnType("nvarchar(max)"); + + b.Property("UniqueId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("OrderId"); + + b.ToTable("DeliveryNotes"); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.Invoice", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("CancellationDate") + .HasColumnType("datetimeoffset"); + + b.Property("CancellationReason") + .HasColumnType("nvarchar(max)"); + + b.Property("Cancelled") + .HasColumnType("bit"); + + b.Property("Counter") + .HasColumnType("bigint"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("CreditNoteCreated") + .HasColumnType("bit"); + + b.Property("CreditNoteDate") + .HasColumnType("datetimeoffset"); + + b.Property("Number") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("OrderId") + .HasColumnType("bigint"); + + b.Property("UniqueId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("OrderId"); + + b.ToTable("Invoices"); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.Order", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AcceptGdprDate") + .HasColumnType("datetimeoffset"); + + b.Property("AcceptTermsAndConditionsDate") + .HasColumnType("datetimeoffset"); + + b.Property("AppUserCompany") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("AppUserId") + .HasColumnType("nvarchar(max)"); + + b.Property("AppUserName") + .HasMaxLength(250) + .HasColumnType("nvarchar(250)"); + + b.Property("Comment") + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("Counter") + .HasColumnType("bigint"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("CustomerId") + .HasColumnType("bigint"); + + b.Property("CustomerName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("DeliveryAddressIsBilling") + .HasColumnType("bit"); + + b.Property("KlarnaOrderId") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("KlarnaShipmentError") + .HasColumnType("bit"); + + b.Property("KlarnaShipmentSentDate") + .HasColumnType("datetimeoffset"); + + b.Property("LastUpdate") + .HasColumnType("datetimeoffset"); + + b.Property("Number") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("OrderSource") + .HasColumnType("int"); + + b.Property("OrderStatus") + .HasColumnType("int"); + + b.Property("PayPalOrderId") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("PaymentDate") + .HasColumnType("datetimeoffset"); + + b.Property("PaymentInfo") + .HasColumnType("nvarchar(max)"); + + b.Property("PaymentStatus") + .HasColumnType("int"); + + b.Property("PaymentType") + .HasColumnType("int"); + + b.Property("Shipment") + .HasColumnType("decimal(18,2)"); + + b.Property("ShipmentDate") + .HasColumnType("datetimeoffset"); + + b.Property("ShipmentGross") + .HasColumnType("decimal(18,2)"); + + b.Property("ShipmentStatus") + .HasColumnType("int"); + + b.Property("ShipmentType") + .HasColumnType("int"); + + b.Property("Subtotal") + .HasColumnType("decimal(18,2)"); + + b.Property("SubtotalGross") + .HasColumnType("decimal(18,2)"); + + b.Property("TaxRatesJson") + .HasColumnType("nvarchar(max)"); + + b.Property("Total") + .HasColumnType("decimal(18,2)"); + + b.Property("TotalGross") + .HasColumnType("decimal(18,2)"); + + b.Property("UniqueId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.ToTable("Orders"); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.OrderItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AdditionalShippingCharge") + .HasColumnType("decimal(18,2)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Height") + .HasColumnType("decimal(18,2)"); + + b.Property("IsFreeShipping") + .HasColumnType("bit"); + + b.Property("IsShipEnabled") + .HasColumnType("bit"); + + b.Property("IsTaxExempt") + .HasColumnType("bit"); + + b.Property("ItemId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("LastUpdate") + .HasColumnType("datetimeoffset"); + + b.Property("Length") + .HasColumnType("decimal(18,2)"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("NameDefault") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("OrderId") + .HasColumnType("bigint"); + + b.Property("Price") + .HasColumnType("decimal(18,4)"); + + b.Property("Price2") + .HasColumnType("decimal(18,4)"); + + b.Property("Price2Gross") + .HasColumnType("decimal(18,2)"); + + b.Property("PriceGross") + .HasColumnType("decimal(18,2)"); + + b.Property("ProductCategoryId") + .HasColumnType("int"); + + b.Property("ProductId") + .HasColumnType("int"); + + b.Property("ProductType") + .HasColumnType("int"); + + b.Property("Quantity") + .HasColumnType("int"); + + b.Property("Sku") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxRateId") + .HasColumnType("int"); + + b.Property("Total") + .HasColumnType("decimal(18,2)"); + + b.Property("TotalGross") + .HasColumnType("decimal(18,2)"); + + b.Property("Weight") + .HasColumnType("decimal(18,2)"); + + b.Property("Width") + .HasColumnType("decimal(18,2)"); + + b.HasKey("Id"); + + b.HasIndex("OrderId"); + + b.HasIndex("ProductCategoryId"); + + b.HasIndex("ProductId"); + + b.HasIndex("TaxRateId"); + + b.ToTable("OrderItems"); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.OrderPhysical", b => + { + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Id") + .HasColumnType("bigint"); + + b.Property("KlarnaOrderId") + .HasColumnType("nvarchar(max)"); + + b.Property("KlarnaShipmentError") + .HasColumnType("bit"); + + b.Property("KlarnaShipmentSentDate") + .HasColumnType("datetimeoffset"); + + b.Property("OrderStatus") + .HasColumnType("int"); + + b.Property("PayPalOrderId") + .HasColumnType("nvarchar(max)"); + + b.Property("PaymentDate") + .HasColumnType("datetimeoffset"); + + b.Property("PaymentInfo") + .HasColumnType("nvarchar(max)"); + + b.Property("PaymentStatus") + .HasColumnType("int"); + + b.Property("PaymentType") + .HasColumnType("int"); + + b.Property("PhysicalCount") + .HasColumnType("int"); + + b.Property("ShipmentDate") + .HasColumnType("datetimeoffset"); + + b.Property("ShipmentStatus") + .HasColumnType("int"); + + b.Property("ShipmentType") + .HasColumnType("int"); + + b.Property("UniqueId") + .HasColumnType("uniqueidentifier"); + + b.ToTable((string)null); + + b.ToView("vw_OrdersPhysical", (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.Product", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AdditionalShippingCharge") + .HasColumnType("decimal(18,4)"); + + b.Property("AdvertisementCategoryId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("BannerLocation") + .HasColumnType("int"); + + b.Property("BannerSize") + .HasColumnType("int"); + + b.Property("BranchId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Comment") + .HasColumnType("nvarchar(max)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("DescriptionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("DisplayOrder") + .HasColumnType("int"); + + b.Property("DisplayStockAvailability") + .HasColumnType("bit"); + + b.Property("DisplayStockQuantity") + .HasColumnType("bit"); + + b.Property("DownloadId") + .HasColumnType("int"); + + b.Property("Height") + .HasColumnType("decimal(18,2)"); + + b.Property("Image") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("ImageLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("IsFreeShipping") + .HasColumnType("bit"); + + b.Property("IsShipEnabled") + .HasColumnType("bit"); + + b.Property("IsTaxExempt") + .HasColumnType("bit"); + + b.Property("Length") + .HasColumnType("decimal(18,2)"); + + b.Property("ListingType") + .HasColumnType("int"); + + b.Property("ManufacturerPartNumber") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("NotifyAdminForQuantityBelow") + .HasColumnType("int"); + + b.Property("OldPrice") + .HasColumnType("decimal(18,4)"); + + b.Property("OldPrice2") + .HasColumnType("decimal(18,4)"); + + b.Property("OrderMaximumQuantity") + .HasColumnType("int"); + + b.Property("OrderMinimumQuantity") + .HasColumnType("int"); + + b.Property("PinPercentPerKm") + .HasColumnType("decimal(18,2)"); + + b.Property("PinRadius") + .HasColumnType("float"); + + b.Property("Price") + .HasColumnType("decimal(18,4)"); + + b.Property("Price2") + .HasColumnType("decimal(18,4)"); + + b.Property("PriceAliquotType") + .HasColumnType("int"); + + b.Property("PriceType") + .HasColumnType("int"); + + b.Property("ProductCategoryId") + .HasColumnType("int"); + + b.Property("ProductStartType") + .HasColumnType("int"); + + b.Property("ProductType") + .HasColumnType("int"); + + b.Property("ShortDescriptionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Sku") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("StockQuantity") + .HasColumnType("int"); + + b.Property("TaxRateId") + .HasColumnType("int"); + + b.Property("Visibility") + .HasColumnType("int"); + + b.Property("Weight") + .HasColumnType("decimal(18,2)"); + + b.Property("Width") + .HasColumnType("decimal(18,2)"); + + b.HasKey("Id"); + + b.HasIndex("ProductCategoryId"); + + b.HasIndex("TaxRateId"); + + b.ToTable("Products"); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.ProductCategory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Comment") + .HasColumnType("nvarchar(max)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("DescriptionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("DisplayOrder") + .HasColumnType("int"); + + b.Property("Image") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("ImageLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("ParentId") + .HasColumnType("int"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Visibility") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("ProductCategories"); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.ProductCategoryWithNames", b => + { + b.Property("Comment") + .HasColumnType("nvarchar(max)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("DescriptionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("DisplayOrder") + .HasColumnType("int"); + + b.Property("Id") + .HasColumnType("int"); + + b.Property("Image") + .HasColumnType("nvarchar(max)"); + + b.Property("ImageLanguage") + .HasColumnType("nvarchar(max)"); + + b.Property("ImageLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .HasColumnType("nvarchar(max)"); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("ParentId") + .HasColumnType("int"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("Visibility") + .HasColumnType("int"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.ProductCountry", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("CountryIso") + .IsRequired() + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("NotAvailable") + .HasColumnType("bit"); + + b.Property("OldPrice") + .HasColumnType("decimal(18,4)"); + + b.Property("OldPrice2") + .HasColumnType("decimal(18,4)"); + + b.Property("Price") + .HasColumnType("decimal(18,4)"); + + b.Property("Price2") + .HasColumnType("decimal(18,4)"); + + b.Property("ProductId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("ProductId"); + + b.ToTable("ProductCountries"); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.ProductWithNames", b => + { + b.Property("AdditionalShippingCharge") + .HasColumnType("decimal(18,4)"); + + b.Property("AdvertisementCategoryId") + .HasColumnType("nvarchar(max)"); + + b.Property("AdvertisementCategoryName") + .HasColumnType("nvarchar(max)"); + + b.Property("BannerLocation") + .HasColumnType("int"); + + b.Property("BannerSize") + .HasColumnType("int"); + + b.Property("BranchId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("BranchName") + .HasColumnType("nvarchar(max)"); + + b.Property("Comment") + .HasColumnType("nvarchar(max)"); + + b.Property("CountrySettingsCount") + .HasColumnType("int"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("DescriptionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("DisplayOrder") + .HasColumnType("int"); + + b.Property("DisplayStockAvailability") + .HasColumnType("bit"); + + b.Property("DisplayStockQuantity") + .HasColumnType("bit"); + + b.Property("DownloadId") + .HasColumnType("int"); + + b.Property("Height") + .HasColumnType("decimal(18,2)"); + + b.Property("Id") + .HasColumnType("int"); + + b.Property("Image") + .HasColumnType("nvarchar(max)"); + + b.Property("ImageLanguage") + .HasColumnType("nvarchar(max)"); + + b.Property("ImageLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("IsFreeShipping") + .HasColumnType("bit"); + + b.Property("IsShipEnabled") + .HasColumnType("bit"); + + b.Property("IsTaxExempt") + .HasColumnType("bit"); + + b.Property("Length") + .HasColumnType("decimal(18,2)"); + + b.Property("ListingType") + .HasColumnType("int"); + + b.Property("ManufacturerPartNumber") + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .HasColumnType("nvarchar(max)"); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("NotifyAdminForQuantityBelow") + .HasColumnType("int"); + + b.Property("OldPrice") + .HasColumnType("decimal(18,4)"); + + b.Property("OldPrice2") + .HasColumnType("decimal(18,4)"); + + b.Property("OrderMaximumQuantity") + .HasColumnType("int"); + + b.Property("OrderMinimumQuantity") + .HasColumnType("int"); + + b.Property("PinPercentPerKm") + .HasColumnType("decimal(18,2)"); + + b.Property("PinRadius") + .HasColumnType("float"); + + b.Property("Price") + .HasColumnType("decimal(18,4)"); + + b.Property("Price2") + .HasColumnType("decimal(18,4)"); + + b.Property("PriceAliquotType") + .HasColumnType("int"); + + b.Property("PriceType") + .HasColumnType("int"); + + b.Property("ProductCategoryId") + .HasColumnType("int"); + + b.Property("ProductCategoryName") + .HasColumnType("nvarchar(max)"); + + b.Property("ProductStartType") + .HasColumnType("int"); + + b.Property("ProductType") + .HasColumnType("int"); + + b.Property("ShortDescription") + .HasColumnType("nvarchar(max)"); + + b.Property("ShortDescriptionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Sku") + .HasColumnType("nvarchar(max)"); + + b.Property("StockQuantity") + .HasColumnType("int"); + + b.Property("TaxRateId") + .HasColumnType("int"); + + b.Property("TaxRateName") + .HasColumnType("nvarchar(max)"); + + b.Property("Visibility") + .HasColumnType("int"); + + b.Property("Weight") + .HasColumnType("decimal(18,2)"); + + b.Property("Width") + .HasColumnType("decimal(18,2)"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.ProductWithNamesCountry", b => + { + b.Property("AdditionalShippingCharge") + .HasColumnType("decimal(18,4)"); + + b.Property("AdvertisementCategoryId") + .HasColumnType("nvarchar(max)"); + + b.Property("AdvertisementCategoryName") + .HasColumnType("nvarchar(max)"); + + b.Property("BannerLocation") + .HasColumnType("int"); + + b.Property("BannerSize") + .HasColumnType("int"); + + b.Property("BranchId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("BranchName") + .HasColumnType("nvarchar(max)"); + + b.Property("Comment") + .HasColumnType("nvarchar(max)"); + + b.Property("CountryIso") + .HasColumnType("nvarchar(max)"); + + b.Property("CountrySettingsCount") + .HasColumnType("int"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("DescriptionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("DisplayOrder") + .HasColumnType("int"); + + b.Property("DisplayStockAvailability") + .HasColumnType("bit"); + + b.Property("DisplayStockQuantity") + .HasColumnType("bit"); + + b.Property("DownloadId") + .HasColumnType("int"); + + b.Property("Height") + .HasColumnType("decimal(18,2)"); + + b.Property("Id") + .HasColumnType("int"); + + b.Property("Image") + .HasColumnType("nvarchar(max)"); + + b.Property("ImageLanguage") + .HasColumnType("nvarchar(max)"); + + b.Property("ImageLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("IsFreeShipping") + .HasColumnType("bit"); + + b.Property("IsShipEnabled") + .HasColumnType("bit"); + + b.Property("IsTaxExempt") + .HasColumnType("bit"); + + b.Property("Length") + .HasColumnType("decimal(18,2)"); + + b.Property("ListingType") + .HasColumnType("int"); + + b.Property("ManufacturerPartNumber") + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .HasColumnType("nvarchar(max)"); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("NotAvailable") + .HasColumnType("bit"); + + b.Property("NotifyAdminForQuantityBelow") + .HasColumnType("int"); + + b.Property("OldPrice") + .HasColumnType("decimal(18,4)"); + + b.Property("OldPrice2") + .HasColumnType("decimal(18,4)"); + + b.Property("OldPrice2Country") + .HasColumnType("decimal(18,4)"); + + b.Property("OldPriceCountry") + .HasColumnType("decimal(18,4)"); + + b.Property("OrderMaximumQuantity") + .HasColumnType("int"); + + b.Property("OrderMinimumQuantity") + .HasColumnType("int"); + + b.Property("PinPercentPerKm") + .HasColumnType("decimal(18,2)"); + + b.Property("PinRadius") + .HasColumnType("float"); + + b.Property("Price") + .HasColumnType("decimal(18,4)"); + + b.Property("Price2") + .HasColumnType("decimal(18,4)"); + + b.Property("Price2Country") + .HasColumnType("decimal(18,4)"); + + b.Property("PriceAliquotType") + .HasColumnType("int"); + + b.Property("PriceCountry") + .HasColumnType("decimal(18,4)"); + + b.Property("PriceType") + .HasColumnType("int"); + + b.Property("ProductCategoryId") + .HasColumnType("int"); + + b.Property("ProductCategoryName") + .HasColumnType("nvarchar(max)"); + + b.Property("ProductStartType") + .HasColumnType("int"); + + b.Property("ProductType") + .HasColumnType("int"); + + b.Property("ShortDescription") + .HasColumnType("nvarchar(max)"); + + b.Property("ShortDescriptionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Sku") + .HasColumnType("nvarchar(max)"); + + b.Property("StockQuantity") + .HasColumnType("int"); + + b.Property("TaxRateId") + .HasColumnType("int"); + + b.Property("TaxRateName") + .HasColumnType("nvarchar(max)"); + + b.Property("Visibility") + .HasColumnType("int"); + + b.Property("Weight") + .HasColumnType("decimal(18,2)"); + + b.Property("Width") + .HasColumnType("decimal(18,2)"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.ShipmentCost", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("FixedPrice") + .HasColumnType("decimal(18,4)"); + + b.Property("SubtotalFrom") + .HasColumnType("decimal(18,2)"); + + b.Property("SubtotalPercent") + .HasColumnType("decimal(18,2)"); + + b.Property("SubtotalTo") + .HasColumnType("decimal(18,2)"); + + b.Property("TargetCountryIso") + .IsRequired() + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("WeightFrom") + .HasColumnType("decimal(18,2)"); + + b.Property("WeightTo") + .HasColumnType("decimal(18,2)"); + + b.HasKey("Id"); + + b.ToTable("ShipmentCosts"); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.ShopSettings", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("KlarnaClientId") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("KlarnaEnabled") + .HasColumnType("bit"); + + b.Property("KlarnaSecret") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("OrderEmail") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("PayPalClientId") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("PayPalEnabled") + .HasColumnType("bit"); + + b.Property("PayPalSecret") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("PaymentOnInvoice") + .HasColumnType("bit"); + + b.Property("ShipmentCalculationType") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("ShopSettings"); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.TaxRate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Comment") + .HasColumnType("nvarchar(max)"); + + b.Property("CountryIso") + .IsRequired() + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("UseForShipment") + .HasColumnType("bit"); + + b.Property("Value") + .HasColumnType("decimal(18,2)"); + + b.HasKey("Id"); + + b.ToTable("TaxRates"); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.TaxRateWithNames", b => + { + b.Property("Comment") + .HasColumnType("nvarchar(max)"); + + b.Property("CountryIso") + .HasColumnType("nvarchar(max)"); + + b.Property("Id") + .HasColumnType("int"); + + b.Property("Name") + .HasColumnType("nvarchar(max)"); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("UseForShipment") + .HasColumnType("bit"); + + b.Property("Value") + .HasColumnType("decimal(18,2)"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Subscriptions.Subscription", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("AppMode") + .HasColumnType("int"); + + b.Property("Code") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("DescriptionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Enabled") + .HasColumnType("bit"); + + b.Property("GracePeriodInDays") + .HasColumnType("int"); + + b.Property("Hidden") + .HasColumnType("bit"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("Length") + .HasColumnType("int"); + + b.Property("MaxRegisteredDate") + .HasColumnType("datetimeoffset"); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Price") + .HasColumnType("decimal(18,4)"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.HasKey("Id"); + + b.ToTable("Subscriptions"); + }); + + modelBuilder.Entity("gehGassi.Domain.Subscriptions.SubscriptionWithNames", b => + { + b.Property("AppMode") + .HasColumnType("int"); + + b.Property("Code") + .HasColumnType("nvarchar(max)"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("DescriptionLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Enabled") + .HasColumnType("bit"); + + b.Property("GracePeriodInDays") + .HasColumnType("int"); + + b.Property("Hidden") + .HasColumnType("bit"); + + b.Property("Id") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .HasColumnType("bigint"); + + b.Property("Length") + .HasColumnType("int"); + + b.Property("MaxRegisteredDate") + .HasColumnType("datetimeoffset"); + + b.Property("Name") + .HasColumnType("nvarchar(max)"); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Price") + .HasColumnType("decimal(18,4)"); + + b.Property("SubscriptionCountActive") + .HasColumnType("int"); + + b.Property("SubscriptionCountInactive") + .HasColumnType("int"); + + b.Property("SubscriptionCountTotal") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .HasColumnType("varbinary(max)"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Users.ApplicationUser", b => + { + b.Property("Id") + .HasColumnType("nvarchar(450)"); + + b.Property("AccessFailedCount") + .HasColumnType("int"); + + b.Property("AppUserId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("nvarchar(max)"); + + b.Property("CustomerId") + .HasColumnType("bigint"); + + b.Property("Email") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("EmailConfirmed") + .HasColumnType("bit"); + + b.Property("FirstName") + .IsRequired() + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("FullName") + .IsRequired() + .HasMaxLength(320) + .HasColumnType("nvarchar(320)"); + + b.Property("LastLoginDate") + .HasColumnType("datetimeoffset"); + + b.Property("LastName") + .IsRequired() + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("LockoutEnabled") + .HasColumnType("bit"); + + b.Property("LockoutEnd") + .HasColumnType("datetimeoffset"); + + b.Property("NormalizedEmail") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("NormalizedUserName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("PasswordHash") + .HasColumnType("nvarchar(max)"); + + b.Property("Permissions") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("PhoneNumber") + .HasColumnType("nvarchar(max)"); + + b.Property("PhoneNumberConfirmed") + .HasColumnType("bit"); + + b.Property("Photo") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("PreferredLanguage") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("RegistrationDate") + .HasColumnType("datetimeoffset"); + + b.Property("SecurityStamp") + .HasColumnType("nvarchar(max)"); + + b.Property("SettingsJson") + .HasColumnType("nvarchar(max)"); + + b.Property("TimeZoneId") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("TwoFactorEnabled") + .HasColumnType("bit"); + + b.Property("UserName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.HasKey("Id"); + + b.HasIndex("AppUserId"); + + b.HasIndex("CustomerId"); + + b.HasIndex("NormalizedEmail") + .HasDatabaseName("EmailIndex"); + + b.HasIndex("NormalizedUserName") + .IsUnique() + .HasDatabaseName("UserNameIndex") + .HasFilter("[NormalizedUserName] IS NOT NULL"); + + b.ToTable("AspNetUsers", (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Users.ApplicationUserWithNames", b => + { + b.Property("AppUserId") + .HasColumnType("nvarchar(max)"); + + b.Property("AppUserName") + .HasColumnType("nvarchar(max)"); + + b.Property("CustomerId") + .HasColumnType("bigint"); + + b.Property("CustomerName") + .HasColumnType("nvarchar(max)"); + + b.Property("EmailConfirmed") + .HasColumnType("bit"); + + b.Property("FirstName") + .IsRequired() + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("Id") + .HasColumnType("nvarchar(max)"); + + b.Property("LastLoginDate") + .HasColumnType("datetimeoffset"); + + b.Property("LastName") + .IsRequired() + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("Permissions") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("Photo") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("PreferredLanguage") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("RegistrationDate") + .HasColumnType("datetimeoffset"); + + b.Property("TimeZoneId") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("TwoFactorEnabled") + .HasColumnType("bit"); + + b.Property("UserName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.ToTable((string)null); + + b.ToView("vw_ApplicationUsersWithNames", (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Users.FidoStoredCredential", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AaGuid") + .HasColumnType("uniqueidentifier"); + + b.Property("CredType") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CredentialType") + .HasColumnType("int"); + + b.Property("DescriptorJson") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("PublicKey") + .IsRequired() + .HasColumnType("varbinary(max)"); + + b.Property("RegDate") + .HasColumnType("datetimeoffset"); + + b.Property("SignatureCounter") + .HasColumnType("bigint"); + + b.Property("UserHandle") + .IsRequired() + .HasColumnType("varbinary(max)"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("varbinary(max)"); + + b.Property("Username") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.HasKey("Id"); + + b.ToTable("FidoStoredCredentials"); + }); + + modelBuilder.Entity("gehGassi.Domain.Users.PersistedTicket", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Expires") + .IsRequired() + .HasColumnType("datetimeoffset"); + + b.Property("Key") + .IsRequired() + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("Ticket") + .IsRequired() + .HasColumnType("varbinary(max)"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(450) + .HasColumnType("nvarchar(450)"); + + b.HasKey("Id"); + + b.ToTable("PersistedTickets"); + }); + + modelBuilder.Entity("gehGassi.Domain.Users.RefreshToken", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Expires") + .HasColumnType("datetimeoffset"); + + b.Property("Token") + .IsRequired() + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(450) + .HasColumnType("nvarchar(450)"); + + b.HasKey("Id"); + + b.ToTable("RefreshTokens"); + }); + + modelBuilder.Entity("gehGassi.Domain.Vouchers.Voucher", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Code") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("IsValid") + .HasColumnType("bit"); + + b.Property("QrCode") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("UsedCount") + .HasColumnType("int"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.Property("VoucherAmmount") + .HasColumnType("decimal(18,4)"); + + b.Property("VoucherCampaignId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.HasKey("Id"); + + b.HasIndex("VoucherCampaignId"); + + b.ToTable("Vouchers"); + }); + + modelBuilder.Entity("gehGassi.Domain.Vouchers.VoucherCampaign", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Budget") + .HasColumnType("decimal(18,4)"); + + b.Property("BudgetUsed") + .HasColumnType("decimal(18,4)"); + + b.Property("CampaignType") + .HasColumnType("int"); + + b.Property("CartId") + .HasColumnType("bigint"); + + b.Property("CartItemId") + .HasColumnType("bigint"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("CustomerId") + .HasColumnType("bigint"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("EndDate") + .HasColumnType("datetimeoffset"); + + b.Property("GeoMode") + .HasColumnType("int"); + + b.Property("Image") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("ImageLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("Location") + .HasColumnType("geography"); + + b.Property("MaxUsagePerUser") + .HasColumnType("int"); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("NumberOfVouchers") + .HasColumnType("int"); + + b.Property("OrderId") + .HasColumnType("bigint"); + + b.Property("OrderItemId") + .HasColumnType("bigint"); + + b.Property("PayedDate") + .HasColumnType("datetimeoffset"); + + b.Property("PaymentStatus") + .HasColumnType("int"); + + b.Property("PaymentType") + .HasColumnType("int"); + + b.Property("Prefix") + .IsRequired() + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.Property("Radius") + .HasColumnType("float"); + + b.Property("StartDate") + .HasColumnType("datetimeoffset"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Url") + .HasMaxLength(2083) + .HasColumnType("nvarchar(2083)"); + + b.Property("UrlLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.Property("VoucherAmmount") + .HasColumnType("decimal(18,4)"); + + b.Property("VouchersUsed") + .HasColumnType("int"); + + b.Property("WalletCreditId") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("WalletFeeId") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.HasKey("Id"); + + b.HasIndex("CustomerId"); + + b.ToTable("VoucherCampaigns"); + }); + + modelBuilder.Entity("gehGassi.Domain.Vouchers.VoucherCampaignWithNames", b => + { + b.Property("Address_CountryCode") + .HasColumnType("nvarchar(max)"); + + b.Property("Address_State") + .HasColumnType("nvarchar(max)"); + + b.Property("Budget") + .HasColumnType("decimal(18,4)"); + + b.Property("BudgetUsed") + .HasColumnType("decimal(18,4)"); + + b.Property("CampaignType") + .HasColumnType("int"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("CustomerId") + .HasColumnType("bigint"); + + b.Property("CustomerName") + .HasColumnType("nvarchar(max)"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("EndDate") + .HasColumnType("datetimeoffset"); + + b.Property("GeoMode") + .HasColumnType("int"); + + b.Property("Id") + .HasColumnType("nvarchar(max)"); + + b.Property("Image") + .HasColumnType("nvarchar(max)"); + + b.Property("ImageLanguage") + .HasColumnType("nvarchar(max)"); + + b.Property("ImageLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .HasColumnType("bigint"); + + b.Property("Location") + .HasColumnType("geography"); + + b.Property("MaxUsagePerUser") + .HasColumnType("int"); + + b.Property("Name") + .HasColumnType("nvarchar(max)"); + + b.Property("NameLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("NumberOfVouchers") + .HasColumnType("int"); + + b.Property("PayedDate") + .HasColumnType("datetimeoffset"); + + b.Property("PaymentStatus") + .HasColumnType("int"); + + b.Property("PaymentType") + .HasColumnType("int"); + + b.Property("Prefix") + .HasColumnType("nvarchar(max)"); + + b.Property("Radius") + .HasColumnType("float"); + + b.Property("StartDate") + .HasColumnType("datetimeoffset"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Url") + .HasColumnType("nvarchar(max)"); + + b.Property("UrlLanguage") + .HasColumnType("nvarchar(max)"); + + b.Property("UrlLanguageLocalized") + .HasColumnType("nvarchar(max)"); + + b.Property("Version") + .HasColumnType("varbinary(max)"); + + b.Property("VoucherAmmount") + .HasColumnType("decimal(18,4)"); + + b.Property("VouchersUsed") + .HasColumnType("int"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Vouchers.VoucherUsage", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AppUserId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("UsageStatus") + .HasColumnType("int"); + + b.Property("VoucherAmmount") + .HasColumnType("decimal(18,4)"); + + b.Property("VoucherAmmountUsed") + .HasColumnType("decimal(18,4)"); + + b.Property("VoucherId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("WalkId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.HasKey("Id"); + + b.HasIndex("AppUserId"); + + b.HasIndex("VoucherId"); + + b.HasIndex("WalkId"); + + b.ToTable("VoucherUsages"); + }); + + modelBuilder.Entity("gehGassi.Domain.Walks.PublicWalkRequest", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("DogCount") + .HasColumnType("int"); + + b.Property("DogId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("DogOwnerId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("DogWalkerId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("DogsJson") + .HasColumnType("nvarchar(max)"); + + b.Property("EndDate") + .HasColumnType("datetimeoffset"); + + b.Property("Exclusive") + .HasColumnType("bit"); + + b.Property("ExpirationDate") + .HasColumnType("datetimeoffset"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("Info") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("Location") + .HasColumnType("geography"); + + b.Property("PlacedDate") + .HasColumnType("datetimeoffset"); + + b.Property("Price") + .HasColumnType("decimal(18,2)"); + + b.Property("PublicWalkResponseId") + .HasColumnType("nvarchar(max)"); + + b.Property("RequestType") + .HasColumnType("int"); + + b.Property("ResponseCount") + .HasColumnType("int"); + + b.Property("StartDate") + .HasColumnType("datetimeoffset"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.HasKey("Id"); + + b.HasIndex("Index"); + + b.ToTable("PublicWalkRequests"); + }); + + modelBuilder.Entity("gehGassi.Domain.Walks.PublicWalkRequestNotification", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("DogOwnerId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("HasBeenSent") + .HasColumnType("bit"); + + b.Property("Location") + .HasColumnType("geography"); + + b.Property("PublicWalkRequestId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("SentCount") + .HasColumnType("int"); + + b.Property("SentDate") + .HasColumnType("datetimeoffset"); + + b.HasKey("Id"); + + b.ToTable("PublicWalkRequestNotifications"); + }); + + modelBuilder.Entity("gehGassi.Domain.Walks.PublicWalkRequestWithNames", b => + { + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("DogCount") + .HasColumnType("int"); + + b.Property("DogId") + .HasColumnType("nvarchar(max)"); + + b.Property("DogName") + .HasColumnType("nvarchar(max)"); + + b.Property("DogOwnerId") + .HasColumnType("nvarchar(max)"); + + b.Property("DogOwnerName") + .HasColumnType("nvarchar(max)"); + + b.Property("DogOwnerPhoto") + .HasColumnType("nvarchar(max)"); + + b.Property("DogPhoto") + .HasColumnType("nvarchar(max)"); + + b.Property("DogWalkerId") + .HasColumnType("nvarchar(max)"); + + b.Property("DogWalkerName") + .HasColumnType("nvarchar(max)"); + + b.Property("DogWalkerPhoto") + .HasColumnType("nvarchar(max)"); + + b.Property("DogsJson") + .HasColumnType("nvarchar(max)"); + + b.Property("EndDate") + .HasColumnType("datetimeoffset"); + + b.Property("Exclusive") + .HasColumnType("bit"); + + b.Property("ExpirationDate") + .HasColumnType("datetimeoffset"); + + b.Property("Id") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .HasColumnType("bigint"); + + b.Property("Info") + .HasColumnType("nvarchar(max)"); + + b.Property("Location") + .HasColumnType("geography"); + + b.Property("PickupAddress_AddressLine1") + .HasColumnType("nvarchar(max)"); + + b.Property("PickupAddress_AddressLine2") + .HasColumnType("nvarchar(max)"); + + b.Property("PickupAddress_City") + .HasColumnType("nvarchar(max)"); + + b.Property("PickupAddress_CountryCode") + .HasColumnType("nvarchar(max)"); + + b.Property("PickupAddress_State") + .HasColumnType("nvarchar(max)"); + + b.Property("PickupAddress_Zip") + .HasColumnType("nvarchar(max)"); + + b.Property("PlacedDate") + .HasColumnType("datetimeoffset"); + + b.Property("Price") + .HasColumnType("decimal(18,2)"); + + b.Property("PublicWalkResponseId") + .HasColumnType("nvarchar(max)"); + + b.Property("RequestType") + .HasColumnType("int"); + + b.Property("ResponseCount") + .HasColumnType("int"); + + b.Property("StartDate") + .HasColumnType("datetimeoffset"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .HasColumnType("varbinary(max)"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Walks.PublicWalkRequestWithNamesAndResponseStatus", b => + { + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("DogCount") + .HasColumnType("int"); + + b.Property("DogId") + .HasColumnType("nvarchar(max)"); + + b.Property("DogName") + .HasColumnType("nvarchar(max)"); + + b.Property("DogOwnerBlocked") + .HasColumnType("bit"); + + b.Property("DogOwnerId") + .HasColumnType("nvarchar(max)"); + + b.Property("DogOwnerLocked") + .HasColumnType("bit"); + + b.Property("DogOwnerName") + .HasColumnType("nvarchar(max)"); + + b.Property("DogOwnerPhoto") + .HasColumnType("nvarchar(max)"); + + b.Property("DogPhoto") + .HasColumnType("nvarchar(max)"); + + b.Property("DogWalkerId") + .HasColumnType("nvarchar(max)"); + + b.Property("DogWalkerName") + .HasColumnType("nvarchar(max)"); + + b.Property("DogWalkerPhoto") + .HasColumnType("nvarchar(max)"); + + b.Property("DogsJson") + .HasColumnType("nvarchar(max)"); + + b.Property("EndDate") + .HasColumnType("datetimeoffset"); + + b.Property("Exclusive") + .HasColumnType("bit"); + + b.Property("ExpirationDate") + .HasColumnType("datetimeoffset"); + + b.Property("Id") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .HasColumnType("bigint"); + + b.Property("Info") + .HasColumnType("nvarchar(max)"); + + b.Property("Location") + .HasColumnType("geography"); + + b.Property("PickupAddress_AddressLine1") + .HasColumnType("nvarchar(max)"); + + b.Property("PickupAddress_AddressLine2") + .HasColumnType("nvarchar(max)"); + + b.Property("PickupAddress_City") + .HasColumnType("nvarchar(max)"); + + b.Property("PickupAddress_CountryCode") + .HasColumnType("nvarchar(max)"); + + b.Property("PickupAddress_State") + .HasColumnType("nvarchar(max)"); + + b.Property("PickupAddress_Zip") + .HasColumnType("nvarchar(max)"); + + b.Property("PlacedDate") + .HasColumnType("datetimeoffset"); + + b.Property("Price") + .HasColumnType("decimal(18,2)"); + + b.Property("PublicWalkResponseId") + .HasColumnType("nvarchar(max)"); + + b.Property("RequestType") + .HasColumnType("int"); + + b.Property("ResponseCount") + .HasColumnType("int"); + + b.Property("ResponseStatus") + .HasColumnType("int"); + + b.Property("StartDate") + .HasColumnType("datetimeoffset"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .HasColumnType("varbinary(max)"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Walks.PublicWalkResponse", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Answer") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("CancellationReason") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("DogWalkerId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("Info") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("Price") + .HasColumnType("decimal(18,2)"); + + b.Property("PublicWalkRequestId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.HasKey("Id"); + + b.HasIndex("Index"); + + b.ToTable("PublicWalkResponses"); + }); + + modelBuilder.Entity("gehGassi.Domain.Walks.PublicWalkResponseWithNames", b => + { + b.Property("Answer") + .HasColumnType("nvarchar(max)"); + + b.Property("CancellationReason") + .HasColumnType("nvarchar(max)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("DogWalkerBlocked") + .HasColumnType("bit"); + + b.Property("DogWalkerId") + .HasColumnType("nvarchar(max)"); + + b.Property("DogWalkerLocked") + .HasColumnType("bit"); + + b.Property("DogWalkerName") + .HasColumnType("nvarchar(max)"); + + b.Property("DogWalkerPhoto") + .HasColumnType("nvarchar(max)"); + + b.Property("DogWalkerVerified") + .HasColumnType("bit"); + + b.Property("Id") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .HasColumnType("bigint"); + + b.Property("Info") + .HasColumnType("nvarchar(max)"); + + b.Property("Price") + .HasColumnType("decimal(18,2)"); + + b.Property("PublicWalkRequestId") + .HasColumnType("nvarchar(max)"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .HasColumnType("varbinary(max)"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Walks.Walk", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("CancelledBy") + .HasColumnType("int"); + + b.Property("CancelledReason") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("ComplainReason") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("Complained") + .HasColumnType("datetimeoffset"); + + b.Property("Completed") + .HasColumnType("datetimeoffset"); + + b.Property("CompletedInfo") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("Confirmed") + .HasColumnType("datetimeoffset"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("DeclinedReason") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("Defactation") + .HasColumnType("bit"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("DogCount") + .HasColumnType("int"); + + b.Property("DogOwnerId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("DogWalkerId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("DogsJson") + .HasColumnType("nvarchar(max)"); + + b.Property("End") + .HasColumnType("datetimeoffset"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("Info") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("PaymentStatus") + .HasColumnType("int"); + + b.Property("PaymentType") + .HasColumnType("int"); + + b.Property("PickupLocation") + .HasColumnType("geography"); + + b.Property("Price") + .HasColumnType("decimal(18,2)"); + + b.Property("PublicWalkRequestId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ReturnLocation") + .HasColumnType("geography"); + + b.Property("ServiceType") + .HasColumnType("int"); + + b.Property("Start") + .HasColumnType("datetimeoffset"); + + b.Property("Started") + .HasColumnType("datetimeoffset"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Type") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.Property("VoucherAmmount") + .HasColumnType("decimal(18,2)"); + + b.Property("VoucherId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.HasKey("Id"); + + b.HasIndex("Index"); + + b.ToTable("Walks"); + }); + + modelBuilder.Entity("gehGassi.Domain.Walks.WalkComplaint", b => + { + b.Property("Id") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Comment") + .HasColumnType("nvarchar(max)"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Index") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Index")); + + b.Property("Message") + .IsRequired() + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("Resolved") + .HasColumnType("datetimeoffset"); + + b.Property("Source") + .HasColumnType("int"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Type") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("Version") + .IsConcurrencyToken() + .ValueGeneratedOnAddOrUpdate() + .HasColumnType("rowversion"); + + b.Property("WalkId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.HasKey("Id"); + + b.HasIndex("Index"); + + b.HasIndex("WalkId"); + + b.ToTable("WalkComplaints"); + }); + + modelBuilder.Entity("gehGassi.Domain.Walks.WalkComplaintWithNames", b => + { + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("DogOwnerName") + .HasColumnType("nvarchar(max)"); + + b.Property("DogOwnerPhoto") + .HasColumnType("nvarchar(max)"); + + b.Property("DogWalkerName") + .HasColumnType("nvarchar(max)"); + + b.Property("DogWalkerPhoto") + .HasColumnType("nvarchar(max)"); + + b.Property("Id") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .HasColumnType("bigint"); + + b.Property("PickupAddress_CountryCode") + .HasColumnType("nvarchar(max)"); + + b.Property("Resolved") + .HasColumnType("datetimeoffset"); + + b.Property("Source") + .HasColumnType("int"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Type") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("UserName") + .HasColumnType("nvarchar(max)"); + + b.Property("Version") + .HasColumnType("varbinary(max)"); + + b.Property("WalkEnd") + .HasColumnType("datetimeoffset"); + + b.Property("WalkId") + .HasColumnType("nvarchar(max)"); + + b.Property("WalkPrice") + .HasColumnType("decimal(18,2)"); + + b.Property("WalkServiceType") + .HasColumnType("int"); + + b.Property("WalkStart") + .HasColumnType("datetimeoffset"); + + b.Property("WalkType") + .HasColumnType("int"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("gehGassi.Domain.Walks.WalkWithNames", b => + { + b.Property("CancelledBy") + .HasColumnType("int"); + + b.Property("CancelledReason") + .HasColumnType("nvarchar(max)"); + + b.Property("ComplainReason") + .HasColumnType("nvarchar(max)"); + + b.Property("Complained") + .HasColumnType("datetimeoffset"); + + b.Property("Completed") + .HasColumnType("datetimeoffset"); + + b.Property("CompletedInfo") + .HasColumnType("nvarchar(max)"); + + b.Property("Confirmed") + .HasColumnType("datetimeoffset"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("DeclinedReason") + .HasColumnType("nvarchar(max)"); + + b.Property("Defactation") + .HasColumnType("bit"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("DogCount") + .HasColumnType("int"); + + b.Property("DogOwnerBlocked") + .HasColumnType("bit"); + + b.Property("DogOwnerId") + .HasColumnType("nvarchar(max)"); + + b.Property("DogOwnerLocked") + .HasColumnType("bit"); + + b.Property("DogOwnerName") + .HasColumnType("nvarchar(max)"); + + b.Property("DogOwnerPhoto") + .HasColumnType("nvarchar(max)"); + + b.Property("DogWalkerBlocked") + .HasColumnType("bit"); + + b.Property("DogWalkerId") + .HasColumnType("nvarchar(max)"); + + b.Property("DogWalkerLocked") + .HasColumnType("bit"); + + b.Property("DogWalkerName") + .HasColumnType("nvarchar(max)"); + + b.Property("DogWalkerPhoto") + .HasColumnType("nvarchar(max)"); + + b.Property("DogsJson") + .HasColumnType("nvarchar(max)"); + + b.Property("End") + .HasColumnType("datetimeoffset"); + + b.Property("Id") + .HasColumnType("nvarchar(max)"); + + b.Property("Index") + .HasColumnType("bigint"); + + b.Property("Info") + .HasColumnType("nvarchar(max)"); + + b.Property("PaymentStatus") + .HasColumnType("int"); + + b.Property("PaymentType") + .HasColumnType("int"); + + b.Property("PickupAddress_AddressLine1") + .HasColumnType("nvarchar(max)"); + + b.Property("PickupAddress_AddressLine2") + .HasColumnType("nvarchar(max)"); + + b.Property("PickupAddress_City") + .HasColumnType("nvarchar(max)"); + + b.Property("PickupAddress_CountryCode") + .HasColumnType("nvarchar(max)"); + + b.Property("PickupAddress_State") + .HasColumnType("nvarchar(max)"); + + b.Property("PickupAddress_Zip") + .HasColumnType("nvarchar(max)"); + + b.Property("PickupLocation") + .HasColumnType("geography"); + + b.Property("Price") + .HasColumnType("decimal(18,2)"); + + b.Property("PublicWalkRequestId") + .HasColumnType("nvarchar(max)"); + + b.Property("ReturnAddress_AddressLine1") + .HasColumnType("nvarchar(max)"); + + b.Property("ReturnAddress_AddressLine2") + .HasColumnType("nvarchar(max)"); + + b.Property("ReturnAddress_City") + .HasColumnType("nvarchar(max)"); + + b.Property("ReturnAddress_CountryCode") + .HasColumnType("nvarchar(max)"); + + b.Property("ReturnAddress_State") + .HasColumnType("nvarchar(max)"); + + b.Property("ReturnAddress_Zip") + .HasColumnType("nvarchar(max)"); + + b.Property("ReturnLocation") + .HasColumnType("geography"); + + b.Property("ServiceType") + .HasColumnType("int"); + + b.Property("Start") + .HasColumnType("datetimeoffset"); + + b.Property("Started") + .HasColumnType("datetimeoffset"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Type") + .HasColumnType("int"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Version") + .HasColumnType("varbinary(max)"); + + b.Property("VoucherAmmount") + .HasColumnType("decimal(18,2)"); + + b.Property("VoucherId") + .HasColumnType("nvarchar(max)"); + + b.ToTable((string)null); + + b.ToView(null, (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.HasOne("gehGassi.Domain.Roles.ApplicationRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.HasOne("gehGassi.Domain.Users.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.HasOne("gehGassi.Domain.Users.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.HasOne("gehGassi.Domain.Roles.ApplicationRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("gehGassi.Domain.Users.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.HasOne("gehGassi.Domain.Users.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("gehGassi.Domain.Advertisements.Advertisement", b => + { + b.HasOne("gehGassi.Domain.Advertisements.AdvertisementCategory", null) + .WithMany() + .HasForeignKey("AdvertisementCategoryId") + .IsRequired(); + + b.HasOne("gehGassi.Domain.Customers.Customer", null) + .WithMany() + .HasForeignKey("CustomerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("gehGassi.Domain.Shop.Order", null) + .WithMany() + .HasForeignKey("OrderId"); + + b.HasOne("gehGassi.Domain.Shop.OrderItem", null) + .WithMany() + .HasForeignKey("OrderItemId"); + + b.OwnsOne("gehGassi.Domain.Common.Address", "Address", b1 => + { + b1.Property("AdvertisementId") + .HasColumnType("nvarchar(128)"); + + b1.Property("AddressLine1") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("AddressLine2") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("City") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("CountryCode") + .IsRequired() + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b1.Property("State") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("Zip") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.HasKey("AdvertisementId"); + + b1.ToTable("Advertisements"); + + b1.WithOwner() + .HasForeignKey("AdvertisementId"); + }); + + b.Navigation("Address"); + }); + + modelBuilder.Entity("gehGassi.Domain.Advertisements.Banner", b => + { + b.HasOne("gehGassi.Domain.Customers.Customer", null) + .WithMany() + .HasForeignKey("CustomerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("gehGassi.Domain.Shop.Order", null) + .WithMany() + .HasForeignKey("OrderId"); + + b.HasOne("gehGassi.Domain.Shop.OrderItem", null) + .WithMany() + .HasForeignKey("OrderItemId"); + + b.OwnsOne("gehGassi.Domain.Common.Address", "Address", b1 => + { + b1.Property("BannerId") + .HasColumnType("nvarchar(128)"); + + b1.Property("AddressLine1") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("AddressLine2") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("City") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("CountryCode") + .IsRequired() + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b1.Property("State") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("Zip") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.HasKey("BannerId"); + + b1.ToTable("Banners"); + + b1.WithOwner() + .HasForeignKey("BannerId"); + }); + + b.Navigation("Address"); + }); + + modelBuilder.Entity("gehGassi.Domain.Advertisements.BannerStatistic", b => + { + b.HasOne("gehGassi.Domain.Advertisements.Banner", null) + .WithMany() + .HasForeignKey("BannerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("gehGassi.Domain.Advertisements.Listing", b => + { + b.HasOne("gehGassi.Domain.Advertisements.Branch", null) + .WithMany() + .HasForeignKey("BranchId") + .IsRequired(); + + b.HasOne("gehGassi.Domain.Customers.Customer", null) + .WithMany() + .HasForeignKey("CustomerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("gehGassi.Domain.Shop.Order", null) + .WithMany() + .HasForeignKey("OrderId"); + + b.HasOne("gehGassi.Domain.Shop.OrderItem", null) + .WithMany() + .HasForeignKey("OrderItemId"); + + b.OwnsOne("gehGassi.Domain.Common.Address", "Address", b1 => + { + b1.Property("ListingId") + .HasColumnType("nvarchar(128)"); + + b1.Property("AddressLine1") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("AddressLine2") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("City") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("CountryCode") + .IsRequired() + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b1.Property("State") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("Zip") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.HasKey("ListingId"); + + b1.ToTable("Listings"); + + b1.WithOwner() + .HasForeignKey("ListingId"); + }); + + b.OwnsOne("gehGassi.Domain.Common.Address", "ListingAddress", b1 => + { + b1.Property("ListingId") + .HasColumnType("nvarchar(128)"); + + b1.Property("AddressLine1") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("AddressLine2") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("City") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("CountryCode") + .IsRequired() + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b1.Property("State") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("Zip") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.HasKey("ListingId"); + + b1.ToTable("Listings"); + + b1.WithOwner() + .HasForeignKey("ListingId"); + }); + + b.Navigation("Address"); + + b.Navigation("ListingAddress"); + }); + + modelBuilder.Entity("gehGassi.Domain.Advertisements.Pin", b => + { + b.HasOne("gehGassi.Domain.Customers.Customer", null) + .WithMany() + .HasForeignKey("CustomerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("gehGassi.Domain.Advertisements.Listing", null) + .WithMany() + .HasForeignKey("ListingId"); + + b.HasOne("gehGassi.Domain.Shop.Order", null) + .WithMany() + .HasForeignKey("OrderId"); + + b.HasOne("gehGassi.Domain.Shop.OrderItem", null) + .WithMany() + .HasForeignKey("OrderItemId"); + }); + + modelBuilder.Entity("gehGassi.Domain.Coins.CoinsAccount", b => + { + b.HasOne("gehGassi.Domain.Dogs.AppUser", null) + .WithMany() + .HasForeignKey("AppUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("gehGassi.Domain.Coins.CoinsPerMonth", b => + { + b.HasOne("gehGassi.Domain.Dogs.AppUser", null) + .WithMany() + .HasForeignKey("AppUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("gehGassi.Domain.Coins.CoinsPerYear", b => + { + b.HasOne("gehGassi.Domain.Dogs.AppUser", null) + .WithMany() + .HasForeignKey("AppUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("gehGassi.Domain.Coins.CoinsTransaction", b => + { + b.HasOne("gehGassi.Domain.Coins.CoinsAccount", null) + .WithMany() + .HasForeignKey("AccountId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("gehGassi.Domain.Customers.Customer", b => + { + b.HasOne("gehGassi.Domain.Advertisements.Branch", null) + .WithMany() + .HasForeignKey("BranchId"); + + b.HasOne("gehGassi.Domain.Customers.CustomerType", null) + .WithMany() + .HasForeignKey("TypeId"); + + b.OwnsOne("gehGassi.Domain.Common.Contact", "Contact", b1 => + { + b1.Property("CustomerId") + .HasColumnType("bigint"); + + b1.Property("Email") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b1.Property("Fax") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("Mobile") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("Phone") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("Web") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b1.HasKey("CustomerId"); + + b1.ToTable("Customers"); + + b1.WithOwner() + .HasForeignKey("CustomerId"); + }); + + b.OwnsOne("gehGassi.Domain.Common.Address", "Address", b1 => + { + b1.Property("CustomerId") + .HasColumnType("bigint"); + + b1.Property("AddressLine1") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("AddressLine2") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("City") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("CountryCode") + .IsRequired() + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b1.Property("State") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("Zip") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.HasKey("CustomerId"); + + b1.ToTable("Customers"); + + b1.WithOwner() + .HasForeignKey("CustomerId"); + }); + + b.OwnsOne("gehGassi.Domain.Common.Address", "MangopayAddress", b1 => + { + b1.Property("CustomerId") + .HasColumnType("bigint"); + + b1.Property("AddressLine1") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("AddressLine2") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("City") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("CountryCode") + .IsRequired() + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b1.Property("State") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("Zip") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.HasKey("CustomerId"); + + b1.ToTable("Customers"); + + b1.ToJson("MangopayAddress"); + + b1.WithOwner() + .HasForeignKey("CustomerId"); + }); + + b.Navigation("Address"); + + b.Navigation("Contact"); + + b.Navigation("MangopayAddress"); + }); + + modelBuilder.Entity("gehGassi.Domain.Devices.Device", b => + { + b.HasOne("gehGassi.Domain.Dogs.AppUser", null) + .WithMany() + .HasForeignKey("AppUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("gehGassi.Domain.Dogs.AppUser", b => + { + b.OwnsOne("gehGassi.Domain.Common.ContactMin", "Contact", b1 => + { + b1.Property("AppUserId") + .HasColumnType("nvarchar(128)"); + + b1.Property("Email") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b1.Property("Mobile") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("Phone") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.HasKey("AppUserId"); + + b1.ToTable("AppUsers"); + + b1.WithOwner() + .HasForeignKey("AppUserId"); + }); + + b.OwnsOne("gehGassi.Domain.Common.SocialMedia", "SocialMedia", b1 => + { + b1.Property("AppUserId") + .HasColumnType("nvarchar(128)"); + + b1.Property("Blog") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b1.Property("Facebook") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b1.Property("Instagram") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b1.Property("LinkedIn") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b1.Property("Pinterest") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b1.Property("Reddit") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b1.Property("Show") + .HasColumnType("bit"); + + b1.Property("SnapChat") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b1.Property("TikTok") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b1.Property("Twitter") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b1.Property("Vimeo") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b1.Property("Xing") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b1.Property("YouTube") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b1.HasKey("AppUserId"); + + b1.ToTable("AppUsers"); + + b1.WithOwner() + .HasForeignKey("AppUserId"); + }); + + b.OwnsOne("gehGassi.Domain.Common.Address", "Address", b1 => + { + b1.Property("AppUserId") + .HasColumnType("nvarchar(128)"); + + b1.Property("AddressLine1") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("AddressLine2") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("City") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("CountryCode") + .IsRequired() + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b1.Property("State") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("Zip") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.HasKey("AppUserId"); + + b1.ToTable("AppUsers"); + + b1.WithOwner() + .HasForeignKey("AppUserId"); + }); + + b.OwnsOne("gehGassi.Domain.Ratings.RatingStatistics", "RatingStatistics", b1 => + { + b1.Property("AppUserId") + .HasColumnType("nvarchar(128)"); + + b1.Property("AverageRating") + .ValueGeneratedOnAdd() + .HasColumnType("decimal(18,2)") + .HasDefaultValue(0m); + + b1.Property("TotalPoints") + .ValueGeneratedOnAdd() + .HasColumnType("decimal(18,2)") + .HasDefaultValue(0m); + + b1.Property("TotalRatings") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0); + + b1.HasKey("AppUserId"); + + b1.ToTable("AppUsers"); + + b1.WithOwner() + .HasForeignKey("AppUserId"); + }); + + b.OwnsOne("gehGassi.Domain.Ratings.RatingStatistics", "RatingStatisticsWalker", b1 => + { + b1.Property("AppUserId") + .HasColumnType("nvarchar(128)"); + + b1.Property("AverageRating") + .ValueGeneratedOnAdd() + .HasColumnType("decimal(18,2)") + .HasDefaultValue(0m); + + b1.Property("TotalPoints") + .ValueGeneratedOnAdd() + .HasColumnType("decimal(18,2)") + .HasDefaultValue(0m); + + b1.Property("TotalRatings") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0); + + b1.HasKey("AppUserId"); + + b1.ToTable("AppUsers"); + + b1.WithOwner() + .HasForeignKey("AppUserId"); + }); + + b.Navigation("Address"); + + b.Navigation("Contact"); + + b.Navigation("RatingStatistics"); + + b.Navigation("RatingStatisticsWalker"); + + b.Navigation("SocialMedia"); + }); + + modelBuilder.Entity("gehGassi.Domain.Dogs.AppUserBlock", b => + { + b.HasOne("gehGassi.Domain.Dogs.AppUser", null) + .WithMany() + .HasForeignKey("BlockedAppUserId"); + + b.HasOne("gehGassi.Domain.Dogs.AppUser", null) + .WithMany() + .HasForeignKey("BlockingAppUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("gehGassi.Domain.Dogs.AppUserSubscription", b => + { + b.HasOne("gehGassi.Domain.Dogs.AppUser", null) + .WithMany() + .HasForeignKey("AppUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("gehGassi.Domain.Subscriptions.Subscription", null) + .WithMany() + .HasForeignKey("SubscriptionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("gehGassi.Domain.Dogs.Certificate", b => + { + b.HasOne("gehGassi.Domain.Dogs.AppUser", null) + .WithMany() + .HasForeignKey("AppUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("gehGassi.Domain.Dogs.Dog", b => + { + b.HasOne("gehGassi.Domain.Dogs.AppUser", null) + .WithMany() + .HasForeignKey("AppUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("gehGassi.Domain.Dogs.DogRace", null) + .WithMany() + .HasForeignKey("DogRaceId"); + + b.OwnsOne("gehGassi.Domain.Ratings.RatingStatistics", "RatingStatistics", b1 => + { + b1.Property("DogId") + .HasColumnType("nvarchar(128)"); + + b1.Property("AverageRating") + .ValueGeneratedOnAdd() + .HasColumnType("decimal(18,2)") + .HasDefaultValue(0m); + + b1.Property("TotalPoints") + .ValueGeneratedOnAdd() + .HasColumnType("decimal(18,2)") + .HasDefaultValue(0m); + + b1.Property("TotalRatings") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0); + + b1.HasKey("DogId"); + + b1.ToTable("Dogs"); + + b1.WithOwner() + .HasForeignKey("DogId"); + }); + + b.Navigation("RatingStatistics"); + }); + + modelBuilder.Entity("gehGassi.Domain.Messages.Message", b => + { + b.HasOne("gehGassi.Domain.Messages.Conversation", null) + .WithMany() + .HasForeignKey("ConversationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("gehGassi.Domain.Messages.MessageCopy", b => + { + b.HasOne("gehGassi.Domain.Messages.Conversation", null) + .WithMany() + .HasForeignKey("ConversationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("gehGassi.Domain.News.News", b => + { + b.HasOne("gehGassi.Domain.News.NewsCategory", null) + .WithMany() + .HasForeignKey("CategoryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("gehGassi.Domain.Payment.Card", b => + { + b.HasOne("gehGassi.Domain.Dogs.AppUser", null) + .WithMany() + .HasForeignKey("AppUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("gehGassi.Domain.Payment.IdentityDocument", b => + { + b.HasOne("gehGassi.Domain.Dogs.AppUser", null) + .WithMany() + .HasForeignKey("AppUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("gehGassi.Domain.Payment.Payout", b => + { + b.HasOne("gehGassi.Domain.Dogs.AppUser", null) + .WithMany() + .HasForeignKey("AppUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.Cart", b => + { + b.HasOne("gehGassi.Domain.Dogs.AppUser", null) + .WithMany() + .HasForeignKey("AppUserId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("gehGassi.Domain.Customers.Customer", null) + .WithMany() + .HasForeignKey("CustomerId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.CartItem", b => + { + b.HasOne("gehGassi.Domain.Shop.Cart", null) + .WithMany() + .HasForeignKey("CartId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("gehGassi.Domain.Shop.Product", null) + .WithMany() + .HasForeignKey("ProductId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.CreditNote", b => + { + b.HasOne("gehGassi.Domain.Shop.Order", null) + .WithMany() + .HasForeignKey("OrderId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.DeliveryNote", b => + { + b.HasOne("gehGassi.Domain.Shop.Order", null) + .WithMany() + .HasForeignKey("OrderId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.Invoice", b => + { + b.HasOne("gehGassi.Domain.Shop.Order", null) + .WithMany() + .HasForeignKey("OrderId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.Order", b => + { + b.OwnsOne("gehGassi.Domain.Shop.OrderAddress", "BillingAddress", b1 => + { + b1.Property("OrderId") + .HasColumnType("bigint"); + + b1.Property("AddressLine1") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("AddressLine2") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("City") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("Company") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b1.Property("CountryCode") + .IsRequired() + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b1.Property("FirstName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("LastName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("State") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b1.Property("Title") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("Vat") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b1.Property("Zip") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.HasKey("OrderId"); + + b1.ToTable("Orders"); + + b1.WithOwner() + .HasForeignKey("OrderId"); + }); + + b.OwnsOne("gehGassi.Domain.Shop.OrderAddress", "DeliveryAddress", b1 => + { + b1.Property("OrderId") + .HasColumnType("bigint"); + + b1.Property("AddressLine1") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("AddressLine2") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("City") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("Company") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b1.Property("CountryCode") + .IsRequired() + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b1.Property("FirstName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("LastName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("State") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b1.Property("Title") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("Vat") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b1.Property("Zip") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.HasKey("OrderId"); + + b1.ToTable("Orders"); + + b1.WithOwner() + .HasForeignKey("OrderId"); + }); + + b.Navigation("BillingAddress"); + + b.Navigation("DeliveryAddress"); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.OrderItem", b => + { + b.HasOne("gehGassi.Domain.Shop.Order", null) + .WithMany() + .HasForeignKey("OrderId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("gehGassi.Domain.Shop.ProductCategory", null) + .WithMany() + .HasForeignKey("ProductCategoryId"); + + b.HasOne("gehGassi.Domain.Shop.Product", null) + .WithMany() + .HasForeignKey("ProductId"); + + b.HasOne("gehGassi.Domain.Shop.TaxRate", null) + .WithMany() + .HasForeignKey("TaxRateId") + .IsRequired(); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.Product", b => + { + b.HasOne("gehGassi.Domain.Shop.ProductCategory", null) + .WithMany() + .HasForeignKey("ProductCategoryId"); + + b.HasOne("gehGassi.Domain.Shop.TaxRate", null) + .WithMany() + .HasForeignKey("TaxRateId") + .IsRequired(); + }); + + modelBuilder.Entity("gehGassi.Domain.Shop.ProductCountry", b => + { + b.HasOne("gehGassi.Domain.Shop.Product", null) + .WithMany() + .HasForeignKey("ProductId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("gehGassi.Domain.Users.ApplicationUser", b => + { + b.HasOne("gehGassi.Domain.Dogs.AppUser", null) + .WithMany() + .HasForeignKey("AppUserId"); + + b.HasOne("gehGassi.Domain.Customers.Customer", null) + .WithMany() + .HasForeignKey("CustomerId"); + }); + + modelBuilder.Entity("gehGassi.Domain.Vouchers.Voucher", b => + { + b.HasOne("gehGassi.Domain.Vouchers.VoucherCampaign", null) + .WithMany() + .HasForeignKey("VoucherCampaignId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("gehGassi.Domain.Vouchers.VoucherCampaign", b => + { + b.HasOne("gehGassi.Domain.Customers.Customer", null) + .WithMany() + .HasForeignKey("CustomerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.OwnsOne("gehGassi.Domain.Common.Address", "Address", b1 => + { + b1.Property("VoucherCampaignId") + .HasColumnType("nvarchar(128)"); + + b1.Property("AddressLine1") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("AddressLine2") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("City") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("CountryCode") + .IsRequired() + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b1.Property("State") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("Zip") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.HasKey("VoucherCampaignId"); + + b1.ToTable("VoucherCampaigns"); + + b1.WithOwner() + .HasForeignKey("VoucherCampaignId"); + }); + + b.Navigation("Address"); + }); + + modelBuilder.Entity("gehGassi.Domain.Vouchers.VoucherUsage", b => + { + b.HasOne("gehGassi.Domain.Dogs.AppUser", null) + .WithMany() + .HasForeignKey("AppUserId") + .IsRequired(); + + b.HasOne("gehGassi.Domain.Vouchers.Voucher", null) + .WithMany() + .HasForeignKey("VoucherId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("gehGassi.Domain.Walks.Walk", null) + .WithMany() + .HasForeignKey("WalkId"); + }); + + modelBuilder.Entity("gehGassi.Domain.Walks.PublicWalkRequest", b => + { + b.OwnsOne("gehGassi.Domain.Common.Address", "PickupAddress", b1 => + { + b1.Property("PublicWalkRequestId") + .HasColumnType("nvarchar(128)"); + + b1.Property("AddressLine1") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("AddressLine2") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("City") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("CountryCode") + .IsRequired() + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b1.Property("State") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("Zip") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.HasKey("PublicWalkRequestId"); + + b1.ToTable("PublicWalkRequests"); + + b1.WithOwner() + .HasForeignKey("PublicWalkRequestId"); + }); + + b.Navigation("PickupAddress"); + }); + + modelBuilder.Entity("gehGassi.Domain.Walks.PublicWalkRequestNotification", b => + { + b.OwnsOne("gehGassi.Domain.Common.Address", "PickupAddress", b1 => + { + b1.Property("PublicWalkRequestNotificationId") + .HasColumnType("bigint"); + + b1.Property("AddressLine1") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("AddressLine2") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("City") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("CountryCode") + .IsRequired() + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b1.Property("State") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("Zip") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.HasKey("PublicWalkRequestNotificationId"); + + b1.ToTable("PublicWalkRequestNotifications"); + + b1.WithOwner() + .HasForeignKey("PublicWalkRequestNotificationId"); + }); + + b.Navigation("PickupAddress"); + }); + + modelBuilder.Entity("gehGassi.Domain.Walks.Walk", b => + { + b.OwnsOne("gehGassi.Domain.Common.Address", "PickupAddress", b1 => + { + b1.Property("WalkId") + .HasColumnType("nvarchar(128)"); + + b1.Property("AddressLine1") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("AddressLine2") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("City") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("CountryCode") + .IsRequired() + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b1.Property("State") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("Zip") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.HasKey("WalkId"); + + b1.ToTable("Walks"); + + b1.WithOwner() + .HasForeignKey("WalkId"); + }); + + b.OwnsOne("gehGassi.Domain.Common.Address", "ReturnAddress", b1 => + { + b1.Property("WalkId") + .HasColumnType("nvarchar(128)"); + + b1.Property("AddressLine1") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("AddressLine2") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("City") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("CountryCode") + .IsRequired() + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b1.Property("State") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b1.Property("Zip") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b1.HasKey("WalkId"); + + b1.ToTable("Walks"); + + b1.WithOwner() + .HasForeignKey("WalkId"); + }); + + b.Navigation("PickupAddress"); + + b.Navigation("ReturnAddress"); + }); + + modelBuilder.Entity("gehGassi.Domain.Walks.WalkComplaint", b => + { + b.HasOne("gehGassi.Domain.Walks.Walk", null) + .WithMany() + .HasForeignKey("WalkId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/gehGassi.Persistence/Migrations/20250630082853_Walk_PaymentType_Added.cs b/gehGassi.Persistence/Migrations/20250630082853_Walk_PaymentType_Added.cs new file mode 100644 index 0000000..ab8411f --- /dev/null +++ b/gehGassi.Persistence/Migrations/20250630082853_Walk_PaymentType_Added.cs @@ -0,0 +1,65 @@ +using Microsoft.EntityFrameworkCore.Migrations; +using System; + +#nullable disable + +namespace gehGassi.Persistence.Migrations +{ + /// + public partial class Walk_PaymentType_Added : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "PaymentType", + table: "Walks", + type: "int", + nullable: false, + defaultValue: 0); + + migrationBuilder.Sql("Update Walks SET PaymentType = 1"); + + + var viewName = "tv_WalksWithNames"; + var sql = @"CREATE FUNCTION tv_WalksWithNames() RETURNS TABLE AS RETURN + SELECT W.*, + CONCAT(DW.FirstName, ' ' , DW.LastName) AS DogWalkerName, DW.Photo AS DogWalkerPhoto, + IsNull(DW.Locked,0) AS DogWalkerLocked, CAST((SELECT CASE WHEN AUBDW.Id IS NOT NULL THEN 1 ELSE 0 END) AS BIT) AS DogWalkerBlocked, + CONCAT(DO.FirstName, ' ' , DO.LastName) AS DogOwnerName, DO.Photo AS DogOwnerPhoto, + IsNull(DO.Locked,0) AS DogOwnerLocked, CAST((SELECT CASE WHEN AUBDO.Id IS NOT NULL THEN 1 ELSE 0 END) AS BIT) AS DogOwnerBlocked + FROM Walks W + LEFT JOIN AppUsers DW ON W.DogWalkerId = DW.Id + LEFT JOIN AppUsers DO ON W.DogOwnerId = DO.Id + LEFT OUTER JOIN AppUserBlocks AUBDW ON AUBDW.BlockedAppUserId = DW.Id AND AUBDW.BlockingAppUserId = DO.Id + LEFT OUTER JOIN AppUserBlocks AUBDO ON AUBDO.BlockedAppUserId = DO.Id AND AUBDO.BlockingAppUserId = DW.Id"; + + migrationBuilder.Sql($"IF(exists (SELECT 1 FROM sys.objects WHERE Name = '{viewName}')) BEGIN DROP FUNCTION [dbo].[{viewName}] END {Environment.NewLine} GO"); + migrationBuilder.Sql($"{sql} {Environment.NewLine} GO"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "PaymentType", + table: "Walks"); + + var viewName = "tv_WalksWithNames"; + var sql = @"CREATE FUNCTION tv_WalksWithNames() RETURNS TABLE AS RETURN + SELECT W.*, + CONCAT(DW.FirstName, ' ' , DW.LastName) AS DogWalkerName, DW.Photo AS DogWalkerPhoto, + IsNull(DW.Locked,0) AS DogWalkerLocked, CAST((SELECT CASE WHEN AUBDW.Id IS NOT NULL THEN 1 ELSE 0 END) AS BIT) AS DogWalkerBlocked, + CONCAT(DO.FirstName, ' ' , DO.LastName) AS DogOwnerName, DO.Photo AS DogOwnerPhoto, + IsNull(DO.Locked,0) AS DogOwnerLocked, CAST((SELECT CASE WHEN AUBDO.Id IS NOT NULL THEN 1 ELSE 0 END) AS BIT) AS DogOwnerBlocked + FROM Walks W + LEFT JOIN AppUsers DW ON W.DogWalkerId = DW.Id + LEFT JOIN AppUsers DO ON W.DogOwnerId = DO.Id + LEFT OUTER JOIN AppUserBlocks AUBDW ON AUBDW.BlockedAppUserId = DW.Id AND AUBDW.BlockingAppUserId = DO.Id + LEFT OUTER JOIN AppUserBlocks AUBDO ON AUBDO.BlockedAppUserId = DO.Id AND AUBDO.BlockingAppUserId = DW.Id"; + + migrationBuilder.Sql($"IF(exists (SELECT 1 FROM sys.objects WHERE Name = '{viewName}')) BEGIN DROP FUNCTION [dbo].[{viewName}] END {Environment.NewLine} GO"); + migrationBuilder.Sql($"{sql} {Environment.NewLine} GO"); + } + } +} diff --git a/gehGassi.Persistence/Migrations/SqlDbContextModelSnapshot.cs b/gehGassi.Persistence/Migrations/SqlDbContextModelSnapshot.cs index a8f8459..e3a8d66 100644 --- a/gehGassi.Persistence/Migrations/SqlDbContextModelSnapshot.cs +++ b/gehGassi.Persistence/Migrations/SqlDbContextModelSnapshot.cs @@ -7818,6 +7818,9 @@ namespace gehGassi.Persistence.Migrations b.Property("PaymentStatus") .HasColumnType("int"); + b.Property("PaymentType") + .HasColumnType("int"); + b.Property("PickupLocation") .HasColumnType("geography"); @@ -8091,6 +8094,9 @@ namespace gehGassi.Persistence.Migrations b.Property("PaymentStatus") .HasColumnType("int"); + b.Property("PaymentType") + .HasColumnType("int"); + b.Property("PickupAddress_AddressLine1") .HasColumnType("nvarchar(max)"); diff --git a/gehGassi.Web/Controllers/WalkController.cs b/gehGassi.Web/Controllers/WalkController.cs index da1033d..a72c9b5 100644 --- a/gehGassi.Web/Controllers/WalkController.cs +++ b/gehGassi.Web/Controllers/WalkController.cs @@ -98,6 +98,8 @@ namespace gehGassi.Web.Controllers whereFilterPredicate.value = (WalkStatus)((int)((long)whereFilterPredicate.value)); if (whereFilterPredicate.Field == "paymentStatus") whereFilterPredicate.value = (PaymentStatus)((int)((long)whereFilterPredicate.value)); + if (whereFilterPredicate.Field == "paymentType") + whereFilterPredicate.value = (WalkPaymentType)((int)((long)whereFilterPredicate.value)); } } } @@ -120,6 +122,7 @@ namespace gehGassi.Web.Controllers itemVm.ServiceTypeText = itemVm.ServiceType.GetDisplayName(AnnotationsLocalizer); itemVm.StatusText = itemVm.Status.GetDisplayName(AnnotationsLocalizer); itemVm.PaymentStatusText = itemVm.PaymentStatus.GetDisplayName(AnnotationsLocalizer); + itemVm.PaymentTypeText = itemVm.PaymentType.GetDisplayName(AnnotationsLocalizer); } //FilterPreview? diff --git a/gehGassi.Web/Mapper/MappingProfile.cs b/gehGassi.Web/Mapper/MappingProfile.cs index 24e24fe..0f0b726 100644 --- a/gehGassi.Web/Mapper/MappingProfile.cs +++ b/gehGassi.Web/Mapper/MappingProfile.cs @@ -135,6 +135,9 @@ namespace gehGassi.Web.Mapper CreateMap(); CreateMap(); + CreateMap(); + CreateMap(); + CreateMap(); CreateMap(); diff --git a/gehGassi.Web/Models/EnumsVm.cs b/gehGassi.Web/Models/EnumsVm.cs index 1ad0be3..11311d0 100644 --- a/gehGassi.Web/Models/EnumsVm.cs +++ b/gehGassi.Web/Models/EnumsVm.cs @@ -378,6 +378,23 @@ namespace gehGassi.Web.Models RefundendAndPayed = 60 } + /// + /// Zahlungsart für einen Walk + /// + public enum WalkPaymentTypeVm + { + /// + /// Mit MangoPay bezahlen (z.B. Kreditkarte) + /// + [Display(Name = "WalkPaymentType_MangoPay")] + MangoPay = 1, + /// + /// Barzahlung + /// + [Display(Name = "WalkPaymentType_Cash")] + Cash = 10 + } + /// /// Status einer Bestellung /// diff --git a/gehGassi.Web/Models/WalkWithNamesVm.cs b/gehGassi.Web/Models/WalkWithNamesVm.cs index 0e4309d..6a3e25f 100644 --- a/gehGassi.Web/Models/WalkWithNamesVm.cs +++ b/gehGassi.Web/Models/WalkWithNamesVm.cs @@ -220,6 +220,11 @@ namespace gehGassi.Web.Models /// public PaymentStatusVm PaymentStatus { get; set; } + /// + /// Zahlungsart des Walks + /// + public WalkPaymentTypeVm PaymentType { get; set; } + #endregion /// @@ -380,6 +385,16 @@ namespace gehGassi.Web.Models /// public string PaymentStatusText { get; set; } + /// + /// Welche Art von Bezahlung wurde verwendet + /// + public WalkPaymentTypeVm PaymentType { get; set; } + + /// + /// Welche Art von Bezahlung wurde verwendet + /// + public string PaymentTypeText { get; set; } + #endregion /// diff --git a/gehGassi.Web/TS/Common/Models.ts b/gehGassi.Web/TS/Common/Models.ts index c7df4d2..5667f2d 100644 --- a/gehGassi.Web/TS/Common/Models.ts +++ b/gehGassi.Web/TS/Common/Models.ts @@ -229,7 +229,15 @@ export enum PaymentStatus { /**Entwertet */ Voided = 50, /**Rückerstattet gehgassi */ - RefundendAndPayed = 60, + RefundendAndPayed = 60 +} + +/**Zahlungsarten Walk */ +export enum WalkPaymentType { + /**MangoPay */ + MangoPay = 1, + /**Cash */ + Cash = 10 } /**Geoeinschränkungen für Listungen und Werbungen */ @@ -2473,6 +2481,9 @@ export class WalkWithNamesListItem extends SyncEntity { /**Zahlungsstatus des Walks */ paymentStatus: PaymentStatus; + /**Zahlungsart des Walks */ + paymentType: WalkPaymentType; + /**Datum der Erstellung des Walks */ created: Date | string; } diff --git a/gehGassi.Web/TS/Views/Walks/Index.ts b/gehGassi.Web/TS/Views/Walks/Index.ts index 766becc..4e08bf3 100644 --- a/gehGassi.Web/TS/Views/Walks/Index.ts +++ b/gehGassi.Web/TS/Views/Walks/Index.ts @@ -15,6 +15,7 @@ import WalkType = Models.WalkType; import WalkStatus = Models.WalkStatus; import WalkServiceType = Models.WalkServiceType; import PaymentStatus = Models.PaymentStatus; +import WalkPaymentType = Models.WalkPaymentType; class WalksModule { @@ -40,6 +41,9 @@ class WalksModule { private _paymentStatusList; private _filterPaymentStatus: DropDownList; + private _paymentTypeList; + private _filterPaymentType: DropDownList; + constructor() { this._global = Global.getInstance(); this._eventManager = EventManager.getInstance(); @@ -95,6 +99,10 @@ class WalksModule { { value: PaymentStatus.Voided, text: self._localizationMananger.get("PaymentStatus_Voided") }, { value: PaymentStatus.RefundendAndPayed, text: self._localizationMananger.get("PaymentStatus_RefundendAndPayed") }]; + self._paymentTypeList = [ + { value: WalkPaymentType.MangoPay, text: self._localizationMananger.get("WalkPaymentType_MangoPay")}, + { value: WalkPaymentType.Cash, text: self._localizationMananger.get("WalkPaymentType_Cash") }]; + self._dataManager = new DataManager({ url: $(self.prefix("#jsGetUrl")).val(), adaptor: new UrlAdaptor(), @@ -201,6 +209,32 @@ class WalksModule { } } }, + { + field: "paymentType", headerText: self._localizationMananger.get("Walk_PaymentType"), type: "number", template: "${paymentTypeText}", + filter: { + ui: { + create: (args: { target: Element, column: Object }) => { + let flValInput: HTMLElement = createElement("input", { className: "flm-input" }); + args.target.appendChild(flValInput); + self._filterPaymentType = new DropDownList({ + dataSource: new DataManager(self._paymentTypeList), + fields: { text: "text", value: "value" }, + placeholder: self._localizationMananger.get("Common_Select"), + popupHeight: "200px" + }); + self._filterPaymentType.appendTo(flValInput); + }, + write: (args: { + column: Object, target: Element, parent: any, filteredValue: number | string + }) => { + self._filterPaymentType.value = args.filteredValue; + }, + read: (args: { target: Element, column: any, operator: string, fltrObj: Filter }) => { + args.fltrObj.filterByColumn(args.column.field, args.operator, self._filterPaymentType.value); + } + } + } + }, { field: "paymentStatus", headerText: self._localizationMananger.get("Walk_PaymentStatus"), type: "number", template: "${paymentStatusText}", filter: { diff --git a/gehGassi.Web/Views/Walk/_Details.cshtml b/gehGassi.Web/Views/Walk/_Details.cshtml index d12aab0..13c2349 100644 --- a/gehGassi.Web/Views/Walk/_Details.cshtml +++ b/gehGassi.Web/Views/Walk/_Details.cshtml @@ -65,6 +65,13 @@
@annotationsLocalizer["Walk_Status"]
@Model.Status.GetDisplayName(annotationsLocalizer) + + +
+
+
@annotationsLocalizer["Walk_PaymentType"]
+ @Model.PaymentType.GetDisplayName(annotationsLocalizer) +
@annotationsLocalizer["Walk_PaymentStatus"]
@Model.PaymentStatus.GetDisplayName(annotationsLocalizer) diff --git a/gehGassi.Web/appsettings.Live.json b/gehGassi.Web/appsettings.Live.json index 164838d..8c7b2a7 100644 --- a/gehGassi.Web/appsettings.Live.json +++ b/gehGassi.Web/appsettings.Live.json @@ -22,10 +22,10 @@ "LicenseOptions": { "Address": "https://gehgassi.com", "Software": "gehgassi", - "Version": "1.0.99" + "Version": "1.0.100" }, "SystemJsOptions": { - "FileVersion": "1.0.99" + "FileVersion": "1.0.100" }, "SessionSettings": { "TimeOut": "60", diff --git a/gehGassi.Web/appsettings.Production.json b/gehGassi.Web/appsettings.Production.json index 844fa6e..a179f38 100644 --- a/gehGassi.Web/appsettings.Production.json +++ b/gehGassi.Web/appsettings.Production.json @@ -23,10 +23,10 @@ "LicenseOptions": { "Address": "https://creativeBITS.com", "Software": "gehgassi", - "Version": "1.0.99" + "Version": "1.0.100" }, "SystemJsOptions": { - "FileVersion": "1.0.99" + "FileVersion": "1.0.100" }, "SessionSettings": { "TimeOut": "60", diff --git a/gehGassi.Web/appsettings.Staging.json b/gehGassi.Web/appsettings.Staging.json index 42a6eda..1f2b5d9 100644 --- a/gehGassi.Web/appsettings.Staging.json +++ b/gehGassi.Web/appsettings.Staging.json @@ -22,10 +22,10 @@ "LicenseOptions": { "Address": "https://gehGassi.creativeBITS.eu", "Software": "gehgassi", - "Version": "1.0.99" + "Version": "1.0.100" }, "SystemJsOptions": { - "FileVersion": "1.0.99" + "FileVersion": "1.0.100" }, "SessionSettings": { "TimeOut": "60", diff --git a/gehGassi.Web/appsettings.json b/gehGassi.Web/appsettings.json index 10a3984..e475914 100644 --- a/gehGassi.Web/appsettings.json +++ b/gehGassi.Web/appsettings.json @@ -23,10 +23,10 @@ "LicenseOptions": { "Address": "https://creativeBITS.com", "Software": "gehgassi", - "Version": "1.0.99" + "Version": "1.0.100" }, "SystemJsOptions": { - "FileVersion": "1.0.99" + "FileVersion": "1.0.100" }, "SessionSettings": { "TimeOut": "60",