divan/RMuseum/Migrations/RMuseumDbContextModelSnapshot.cs
Hamid Reza Mohammadi 445b7b1b8f #233 db migration
2021-10-29 09:24:22 +03:30

3330 lines
117 KiB
C#

// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using NetTopologySuite.Geometries;
using RMuseum.DbContext;
namespace RMuseum.Migrations
{
[DbContext(typeof(RMuseumDbContext))]
partial class RMuseumDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("Relational:MaxIdentifierLength", 128)
.HasAnnotation("ProductVersion", "5.0.11")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<System.Guid>", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("ClaimType")
.HasColumnType("nvarchar(max)");
b.Property<string>("ClaimValue")
.HasColumnType("nvarchar(max)");
b.Property<Guid>("RoleId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("RoleId");
b.ToTable("AspNetRoleClaims");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<System.Guid>", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("ClaimType")
.HasColumnType("nvarchar(max)");
b.Property<string>("ClaimValue")
.HasColumnType("nvarchar(max)");
b.Property<Guid>("UserId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("AspNetUserClaims");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<System.Guid>", b =>
{
b.Property<string>("LoginProvider")
.HasColumnType("nvarchar(450)");
b.Property<string>("ProviderKey")
.HasColumnType("nvarchar(450)");
b.Property<string>("ProviderDisplayName")
.HasColumnType("nvarchar(max)");
b.Property<Guid>("UserId")
.HasColumnType("uniqueidentifier");
b.HasKey("LoginProvider", "ProviderKey");
b.HasIndex("UserId");
b.ToTable("AspNetUserLogins");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<System.Guid>", b =>
{
b.Property<Guid>("UserId")
.HasColumnType("uniqueidentifier");
b.Property<Guid>("RoleId")
.HasColumnType("uniqueidentifier");
b.HasKey("UserId", "RoleId");
b.HasIndex("RoleId");
b.ToTable("AspNetUserRoles");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<System.Guid>", b =>
{
b.Property<Guid>("UserId")
.HasColumnType("uniqueidentifier");
b.Property<string>("LoginProvider")
.HasColumnType("nvarchar(450)");
b.Property<string>("Name")
.HasColumnType("nvarchar(450)");
b.Property<string>("Value")
.HasColumnType("nvarchar(max)");
b.HasKey("UserId", "LoginProvider", "Name");
b.ToTable("AspNetUserTokens");
});
modelBuilder.Entity("RMuseum.Models.Accounting.DonationExpenditure", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<decimal>("Amount")
.HasColumnType("decimal(18,2)");
b.Property<int>("GanjoorDonationId")
.HasColumnType("int");
b.Property<int?>("GanjoorExpenseId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("GanjoorDonationId");
b.HasIndex("GanjoorExpenseId");
b.ToTable("DonationExpenditure");
});
modelBuilder.Entity("RMuseum.Models.Accounting.GanjoorDonation", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<decimal>("Amount")
.HasColumnType("decimal(18,2)");
b.Property<string>("AmountString")
.HasColumnType("nvarchar(max)");
b.Property<string>("DateString")
.HasColumnType("nvarchar(max)");
b.Property<string>("DonorLink")
.HasColumnType("nvarchar(max)");
b.Property<string>("DonorName")
.HasColumnType("nvarchar(max)");
b.Property<string>("ExpenditureDesc")
.HasColumnType("nvarchar(max)");
b.Property<bool>("ImportedRecord")
.HasColumnType("bit");
b.Property<DateTime>("RecordDate")
.HasColumnType("datetime2");
b.Property<decimal>("Remaining")
.HasColumnType("decimal(18,2)");
b.Property<string>("Unit")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("GanjoorDonations");
});
modelBuilder.Entity("RMuseum.Models.Accounting.GanjoorExpense", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<decimal>("Amount")
.HasColumnType("decimal(18,2)");
b.Property<string>("Description")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("ExpenseDate")
.HasColumnType("datetime2");
b.Property<string>("Unit")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("GanjoorExpenses");
});
modelBuilder.Entity("RMuseum.Models.Artifact.RArtifactItemRecord", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<int>("CoverImageIndex")
.HasColumnType("int");
b.Property<string>("Description")
.HasColumnType("nvarchar(max)");
b.Property<string>("DescriptionInEnglish")
.HasColumnType("nvarchar(max)");
b.Property<string>("FriendlyUrl")
.HasColumnType("nvarchar(450)");
b.Property<DateTime>("LastModified")
.HasColumnType("datetime2");
b.Property<string>("Name")
.HasColumnType("nvarchar(max)");
b.Property<string>("NameInEnglish")
.HasColumnType("nvarchar(max)");
b.Property<int>("Order")
.HasColumnType("int");
b.Property<Guid>("RArtifactMasterRecordId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("RArtifactMasterRecordId", "FriendlyUrl")
.IsUnique()
.HasFilter("[FriendlyUrl] IS NOT NULL");
b.HasIndex("RArtifactMasterRecordId", "Order")
.IsUnique();
b.ToTable("Items");
});
modelBuilder.Entity("RMuseum.Models.Artifact.RArtifactMasterRecord", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<Guid>("CoverImageId")
.HasColumnType("uniqueidentifier");
b.Property<int>("CoverItemIndex")
.HasColumnType("int");
b.Property<DateTime>("DateTime")
.HasColumnType("datetime2");
b.Property<string>("Description")
.HasColumnType("nvarchar(max)");
b.Property<string>("DescriptionInEnglish")
.HasColumnType("nvarchar(max)");
b.Property<string>("FriendlyUrl")
.HasColumnType("nvarchar(450)");
b.Property<int>("ItemCount")
.HasColumnType("int");
b.Property<DateTime>("LastModified")
.HasColumnType("datetime2");
b.Property<string>("Name")
.HasColumnType("nvarchar(max)");
b.Property<string>("NameInEnglish")
.HasColumnType("nvarchar(max)");
b.Property<int>("Status")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("CoverImageId");
b.HasIndex("FriendlyUrl")
.IsUnique()
.HasFilter("[FriendlyUrl] IS NOT NULL");
b.HasIndex("LastModified");
b.HasIndex("CoverItemIndex", "Status");
b.ToTable("Artifacts");
});
modelBuilder.Entity("RMuseum.Models.Artifact.RTag", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<string>("FriendlyUrl")
.HasColumnType("nvarchar(450)");
b.Property<bool>("GlobalValue")
.HasColumnType("bit");
b.Property<string>("Name")
.HasColumnType("nvarchar(max)");
b.Property<string>("NameInEnglish")
.HasColumnType("nvarchar(max)");
b.Property<int>("Order")
.HasColumnType("int");
b.Property<string>("PluralName")
.HasColumnType("nvarchar(max)");
b.Property<string>("PluralNameInEnglish")
.HasColumnType("nvarchar(max)");
b.Property<int>("Status")
.HasColumnType("int");
b.Property<int>("TagType")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("FriendlyUrl");
b.ToTable("Tags");
});
modelBuilder.Entity("RMuseum.Models.Artifact.RTagValue", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<string>("FriendlyUrl")
.HasColumnType("nvarchar(450)");
b.Property<int>("Order")
.HasColumnType("int");
b.Property<Guid?>("RArtifactItemRecordId")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("RArtifactMasterRecordId")
.HasColumnType("uniqueidentifier");
b.Property<Guid>("RTagId")
.HasColumnType("uniqueidentifier");
b.Property<int>("Status")
.HasColumnType("int");
b.Property<string>("Value")
.HasColumnType("nvarchar(max)");
b.Property<string>("ValueInEnglish")
.HasColumnType("nvarchar(max)");
b.Property<string>("ValueSupplement")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("FriendlyUrl");
b.HasIndex("RArtifactItemRecordId");
b.HasIndex("RArtifactMasterRecordId");
b.HasIndex("RTagId");
b.ToTable("TagValues");
});
modelBuilder.Entity("RMuseum.Models.Bookmark.RUserBookmark", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("DateTime")
.HasColumnType("datetime2");
b.Property<string>("Note")
.HasColumnType("nvarchar(max)");
b.Property<Guid>("RAppUserId")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("RArtifactItemRecordId")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("RArtifactMasterRecordId")
.HasColumnType("uniqueidentifier");
b.Property<int>("RBookmarkType")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("RAppUserId");
b.HasIndex("RArtifactItemRecordId");
b.HasIndex("RArtifactMasterRecordId");
b.ToTable("UserBookmarks");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorCat", b =>
{
b.Property<int>("Id")
.HasColumnType("int");
b.Property<string>("FullUrl")
.HasColumnType("nvarchar(450)");
b.Property<int?>("ParentId")
.HasColumnType("int");
b.Property<int>("PoetId")
.HasColumnType("int");
b.Property<string>("Title")
.HasColumnType("nvarchar(max)");
b.Property<string>("UrlSlug")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("FullUrl");
b.HasIndex("PoetId");
b.HasIndex("ParentId", "PoetId")
.HasAnnotation("SqlServer:Include", new[] { "Id" });
b.ToTable("GanjoorCategories");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorCentury", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<int>("EndYear")
.HasColumnType("int");
b.Property<int>("HalfCenturyOrder")
.HasColumnType("int");
b.Property<string>("Name")
.HasColumnType("nvarchar(max)");
b.Property<bool>("ShowInTimeLine")
.HasColumnType("bit");
b.Property<int>("StartYear")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("GanjoorCenturies");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorCenturyPoet", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<int?>("GanjoorCenturyId")
.HasColumnType("int");
b.Property<int?>("PoetId")
.HasColumnType("int");
b.Property<int>("PoetOrder")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("GanjoorCenturyId");
b.HasIndex("PoetId");
b.ToTable("GanjoorCenturyPoet");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorComment", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("AuthorEmail")
.HasColumnType("nvarchar(max)");
b.Property<string>("AuthorIpAddress")
.HasColumnType("nvarchar(max)");
b.Property<string>("AuthorName")
.HasColumnType("nvarchar(max)");
b.Property<string>("AuthorUrl")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("CommentDate")
.HasColumnType("datetime2");
b.Property<int?>("CoupletIndex")
.HasColumnType("int");
b.Property<string>("HtmlComment")
.HasColumnType("nvarchar(max)");
b.Property<int?>("InReplyToId")
.HasColumnType("int");
b.Property<int>("PoemId")
.HasColumnType("int");
b.Property<int>("Status")
.HasColumnType("int");
b.Property<Guid?>("UserId")
.HasColumnType("uniqueidentifier");
b.Property<int?>("Verse12d")
.HasColumnType("int");
b.Property<int?>("Verse1Id")
.HasColumnType("int");
b.Property<int?>("Verse2Id")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("CommentDate");
b.HasIndex("InReplyToId");
b.HasIndex("PoemId");
b.HasIndex("Status");
b.HasIndex("UserId");
b.HasIndex("Verse1Id");
b.HasIndex("Verse2Id");
b.ToTable("GanjoorComments");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorCommentAbuseReport", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<int>("GanjoorCommentId")
.HasColumnType("int");
b.Property<string>("ReasonCode")
.HasColumnType("nvarchar(max)");
b.Property<string>("ReasonText")
.HasColumnType("nvarchar(max)");
b.Property<Guid?>("ReportedById")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("GanjoorCommentId");
b.HasIndex("ReportedById");
b.ToTable("GanjoorReportedComments");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorGeoLocation", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<Point>("Location")
.HasColumnType("geography");
b.Property<string>("Name")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("GanjoorGeoLocations");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorHealthCheckError", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<bool>("BrokenLink")
.HasColumnType("bit");
b.Property<bool>("MulipleTargets")
.HasColumnType("bit");
b.Property<string>("ReferrerPageUrl")
.HasColumnType("nvarchar(max)");
b.Property<string>("TargetUrl")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("GanjoorHealthCheckErrors");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorLanguage", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("Code")
.HasColumnType("nvarchar(max)");
b.Property<string>("Description")
.HasColumnType("nvarchar(max)");
b.Property<string>("Name")
.HasColumnType("nvarchar(450)");
b.Property<string>("NativeName")
.HasColumnType("nvarchar(max)");
b.Property<bool>("RightToLeft")
.HasColumnType("bit");
b.HasKey("Id");
b.HasIndex("Name")
.IsUnique()
.HasFilter("[Name] IS NOT NULL");
b.ToTable("GanjoorLanguages");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorMetre", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("Description")
.HasColumnType("nvarchar(max)");
b.Property<string>("Name")
.HasColumnType("nvarchar(max)");
b.Property<string>("Rhythm")
.HasColumnType("nvarchar(max)");
b.Property<string>("UrlSlug")
.HasColumnType("nvarchar(max)");
b.Property<int>("VerseCount")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("GanjoorMetres");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorNumbering", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<int?>("EndCatId")
.HasColumnType("int");
b.Property<DateTime>("LastCountingDate")
.HasColumnType("datetime2");
b.Property<string>("Name")
.HasColumnType("nvarchar(max)");
b.Property<int>("StartCatId")
.HasColumnType("int");
b.Property<int>("TotalCouplets")
.HasColumnType("int");
b.Property<int>("TotalLines")
.HasColumnType("int");
b.Property<int>("TotalParagraphs")
.HasColumnType("int");
b.Property<int>("TotalVerses")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("EndCatId");
b.HasIndex("StartCatId");
b.ToTable("GanjoorNumberings");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPage", b =>
{
b.Property<int>("Id")
.HasColumnType("int");
b.Property<int?>("CatId")
.HasColumnType("int");
b.Property<string>("FullTitle")
.HasColumnType("nvarchar(max)");
b.Property<string>("FullUrl")
.HasColumnType("nvarchar(450)");
b.Property<int>("GanjoorPageType")
.HasColumnType("int");
b.Property<string>("HtmlText")
.HasColumnType("nvarchar(max)");
b.Property<int>("PageOrder")
.HasColumnType("int");
b.Property<int?>("ParentId")
.HasColumnType("int");
b.Property<int?>("PoemId")
.HasColumnType("int");
b.Property<int?>("PoetId")
.HasColumnType("int");
b.Property<DateTime>("PostDate")
.HasColumnType("datetime2");
b.Property<bool>("Published")
.HasColumnType("bit");
b.Property<int?>("SecondPoetId")
.HasColumnType("int");
b.Property<string>("Title")
.HasColumnType("nvarchar(max)");
b.Property<string>("UrlSlug")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("CatId");
b.HasIndex("FullUrl");
b.HasIndex("ParentId");
b.HasIndex("PoemId");
b.HasIndex("PoetId");
b.HasIndex("SecondPoetId");
b.ToTable("GanjoorPages");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPageSnapshot", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<int>("GanjoorPageId")
.HasColumnType("int");
b.Property<string>("HtmlText")
.HasColumnType("nvarchar(max)");
b.Property<Guid>("MadeObsoleteByUserId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Note")
.HasColumnType("nvarchar(max)");
b.Property<string>("OldTag")
.HasColumnType("nvarchar(max)");
b.Property<string>("OldTagPageUrl")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("RecordDate")
.HasColumnType("datetime2");
b.Property<string>("RhymeLetters")
.HasColumnType("nvarchar(max)");
b.Property<string>("Rhythm")
.HasColumnType("nvarchar(max)");
b.Property<string>("SourceName")
.HasColumnType("nvarchar(max)");
b.Property<string>("SourceUrlSlug")
.HasColumnType("nvarchar(max)");
b.Property<string>("Title")
.HasColumnType("nvarchar(max)");
b.Property<string>("UrlSlug")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("GanjoorPageId");
b.HasIndex("MadeObsoleteByUserId");
b.ToTable("GanjoorPageSnapshots");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPoem", b =>
{
b.Property<int>("Id")
.HasColumnType("int");
b.Property<int>("CatId")
.HasColumnType("int");
b.Property<string>("FullTitle")
.HasColumnType("nvarchar(max)");
b.Property<string>("FullUrl")
.HasColumnType("nvarchar(450)");
b.Property<int?>("GanjoorMetreId")
.HasColumnType("int");
b.Property<string>("HtmlText")
.HasColumnType("nvarchar(max)");
b.Property<string>("OldTag")
.HasColumnType("nvarchar(max)");
b.Property<string>("OldTagPageUrl")
.HasColumnType("nvarchar(max)");
b.Property<string>("PlainText")
.HasColumnType("nvarchar(max)");
b.Property<string>("RhymeLetters")
.HasColumnType("nvarchar(max)");
b.Property<string>("SourceName")
.HasColumnType("nvarchar(max)");
b.Property<string>("SourceUrlSlug")
.HasColumnType("nvarchar(max)");
b.Property<string>("Title")
.HasColumnType("nvarchar(max)");
b.Property<string>("UrlSlug")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("CatId");
b.HasIndex("FullUrl");
b.HasIndex("GanjoorMetreId");
b.HasIndex("Id");
b.ToTable("GanjoorPoems");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPoemCorrection", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<bool>("AffectedThePoem")
.HasColumnType("bit");
b.Property<int>("ApplicationOrder")
.HasColumnType("int");
b.Property<DateTime>("Date")
.HasColumnType("datetime2");
b.Property<string>("Note")
.HasColumnType("nvarchar(max)");
b.Property<string>("OriginalRhythm")
.HasColumnType("nvarchar(max)");
b.Property<string>("OriginalTitle")
.HasColumnType("nvarchar(max)");
b.Property<int>("PoemId")
.HasColumnType("int");
b.Property<int>("Result")
.HasColumnType("int");
b.Property<DateTime>("ReviewDate")
.HasColumnType("datetime2");
b.Property<string>("ReviewNote")
.HasColumnType("nvarchar(max)");
b.Property<bool>("Reviewed")
.HasColumnType("bit");
b.Property<Guid?>("ReviewerUserId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Rhythm")
.HasColumnType("nvarchar(max)");
b.Property<int>("RhythmResult")
.HasColumnType("int");
b.Property<string>("Title")
.HasColumnType("nvarchar(max)");
b.Property<Guid>("UserId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("PoemId");
b.HasIndex("ReviewerUserId");
b.HasIndex("UserId");
b.ToTable("GanjoorPoemCorrections");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPoemTranslation", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<DateTime>("DateTime")
.HasColumnType("datetime2");
b.Property<string>("Description")
.HasColumnType("nvarchar(max)");
b.Property<int>("LanguageId")
.HasColumnType("int");
b.Property<int>("PoemId")
.HasColumnType("int");
b.Property<bool>("Published")
.HasColumnType("bit");
b.Property<string>("Title")
.HasColumnType("nvarchar(max)");
b.Property<Guid>("UserId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("LanguageId");
b.HasIndex("PoemId");
b.HasIndex("UserId");
b.ToTable("GanjoorPoemTranslations");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPoet", b =>
{
b.Property<int>("Id")
.HasColumnType("int");
b.Property<int?>("BirthLocationId")
.HasColumnType("int");
b.Property<int>("BirthYearInLHijri")
.HasColumnType("int");
b.Property<int?>("DeathLocationId")
.HasColumnType("int");
b.Property<int>("DeathYearInLHijri")
.HasColumnType("int");
b.Property<string>("Description")
.HasColumnType("nvarchar(max)");
b.Property<string>("Name")
.HasColumnType("nvarchar(max)");
b.Property<string>("Nickname")
.HasColumnType("nvarchar(max)");
b.Property<int>("PinOrder")
.HasColumnType("int");
b.Property<bool>("Published")
.HasColumnType("bit");
b.Property<Guid?>("RImageId")
.HasColumnType("uniqueidentifier");
b.Property<bool>("ValidBirthDate")
.HasColumnType("bit");
b.Property<bool>("ValidDeathDate")
.HasColumnType("bit");
b.HasKey("Id");
b.HasIndex("BirthLocationId");
b.HasIndex("DeathLocationId");
b.HasIndex("RImageId");
b.HasIndex("Published", "Id")
.HasAnnotation("SqlServer:Include", new[] { "Name", "Nickname", "RImageId" });
b.ToTable("GanjoorPoets");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorSiteBanner", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<bool>("Active")
.HasColumnType("bit");
b.Property<string>("AlternateText")
.HasColumnType("nvarchar(max)");
b.Property<Guid>("RImageId")
.HasColumnType("uniqueidentifier");
b.Property<string>("TargetUrl")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("RImageId");
b.ToTable("GanjoorSiteBanners");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorUserBookmark", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<int>("CoupletIndex")
.HasColumnType("int");
b.Property<DateTime>("DateTime")
.HasColumnType("datetime2");
b.Property<int>("PoemId")
.HasColumnType("int");
b.Property<Guid>("UserId")
.HasColumnType("uniqueidentifier");
b.Property<int?>("Verse2Id")
.HasColumnType("int");
b.Property<int?>("VerseId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("PoemId");
b.HasIndex("UserId", "PoemId", "CoupletIndex");
b.ToTable("GanjoorUserBookmarks");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorVerse", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<int?>("CoupletIndex")
.HasColumnType("int");
b.Property<int>("PoemId")
.HasColumnType("int");
b.Property<string>("Text")
.HasColumnType("nvarchar(max)");
b.Property<int>("VOrder")
.HasColumnType("int");
b.Property<int>("VersePosition")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("PoemId");
b.HasIndex("PoemId", "CoupletIndex");
b.ToTable("GanjoorVerses");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorVerseNumber", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<int>("CoupletIndex")
.HasColumnType("int");
b.Property<bool>("IsPoemVerse")
.HasColumnType("bit");
b.Property<int>("Number")
.HasColumnType("int");
b.Property<int>("NumberingId")
.HasColumnType("int");
b.Property<int>("PoemId")
.HasColumnType("int");
b.Property<int>("SameTypeNumber")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("PoemId", "CoupletIndex");
b.HasIndex("NumberingId", "PoemId", "CoupletIndex")
.IsUnique();
b.ToTable("GanjoorVerseNumbers");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorVerseTranslation", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<int?>("GanjoorPoemTranslationId")
.HasColumnType("int");
b.Property<string>("TText")
.HasColumnType("nvarchar(max)");
b.Property<int>("VerseId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("GanjoorPoemTranslationId");
b.HasIndex("VerseId");
b.ToTable("GanjoorVerseTranslation");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorVerseVOrderText", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<int?>("GanjoorPoemCorrectionId")
.HasColumnType("int");
b.Property<string>("OriginalText")
.HasColumnType("nvarchar(max)");
b.Property<int>("Result")
.HasColumnType("int");
b.Property<string>("ReviewNote")
.HasColumnType("nvarchar(max)");
b.Property<string>("Text")
.HasColumnType("nvarchar(max)");
b.Property<int>("VORder")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("GanjoorPoemCorrectionId");
b.ToTable("GanjoorVerseVOrderText");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.PoemMusicTrack", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("AlbumName")
.HasColumnType("nvarchar(max)");
b.Property<string>("AlbumUrl")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("ApprovalDate")
.HasColumnType("datetime2");
b.Property<bool>("Approved")
.HasColumnType("bit");
b.Property<string>("ArtistName")
.HasColumnType("nvarchar(max)");
b.Property<string>("ArtistUrl")
.HasColumnType("nvarchar(max)");
b.Property<bool>("BrokenLink")
.HasColumnType("bit");
b.Property<string>("Description")
.HasColumnType("nvarchar(max)");
b.Property<int?>("GanjoorTrackId")
.HasColumnType("int");
b.Property<int?>("GolhaTrackId")
.HasColumnType("int");
b.Property<int>("PoemId")
.HasColumnType("int");
b.Property<bool>("Rejected")
.HasColumnType("bit");
b.Property<string>("RejectionCause")
.HasColumnType("nvarchar(max)");
b.Property<int?>("SingerId")
.HasColumnType("int");
b.Property<int>("SongOrder")
.HasColumnType("int");
b.Property<Guid?>("SuggestedById")
.HasColumnType("uniqueidentifier");
b.Property<string>("TrackName")
.HasColumnType("nvarchar(max)");
b.Property<int>("TrackType")
.HasColumnType("int");
b.Property<string>("TrackUrl")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("GanjoorTrackId");
b.HasIndex("GolhaTrackId");
b.HasIndex("PoemId");
b.HasIndex("SingerId");
b.HasIndex("SuggestedById");
b.HasIndex("Approved", "Rejected");
b.ToTable("GanjoorPoemMusicTracks");
});
modelBuilder.Entity("RMuseum.Models.GanjoorAudio.Recitation", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("AudioArtist")
.HasColumnType("nvarchar(max)");
b.Property<string>("AudioArtistUrl")
.HasColumnType("nvarchar(max)");
b.Property<int>("AudioOrder")
.HasColumnType("int");
b.Property<string>("AudioSrc")
.HasColumnType("nvarchar(max)");
b.Property<string>("AudioSrcUrl")
.HasColumnType("nvarchar(max)");
b.Property<int>("AudioSyncStatus")
.HasColumnType("int");
b.Property<string>("AudioTitle")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("FileLastUpdated")
.HasColumnType("datetime2");
b.Property<string>("FileNameWithoutExtension")
.HasColumnType("nvarchar(max)");
b.Property<int>("GanjoorAudioId")
.HasColumnType("int");
b.Property<int>("GanjoorPostId")
.HasColumnType("int");
b.Property<Guid>("LegacyAudioGuid")
.HasColumnType("uniqueidentifier");
b.Property<string>("LocalMp3FilePath")
.HasColumnType("nvarchar(max)");
b.Property<string>("LocalXmlFilePath")
.HasColumnType("nvarchar(max)");
b.Property<string>("Mp3FileCheckSum")
.HasColumnType("nvarchar(max)");
b.Property<int>("Mp3SizeInBytes")
.HasColumnType("int");
b.Property<int>("OggSizeInBytes")
.HasColumnType("int");
b.Property<Guid>("OwnerId")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("ReviewDate")
.HasColumnType("datetime2");
b.Property<string>("ReviewMsg")
.HasColumnType("nvarchar(max)");
b.Property<int>("ReviewStatus")
.HasColumnType("int");
b.Property<Guid?>("ReviewerId")
.HasColumnType("uniqueidentifier");
b.Property<string>("SoundFilesFolder")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("UploadDate")
.HasColumnType("datetime2");
b.HasKey("Id");
b.HasIndex("GanjoorAudioId");
b.HasIndex("GanjoorPostId");
b.HasIndex("OwnerId");
b.HasIndex("ReviewerId");
b.HasIndex("ReviewStatus", "GanjoorPostId");
b.ToTable("Recitations");
});
modelBuilder.Entity("RMuseum.Models.GanjoorAudio.RecitationPublishingTracker", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("FinishDate")
.HasColumnType("datetime2");
b.Property<bool>("Finished")
.HasColumnType("bit");
b.Property<bool>("FirstDbUpdated")
.HasColumnType("bit");
b.Property<string>("LastException")
.HasColumnType("nvarchar(max)");
b.Property<bool>("Mp3FileCopied")
.HasColumnType("bit");
b.Property<int>("PoemNarrationId")
.HasColumnType("int");
b.Property<bool>("SecondDbUpdated")
.HasColumnType("bit");
b.Property<DateTime>("StartDate")
.HasColumnType("datetime2");
b.Property<bool>("XmlFileCopied")
.HasColumnType("bit");
b.HasKey("Id");
b.HasIndex("PoemNarrationId");
b.ToTable("RecitationPublishingTrackers");
});
modelBuilder.Entity("RMuseum.Models.GanjoorAudio.UserRecitationProfile", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<string>("ArtistName")
.HasColumnType("nvarchar(max)");
b.Property<string>("ArtistUrl")
.HasColumnType("nvarchar(max)");
b.Property<string>("AudioSrc")
.HasColumnType("nvarchar(max)");
b.Property<string>("AudioSrcUrl")
.HasColumnType("nvarchar(max)");
b.Property<string>("FileSuffixWithoutDash")
.HasColumnType("nvarchar(max)");
b.Property<bool>("IsDefault")
.HasColumnType("bit");
b.Property<string>("Name")
.HasColumnType("nvarchar(max)");
b.Property<Guid>("UserId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("UserRecitationProfiles");
});
modelBuilder.Entity("RMuseum.Models.GanjoorIntegration.GanjoorLink", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<Guid>("ArtifactId")
.HasColumnType("uniqueidentifier");
b.Property<bool>("DisplayOnPage")
.HasColumnType("bit");
b.Property<int>("GanjoorPostId")
.HasColumnType("int");
b.Property<string>("GanjoorTitle")
.HasColumnType("nvarchar(max)");
b.Property<string>("GanjoorUrl")
.HasColumnType("nvarchar(max)");
b.Property<Guid?>("ItemId")
.HasColumnType("uniqueidentifier");
b.Property<bool>("LinkToOriginalSource")
.HasColumnType("bit");
b.Property<string>("OriginalSourceUrl")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("ReviewDate")
.HasColumnType("datetime2");
b.Property<int>("ReviewResult")
.HasColumnType("int");
b.Property<Guid?>("ReviewerId")
.HasColumnType("uniqueidentifier");
b.Property<Guid>("SuggestedById")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("SuggestionDate")
.HasColumnType("datetime2");
b.Property<bool>("Synchronized")
.HasColumnType("bit");
b.HasKey("Id");
b.HasIndex("ArtifactId");
b.HasIndex("ItemId");
b.HasIndex("ReviewerId");
b.HasIndex("SuggestedById");
b.ToTable("GanjoorLinks");
});
modelBuilder.Entity("RMuseum.Models.GanjoorIntegration.PinterestLink", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<string>("AltText")
.HasColumnType("nvarchar(max)");
b.Property<Guid?>("ArtifactId")
.HasColumnType("uniqueidentifier");
b.Property<int>("GanjoorPostId")
.HasColumnType("int");
b.Property<string>("GanjoorTitle")
.HasColumnType("nvarchar(max)");
b.Property<string>("GanjoorUrl")
.HasColumnType("nvarchar(max)");
b.Property<Guid?>("ItemId")
.HasColumnType("uniqueidentifier");
b.Property<int>("LinkType")
.HasColumnType("int");
b.Property<string>("PinterestImageUrl")
.HasColumnType("nvarchar(max)");
b.Property<string>("PinterestUrl")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("ReviewDate")
.HasColumnType("datetime2");
b.Property<string>("ReviewDesc")
.HasColumnType("nvarchar(max)");
b.Property<int>("ReviewResult")
.HasColumnType("int");
b.Property<Guid?>("ReviewerId")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("SuggestedById")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("SuggestionDate")
.HasColumnType("datetime2");
b.Property<bool>("Synchronized")
.HasColumnType("bit");
b.HasKey("Id");
b.HasIndex("ArtifactId");
b.HasIndex("ItemId");
b.HasIndex("ReviewerId");
b.HasIndex("SuggestedById");
b.ToTable("PinterestLinks");
});
modelBuilder.Entity("RMuseum.Models.ImportJob.ImportJob", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("ArtifactId")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("EndTime")
.HasColumnType("datetime2");
b.Property<string>("Exception")
.HasColumnType("nvarchar(max)");
b.Property<string>("FriendlyUrl")
.HasColumnType("nvarchar(max)");
b.Property<int>("JobType")
.HasColumnType("int");
b.Property<decimal>("ProgressPercent")
.HasColumnType("decimal(18,2)");
b.Property<DateTime>("QueueTime")
.HasColumnType("datetime2");
b.Property<string>("ResourceNumber")
.HasColumnType("nvarchar(max)");
b.Property<string>("SrcContent")
.HasColumnType("nvarchar(max)");
b.Property<string>("SrcUrl")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("StartTime")
.HasColumnType("datetime2");
b.Property<int>("Status")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("ArtifactId");
b.ToTable("ImportJobs");
});
modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GanjoorAlbum", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("Name")
.HasColumnType("nvarchar(max)");
b.Property<int>("SingerId")
.HasColumnType("int");
b.Property<string>("Url")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("SingerId");
b.ToTable("GanjoorAlbum");
});
modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GanjoorSinger", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("Name")
.HasColumnType("nvarchar(450)");
b.Property<Guid?>("RImageId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Url")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("Name");
b.HasIndex("RImageId");
b.ToTable("GanjoorSingers");
});
modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GanjoorTrack", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<int>("AlbumId")
.HasColumnType("int");
b.Property<string>("BlockReason")
.HasColumnType("nvarchar(max)");
b.Property<bool>("Blocked")
.HasColumnType("bit");
b.Property<string>("Name")
.HasColumnType("nvarchar(450)");
b.Property<string>("Url")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("AlbumId");
b.HasIndex("Name");
b.ToTable("GanjoorMusicCatalogueTracks");
});
modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GolhaCollection", b =>
{
b.Property<int>("Id")
.HasColumnType("int");
b.Property<string>("Name")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("GolhaCollections");
});
modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GolhaProgram", b =>
{
b.Property<int>("Id")
.HasColumnType("int");
b.Property<int>("GolhaCollectionId")
.HasColumnType("int");
b.Property<string>("Mp3")
.HasColumnType("nvarchar(max)");
b.Property<int>("ProgramOrder")
.HasColumnType("int");
b.Property<string>("Title")
.HasColumnType("nvarchar(max)");
b.Property<string>("Url")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("GolhaCollectionId");
b.ToTable("GolhaPrograms");
});
modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GolhaTrack", b =>
{
b.Property<int>("Id")
.HasColumnType("int");
b.Property<string>("BlockReason")
.HasColumnType("nvarchar(max)");
b.Property<bool>("Blocked")
.HasColumnType("bit");
b.Property<int>("GolhaProgramId")
.HasColumnType("int");
b.Property<int?>("SingerId")
.HasColumnType("int");
b.Property<string>("Timing")
.HasColumnType("nvarchar(max)");
b.Property<string>("Title")
.HasColumnType("nvarchar(max)");
b.Property<int>("TrackNo")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("GolhaProgramId");
b.HasIndex("SingerId");
b.ToTable("GolhaTracks");
});
modelBuilder.Entity("RMuseum.Models.Note.RUserNote", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("DateTime")
.HasColumnType("datetime2");
b.Property<string>("HtmlContent")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("LastModified")
.HasColumnType("datetime2");
b.Property<bool>("Modified")
.HasColumnType("bit");
b.Property<int>("NoteType")
.HasColumnType("int");
b.Property<Guid>("RAppUserId")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("RArtifactItemRecordId")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("RArtifactMasterRecordId")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("ReferenceNoteId")
.HasColumnType("uniqueidentifier");
b.Property<int>("Status")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("RAppUserId");
b.HasIndex("RArtifactItemRecordId");
b.HasIndex("RArtifactMasterRecordId");
b.HasIndex("ReferenceNoteId");
b.ToTable("UserNotes");
});
modelBuilder.Entity("RMuseum.Models.UploadSession.UploadSession", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("ProcessEndTime")
.HasColumnType("datetime2");
b.Property<int>("ProcessProgress")
.HasColumnType("int");
b.Property<DateTime>("ProcessStartTime")
.HasColumnType("datetime2");
b.Property<int>("SessionType")
.HasColumnType("int");
b.Property<int>("Status")
.HasColumnType("int");
b.Property<DateTime>("UploadEndTime")
.HasColumnType("datetime2");
b.Property<DateTime>("UploadStartTime")
.HasColumnType("datetime2");
b.Property<Guid>("UseId")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("UserId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("UploadSessions");
});
modelBuilder.Entity("RMuseum.Models.UploadSession.UploadSessionFile", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<string>("ContentDisposition")
.HasColumnType("nvarchar(max)");
b.Property<string>("ContentType")
.HasColumnType("nvarchar(max)");
b.Property<string>("FileName")
.HasColumnType("nvarchar(max)");
b.Property<string>("FilePath")
.HasColumnType("nvarchar(max)");
b.Property<long>("Length")
.HasColumnType("bigint");
b.Property<string>("MP3FileCheckSum")
.HasColumnType("nvarchar(max)");
b.Property<string>("Name")
.HasColumnType("nvarchar(max)");
b.Property<bool>("ProcessResult")
.HasColumnType("bit");
b.Property<string>("ProcessResultMsg")
.HasColumnType("nvarchar(max)");
b.Property<Guid>("UploadSessionId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("UploadSessionId");
b.ToTable("UploadedFiles");
});
modelBuilder.Entity("RSecurityBackend.Models.Audit.Db.REvent", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<int>("Duration")
.HasColumnType("int");
b.Property<DateTime?>("EndDate")
.HasColumnType("datetime2");
b.Property<string>("EventType")
.HasColumnType("nvarchar(max)");
b.Property<string>("IpAddress")
.HasColumnType("nvarchar(max)");
b.Property<string>("JsonData")
.HasColumnType("nvarchar(max)");
b.Property<string>("RequestUrl")
.HasColumnType("nvarchar(max)");
b.Property<int>("ResponseStatusCode")
.HasColumnType("int");
b.Property<DateTime>("StartDate")
.HasColumnType("datetime2");
b.Property<string>("UserName")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("AuditLogs");
});
modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.BannedEmail", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<string>("Description")
.HasColumnType("nvarchar(max)");
b.Property<string>("NormalizedEmail")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("BannedEmails");
});
modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RAppRole", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnType("nvarchar(max)");
b.Property<string>("Description")
.HasColumnType("nvarchar(max)");
b.Property<string>("Name")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("NormalizedName")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.HasKey("Id");
b.HasIndex("NormalizedName")
.IsUnique()
.HasDatabaseName("RoleNameIndex")
.HasFilter("[NormalizedName] IS NOT NULL");
b.ToTable("AspNetRoles");
});
modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RAppUser", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<int>("AccessFailedCount")
.HasColumnType("int");
b.Property<string>("Bio")
.HasColumnType("nvarchar(max)");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("CreateDate")
.HasColumnType("datetime2");
b.Property<string>("Email")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<bool>("EmailConfirmed")
.HasColumnType("bit");
b.Property<string>("FirstName")
.HasColumnType("nvarchar(max)");
b.Property<bool>("LockoutEnabled")
.HasColumnType("bit");
b.Property<DateTimeOffset?>("LockoutEnd")
.HasColumnType("datetimeoffset");
b.Property<string>("LockoutMessage")
.HasColumnType("nvarchar(max)");
b.Property<string>("NickName")
.HasColumnType("nvarchar(max)");
b.Property<string>("NormalizedEmail")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("NormalizedUserName")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("PasswordHash")
.HasColumnType("nvarchar(max)");
b.Property<string>("PhoneNumber")
.HasColumnType("nvarchar(max)");
b.Property<bool>("PhoneNumberConfirmed")
.HasColumnType("bit");
b.Property<Guid?>("RImageId")
.HasColumnType("uniqueidentifier");
b.Property<string>("ScreenName")
.HasColumnType("nvarchar(max)");
b.Property<string>("SecurityStamp")
.HasColumnType("nvarchar(max)");
b.Property<int>("Status")
.HasColumnType("int");
b.Property<string>("SureName")
.HasColumnType("nvarchar(max)");
b.Property<bool>("TwoFactorEnabled")
.HasColumnType("bit");
b.Property<string>("UserName")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("Website")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("NormalizedEmail")
.HasDatabaseName("EmailIndex");
b.HasIndex("NormalizedUserName")
.IsUnique()
.HasDatabaseName("UserNameIndex")
.HasFilter("[NormalizedUserName] IS NOT NULL");
b.HasIndex("RImageId");
b.ToTable("AspNetUsers");
});
modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RCaptchaImage", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("DateTime")
.HasColumnType("datetime2");
b.Property<Guid>("RImageId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Value")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("RImageId");
b.ToTable("CaptchaImages");
});
modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RPermission", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<string>("OperationShortName")
.HasColumnType("nvarchar(max)");
b.Property<Guid?>("RAppRoleId")
.HasColumnType("uniqueidentifier");
b.Property<string>("SecurableItemShortName")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("RAppRoleId");
b.ToTable("Permissions");
});
modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RTemporaryUserSession", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<string>("ClientAppName")
.HasColumnType("nvarchar(max)");
b.Property<string>("ClientIPAddress")
.HasColumnType("nvarchar(max)");
b.Property<string>("Language")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("LastRenewal")
.HasColumnType("datetime2");
b.Property<DateTime>("LoginTime")
.HasColumnType("datetime2");
b.Property<Guid>("RAppUserId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Token")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("ValidUntil")
.HasColumnType("datetime2");
b.HasKey("Id");
b.HasIndex("RAppUserId");
b.ToTable("Sessions");
});
modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RUserBehaviourLog", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("DateTime")
.HasColumnType("datetime2");
b.Property<string>("Description")
.HasColumnType("nvarchar(max)");
b.Property<Guid>("UserId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("UserBehaviourLogs");
});
modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RVerifyQueueItem", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<string>("ClientAppName")
.HasColumnType("nvarchar(max)");
b.Property<string>("ClientIPAddress")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("DateTime")
.HasColumnType("datetime2");
b.Property<string>("Email")
.HasColumnType("nvarchar(max)");
b.Property<string>("Language")
.HasColumnType("nvarchar(max)");
b.Property<string>("PhoneNumber")
.HasColumnType("nvarchar(max)");
b.Property<int>("QueueType")
.HasColumnType("int");
b.Property<string>("Secret")
.HasColumnType("nvarchar(450)");
b.HasKey("Id");
b.HasIndex("Secret")
.IsUnique()
.HasFilter("[Secret] IS NOT NULL");
b.ToTable("VerifyQueueItems");
});
modelBuilder.Entity("RSecurityBackend.Models.Generic.Db.RGenericOption", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("Name")
.HasColumnType("nvarchar(450)");
b.Property<Guid?>("RAppUserId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Value")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("RAppUserId", "Name")
.IsUnique()
.HasFilter("[RAppUserId] IS NOT NULL AND [Name] IS NOT NULL");
b.ToTable("Options");
});
modelBuilder.Entity("RSecurityBackend.Models.Generic.Db.RLongRunningJobStatus", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("EndTime")
.HasColumnType("datetime2");
b.Property<string>("Exception")
.HasColumnType("nvarchar(max)");
b.Property<string>("Name")
.HasColumnType("nvarchar(max)");
b.Property<double>("Progress")
.HasColumnType("float");
b.Property<DateTime>("StartTime")
.HasColumnType("datetime2");
b.Property<string>("Step")
.HasColumnType("nvarchar(max)");
b.Property<bool>("Succeeded")
.HasColumnType("bit");
b.HasKey("Id");
b.ToTable("LongRunningJobs");
});
modelBuilder.Entity("RSecurityBackend.Models.Image.RImage", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<string>("ContentType")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("DataTime")
.HasColumnType("datetime2");
b.Property<string>("Discriminator")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<long>("FileSizeInBytes")
.HasColumnType("bigint");
b.Property<string>("FolderName")
.HasColumnType("nvarchar(max)");
b.Property<int>("ImageHeight")
.HasColumnType("int");
b.Property<int>("ImageWidth")
.HasColumnType("int");
b.Property<DateTime>("LastModified")
.HasColumnType("datetime2");
b.Property<string>("OriginalFileName")
.HasColumnType("nvarchar(max)");
b.Property<string>("StoredFileName")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("GeneralImages");
b.HasDiscriminator<string>("Discriminator").HasValue("RImage");
});
modelBuilder.Entity("RSecurityBackend.Models.Notification.RUserNotification", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("DateTime")
.HasColumnType("datetime2");
b.Property<string>("HtmlText")
.HasColumnType("nvarchar(max)");
b.Property<int>("Status")
.HasColumnType("int");
b.Property<string>("Subject")
.HasColumnType("nvarchar(max)");
b.Property<Guid>("UserId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("Notifications");
});
modelBuilder.Entity("RMuseum.Models.Artifact.RPictureFile", b =>
{
b.HasBaseType("RSecurityBackend.Models.Image.RImage");
b.Property<string>("Description")
.HasColumnType("nvarchar(max)");
b.Property<string>("DescriptionInEnglish")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("LastModifiedMeta")
.HasColumnType("datetime2");
b.Property<int>("NormalSizeImageHeight")
.HasColumnType("int");
b.Property<string>("NormalSizeImageStoredFileName")
.HasColumnType("nvarchar(max)");
b.Property<int>("NormalSizeImageWidth")
.HasColumnType("int");
b.Property<int>("Order")
.HasColumnType("int");
b.Property<Guid?>("RArtifactItemRecordId")
.HasColumnType("uniqueidentifier");
b.Property<string>("SrcUrl")
.HasColumnType("nvarchar(max)");
b.Property<int>("Status")
.HasColumnType("int");
b.Property<int>("ThumbnailImageHeight")
.HasColumnType("int");
b.Property<string>("ThumbnailImageStoredFileName")
.HasColumnType("nvarchar(max)");
b.Property<int>("ThumbnailImageWidth")
.HasColumnType("int");
b.Property<string>("Title")
.HasColumnType("nvarchar(max)");
b.Property<string>("TitleInEnglish")
.HasColumnType("nvarchar(max)");
b.HasIndex("RArtifactItemRecordId");
b.HasDiscriminator().HasValue("RPictureFile");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<System.Guid>", b =>
{
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppRole", null)
.WithMany()
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<System.Guid>", b =>
{
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<System.Guid>", b =>
{
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<System.Guid>", b =>
{
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppRole", null)
.WithMany()
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<System.Guid>", b =>
{
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("RMuseum.Models.Accounting.DonationExpenditure", b =>
{
b.HasOne("RMuseum.Models.Accounting.GanjoorDonation", "GanjoorDonation")
.WithMany()
.HasForeignKey("GanjoorDonationId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("RMuseum.Models.Accounting.GanjoorExpense", null)
.WithMany("DonationExpenditures")
.HasForeignKey("GanjoorExpenseId");
b.Navigation("GanjoorDonation");
});
modelBuilder.Entity("RMuseum.Models.Artifact.RArtifactItemRecord", b =>
{
b.HasOne("RMuseum.Models.Artifact.RArtifactMasterRecord", null)
.WithMany("Items")
.HasForeignKey("RArtifactMasterRecordId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("RMuseum.Models.Artifact.RArtifactMasterRecord", b =>
{
b.HasOne("RMuseum.Models.Artifact.RPictureFile", "CoverImage")
.WithMany()
.HasForeignKey("CoverImageId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("CoverImage");
});
modelBuilder.Entity("RMuseum.Models.Artifact.RTagValue", b =>
{
b.HasOne("RMuseum.Models.Artifact.RArtifactItemRecord", null)
.WithMany("Tags")
.HasForeignKey("RArtifactItemRecordId");
b.HasOne("RMuseum.Models.Artifact.RArtifactMasterRecord", null)
.WithMany("Tags")
.HasForeignKey("RArtifactMasterRecordId");
b.HasOne("RMuseum.Models.Artifact.RTag", "RTag")
.WithMany()
.HasForeignKey("RTagId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("RTag");
});
modelBuilder.Entity("RMuseum.Models.Bookmark.RUserBookmark", b =>
{
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "RAppUser")
.WithMany()
.HasForeignKey("RAppUserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("RMuseum.Models.Artifact.RArtifactItemRecord", "RArtifactItemRecord")
.WithMany()
.HasForeignKey("RArtifactItemRecordId");
b.HasOne("RMuseum.Models.Artifact.RArtifactMasterRecord", "RArtifactMasterRecord")
.WithMany()
.HasForeignKey("RArtifactMasterRecordId");
b.Navigation("RAppUser");
b.Navigation("RArtifactItemRecord");
b.Navigation("RArtifactMasterRecord");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorCat", b =>
{
b.HasOne("RMuseum.Models.Ganjoor.GanjoorCat", "Parent")
.WithMany()
.HasForeignKey("ParentId");
b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoet", "Poet")
.WithMany()
.HasForeignKey("PoetId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Parent");
b.Navigation("Poet");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorCenturyPoet", b =>
{
b.HasOne("RMuseum.Models.Ganjoor.GanjoorCentury", null)
.WithMany("Poets")
.HasForeignKey("GanjoorCenturyId");
b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoet", "Poet")
.WithMany()
.HasForeignKey("PoetId");
b.Navigation("Poet");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorComment", b =>
{
b.HasOne("RMuseum.Models.Ganjoor.GanjoorComment", "InReplyTo")
.WithMany()
.HasForeignKey("InReplyToId");
b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoem", "Poem")
.WithMany()
.HasForeignKey("PoemId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "User")
.WithMany()
.HasForeignKey("UserId");
b.HasOne("RMuseum.Models.Ganjoor.GanjoorVerse", "Verse1")
.WithMany()
.HasForeignKey("Verse1Id");
b.HasOne("RMuseum.Models.Ganjoor.GanjoorVerse", "Verse2")
.WithMany()
.HasForeignKey("Verse2Id");
b.Navigation("InReplyTo");
b.Navigation("Poem");
b.Navigation("User");
b.Navigation("Verse1");
b.Navigation("Verse2");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorCommentAbuseReport", b =>
{
b.HasOne("RMuseum.Models.Ganjoor.GanjoorComment", "GanjoorComment")
.WithMany()
.HasForeignKey("GanjoorCommentId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "ReportedBy")
.WithMany()
.HasForeignKey("ReportedById");
b.Navigation("GanjoorComment");
b.Navigation("ReportedBy");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorNumbering", b =>
{
b.HasOne("RMuseum.Models.Ganjoor.GanjoorCat", "EndCat")
.WithMany()
.HasForeignKey("EndCatId");
b.HasOne("RMuseum.Models.Ganjoor.GanjoorCat", "StartCat")
.WithMany()
.HasForeignKey("StartCatId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("EndCat");
b.Navigation("StartCat");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPage", b =>
{
b.HasOne("RMuseum.Models.Ganjoor.GanjoorCat", "Cat")
.WithMany()
.HasForeignKey("CatId");
b.HasOne("RMuseum.Models.Ganjoor.GanjoorPage", "Parent")
.WithMany()
.HasForeignKey("ParentId");
b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoem", "Poem")
.WithMany()
.HasForeignKey("PoemId");
b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoet", "Poet")
.WithMany()
.HasForeignKey("PoetId");
b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoet", "SecondPoet")
.WithMany()
.HasForeignKey("SecondPoetId");
b.Navigation("Cat");
b.Navigation("Parent");
b.Navigation("Poem");
b.Navigation("Poet");
b.Navigation("SecondPoet");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPageSnapshot", b =>
{
b.HasOne("RMuseum.Models.Ganjoor.GanjoorPage", "GanjoorPage")
.WithMany()
.HasForeignKey("GanjoorPageId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "MadeObsoleteByUser")
.WithMany()
.HasForeignKey("MadeObsoleteByUserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("GanjoorPage");
b.Navigation("MadeObsoleteByUser");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPoem", b =>
{
b.HasOne("RMuseum.Models.Ganjoor.GanjoorCat", "Cat")
.WithMany()
.HasForeignKey("CatId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("RMuseum.Models.Ganjoor.GanjoorMetre", "GanjoorMetre")
.WithMany()
.HasForeignKey("GanjoorMetreId");
b.Navigation("Cat");
b.Navigation("GanjoorMetre");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPoemCorrection", b =>
{
b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoem", "Poem")
.WithMany()
.HasForeignKey("PoemId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "ReviewerUser")
.WithMany()
.HasForeignKey("ReviewerUserId");
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "User")
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Poem");
b.Navigation("ReviewerUser");
b.Navigation("User");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPoemTranslation", b =>
{
b.HasOne("RMuseum.Models.Ganjoor.GanjoorLanguage", "Language")
.WithMany()
.HasForeignKey("LanguageId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoem", "Poem")
.WithMany()
.HasForeignKey("PoemId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "User")
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Language");
b.Navigation("Poem");
b.Navigation("User");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPoet", b =>
{
b.HasOne("RMuseum.Models.Ganjoor.GanjoorGeoLocation", "BirthLocation")
.WithMany()
.HasForeignKey("BirthLocationId");
b.HasOne("RMuseum.Models.Ganjoor.GanjoorGeoLocation", "DeathLocation")
.WithMany()
.HasForeignKey("DeathLocationId");
b.HasOne("RSecurityBackend.Models.Image.RImage", "RImage")
.WithMany()
.HasForeignKey("RImageId");
b.Navigation("BirthLocation");
b.Navigation("DeathLocation");
b.Navigation("RImage");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorSiteBanner", b =>
{
b.HasOne("RSecurityBackend.Models.Image.RImage", "RImage")
.WithMany()
.HasForeignKey("RImageId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("RImage");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorUserBookmark", b =>
{
b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoem", "Poem")
.WithMany()
.HasForeignKey("PoemId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "User")
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Poem");
b.Navigation("User");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorVerse", b =>
{
b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoem", "Poem")
.WithMany()
.HasForeignKey("PoemId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Poem");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorVerseNumber", b =>
{
b.HasOne("RMuseum.Models.Ganjoor.GanjoorNumbering", "Numbering")
.WithMany()
.HasForeignKey("NumberingId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Numbering");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorVerseTranslation", b =>
{
b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoemTranslation", null)
.WithMany("Verses")
.HasForeignKey("GanjoorPoemTranslationId");
b.HasOne("RMuseum.Models.Ganjoor.GanjoorVerse", "Verse")
.WithMany()
.HasForeignKey("VerseId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Verse");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorVerseVOrderText", b =>
{
b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoemCorrection", null)
.WithMany("VerseOrderText")
.HasForeignKey("GanjoorPoemCorrectionId");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.PoemMusicTrack", b =>
{
b.HasOne("RMuseum.Models.MusicCatalogue.GanjoorTrack", "GanjoorTrack")
.WithMany()
.HasForeignKey("GanjoorTrackId");
b.HasOne("RMuseum.Models.MusicCatalogue.GolhaTrack", "GolhaTrack")
.WithMany()
.HasForeignKey("GolhaTrackId");
b.HasOne("RMuseum.Models.Ganjoor.GanjoorPoem", "Poem")
.WithMany()
.HasForeignKey("PoemId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("RMuseum.Models.MusicCatalogue.GanjoorSinger", "Singer")
.WithMany()
.HasForeignKey("SingerId");
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "SuggestedBy")
.WithMany()
.HasForeignKey("SuggestedById");
b.Navigation("GanjoorTrack");
b.Navigation("GolhaTrack");
b.Navigation("Poem");
b.Navigation("Singer");
b.Navigation("SuggestedBy");
});
modelBuilder.Entity("RMuseum.Models.GanjoorAudio.Recitation", b =>
{
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "Owner")
.WithMany()
.HasForeignKey("OwnerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "Reviewer")
.WithMany()
.HasForeignKey("ReviewerId");
b.Navigation("Owner");
b.Navigation("Reviewer");
});
modelBuilder.Entity("RMuseum.Models.GanjoorAudio.RecitationPublishingTracker", b =>
{
b.HasOne("RMuseum.Models.GanjoorAudio.Recitation", "PoemNarration")
.WithMany()
.HasForeignKey("PoemNarrationId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("PoemNarration");
});
modelBuilder.Entity("RMuseum.Models.GanjoorAudio.UserRecitationProfile", b =>
{
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "User")
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("User");
});
modelBuilder.Entity("RMuseum.Models.GanjoorIntegration.GanjoorLink", b =>
{
b.HasOne("RMuseum.Models.Artifact.RArtifactMasterRecord", "Artifact")
.WithMany()
.HasForeignKey("ArtifactId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("RMuseum.Models.Artifact.RArtifactItemRecord", "Item")
.WithMany()
.HasForeignKey("ItemId");
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "Reviewer")
.WithMany()
.HasForeignKey("ReviewerId");
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "SuggestedBy")
.WithMany()
.HasForeignKey("SuggestedById")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Artifact");
b.Navigation("Item");
b.Navigation("Reviewer");
b.Navigation("SuggestedBy");
});
modelBuilder.Entity("RMuseum.Models.GanjoorIntegration.PinterestLink", b =>
{
b.HasOne("RMuseum.Models.Artifact.RArtifactMasterRecord", "Artifact")
.WithMany()
.HasForeignKey("ArtifactId");
b.HasOne("RMuseum.Models.Artifact.RArtifactItemRecord", "Item")
.WithMany()
.HasForeignKey("ItemId");
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "Reviewer")
.WithMany()
.HasForeignKey("ReviewerId");
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "SuggestedBy")
.WithMany()
.HasForeignKey("SuggestedById");
b.Navigation("Artifact");
b.Navigation("Item");
b.Navigation("Reviewer");
b.Navigation("SuggestedBy");
});
modelBuilder.Entity("RMuseum.Models.ImportJob.ImportJob", b =>
{
b.HasOne("RMuseum.Models.Artifact.RArtifactMasterRecord", "Artifact")
.WithMany()
.HasForeignKey("ArtifactId");
b.Navigation("Artifact");
});
modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GanjoorAlbum", b =>
{
b.HasOne("RMuseum.Models.MusicCatalogue.GanjoorSinger", "Singer")
.WithMany("Albums")
.HasForeignKey("SingerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Singer");
});
modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GanjoorSinger", b =>
{
b.HasOne("RSecurityBackend.Models.Image.RImage", "RImage")
.WithMany()
.HasForeignKey("RImageId");
b.Navigation("RImage");
});
modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GanjoorTrack", b =>
{
b.HasOne("RMuseum.Models.MusicCatalogue.GanjoorAlbum", "Album")
.WithMany("Tracks")
.HasForeignKey("AlbumId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Album");
});
modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GolhaProgram", b =>
{
b.HasOne("RMuseum.Models.MusicCatalogue.GolhaCollection", "GolhaCollection")
.WithMany("Programs")
.HasForeignKey("GolhaCollectionId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("GolhaCollection");
});
modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GolhaTrack", b =>
{
b.HasOne("RMuseum.Models.MusicCatalogue.GolhaProgram", "GolhaProgram")
.WithMany("Tracks")
.HasForeignKey("GolhaProgramId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("RMuseum.Models.MusicCatalogue.GanjoorSinger", "Singer")
.WithMany()
.HasForeignKey("SingerId");
b.Navigation("GolhaProgram");
b.Navigation("Singer");
});
modelBuilder.Entity("RMuseum.Models.Note.RUserNote", b =>
{
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "RAppUser")
.WithMany()
.HasForeignKey("RAppUserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("RMuseum.Models.Artifact.RArtifactItemRecord", "RArtifactItemRecord")
.WithMany()
.HasForeignKey("RArtifactItemRecordId");
b.HasOne("RMuseum.Models.Artifact.RArtifactMasterRecord", "RArtifactMasterRecord")
.WithMany()
.HasForeignKey("RArtifactMasterRecordId");
b.HasOne("RMuseum.Models.Note.RUserNote", "ReferenceNote")
.WithMany()
.HasForeignKey("ReferenceNoteId");
b.Navigation("RAppUser");
b.Navigation("RArtifactItemRecord");
b.Navigation("RArtifactMasterRecord");
b.Navigation("ReferenceNote");
});
modelBuilder.Entity("RMuseum.Models.UploadSession.UploadSession", b =>
{
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "User")
.WithMany()
.HasForeignKey("UserId");
b.Navigation("User");
});
modelBuilder.Entity("RMuseum.Models.UploadSession.UploadSessionFile", b =>
{
b.HasOne("RMuseum.Models.UploadSession.UploadSession", null)
.WithMany("UploadedFiles")
.HasForeignKey("UploadSessionId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RAppUser", b =>
{
b.HasOne("RSecurityBackend.Models.Image.RImage", "RImage")
.WithMany()
.HasForeignKey("RImageId");
b.Navigation("RImage");
});
modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RCaptchaImage", b =>
{
b.HasOne("RSecurityBackend.Models.Image.RImage", "RImage")
.WithMany()
.HasForeignKey("RImageId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("RImage");
});
modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RPermission", b =>
{
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppRole", null)
.WithMany("Permissions")
.HasForeignKey("RAppRoleId");
});
modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RTemporaryUserSession", b =>
{
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "RAppUser")
.WithMany()
.HasForeignKey("RAppUserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("RAppUser");
});
modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RUserBehaviourLog", b =>
{
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "User")
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("User");
});
modelBuilder.Entity("RSecurityBackend.Models.Generic.Db.RGenericOption", b =>
{
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "RAppUser")
.WithMany()
.HasForeignKey("RAppUserId");
b.Navigation("RAppUser");
});
modelBuilder.Entity("RSecurityBackend.Models.Notification.RUserNotification", b =>
{
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "User")
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("User");
});
modelBuilder.Entity("RMuseum.Models.Artifact.RPictureFile", b =>
{
b.HasOne("RMuseum.Models.Artifact.RArtifactItemRecord", null)
.WithMany("Images")
.HasForeignKey("RArtifactItemRecordId");
});
modelBuilder.Entity("RMuseum.Models.Accounting.GanjoorExpense", b =>
{
b.Navigation("DonationExpenditures");
});
modelBuilder.Entity("RMuseum.Models.Artifact.RArtifactItemRecord", b =>
{
b.Navigation("Images");
b.Navigation("Tags");
});
modelBuilder.Entity("RMuseum.Models.Artifact.RArtifactMasterRecord", b =>
{
b.Navigation("Items");
b.Navigation("Tags");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorCentury", b =>
{
b.Navigation("Poets");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPoemCorrection", b =>
{
b.Navigation("VerseOrderText");
});
modelBuilder.Entity("RMuseum.Models.Ganjoor.GanjoorPoemTranslation", b =>
{
b.Navigation("Verses");
});
modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GanjoorAlbum", b =>
{
b.Navigation("Tracks");
});
modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GanjoorSinger", b =>
{
b.Navigation("Albums");
});
modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GolhaCollection", b =>
{
b.Navigation("Programs");
});
modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GolhaProgram", b =>
{
b.Navigation("Tracks");
});
modelBuilder.Entity("RMuseum.Models.UploadSession.UploadSession", b =>
{
b.Navigation("UploadedFiles");
});
modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RAppRole", b =>
{
b.Navigation("Permissions");
});
#pragma warning restore 612, 618
}
}
}