// 
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using UnivateProperties_API.Context;
namespace UnivateProperties_API.Migrations
{
    [DbContext(typeof(DataContext))]
    [Migration("20200911094328_UserTC")]
    partial class UserTC
    {
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
        {
#pragma warning disable 612, 618
            modelBuilder
                .HasAnnotation("ProductVersion", "2.2.0-rtm-35687")
                .HasAnnotation("Relational:MaxIdentifierLength", 128)
                .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
            modelBuilder.Entity("UnivateProperties_API.Model.Banks.Bank", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
                    b.Property("Created");
                    b.Property("IsDeleted");
                    b.Property("Modified");
                    b.Property("ModifiedBy");
                    b.Property("Name");
                    b.Property("UniversalBranchCode");
                    b.HasKey("Id");
                    b.ToTable("Banks");
                });
            modelBuilder.Entity("UnivateProperties_API.Model.Banks.BankAccount", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
                    b.Property("AccountHolder");
                    b.Property("AccountNumber");
                    b.Property("BankId");
                    b.Property("Created");
                    b.Property("IsDeleted");
                    b.Property("Modified");
                    b.Property("ModifiedBy");
                    b.Property("OwnerId");
                    b.HasKey("Id");
                    b.HasIndex("BankId");
                    b.HasIndex("OwnerId");
                    b.ToTable("BankAccounts");
                });
            modelBuilder.Entity("UnivateProperties_API.Model.Campaigns.Campaign", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
                    b.Property("Body");
                    b.Property("Created");
                    b.Property("EndDate");
                    b.Property("IsDeleted");
                    b.Property("ItemBody");
                    b.Property("ItemsPerRow");
                    b.Property("Modified");
                    b.Property("ModifiedBy");
                    b.Property("Name");
                    b.Property("StartDate");
                    b.Property("Subject");
                    b.HasKey("Id");
                    b.ToTable("Campaigns");
                });
            modelBuilder.Entity("UnivateProperties_API.Model.Campaigns.CampaignItem", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
                    b.Property("CampaignId");
                    b.Property("Created");
                    b.Property("Image");
                    b.Property("IsDeleted");
                    b.Property("Modified");
                    b.Property("ModifiedBy");
                    b.Property("WeekId");
                    b.HasKey("Id");
                    b.HasIndex("CampaignId");
                    b.HasIndex("WeekId");
                    b.ToTable("CampaignItems");
                });
            modelBuilder.Entity("UnivateProperties_API.Model.Campaigns.CampaignItemPlaceHolder", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
                    b.Property("CampaignItemId");
                    b.Property("Created");
                    b.Property("IsDeleted");
                    b.Property("Modified");
                    b.Property("ModifiedBy");
                    b.Property("PlaceHolder");
                    b.Property("Value");
                    b.HasKey("Id");
                    b.HasIndex("CampaignItemId");
                    b.ToTable("CampaignItemPlaceHolders");
                });
            modelBuilder.Entity("UnivateProperties_API.Model.Campaigns.CampaignPlaceHolder", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
                    b.Property("BoundTo");
                    b.Property("BoundToClass");
                    b.Property("BoundToClassDisplay");
                    b.Property("CampaignId");
                    b.Property("Created");
                    b.Property("Format");
                    b.Property("IsDeleted");
                    b.Property("Modified");
                    b.Property("ModifiedBy");
                    b.Property("Name");
                    b.HasKey("Id");
                    b.HasIndex("CampaignId");
                    b.ToTable("CampaignPlaceHolders");
                });
            modelBuilder.Entity("UnivateProperties_API.Model.Communication.Email", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
                    b.Property("BCC");
                    b.Property("Body");
                    b.Property("CC");
                    b.Property("Comment");
                    b.Property("Created");
                    b.Property("IsBodyHtml");
                    b.Property("IsDeleted");
                    b.Property("Modified");
                    b.Property("ModifiedBy");
                    b.Property("SenderId");
                    b.Property("Subject");
                    b.Property("To");
                    b.Property("ToDisplay");
                    b.HasKey("Id");
                    b.HasIndex("SenderId");
                    b.ToTable("Emails");
                });
            modelBuilder.Entity("UnivateProperties_API.Model.Communication.PlaceHolder", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
                    b.Property("BoundTo");
                    b.Property("BoundToClass");
                    b.Property("BoundToClassDisplay");
                    b.Property("Created");
                    b.Property("IsDeleted");
                    b.Property("Modified");
                    b.Property("ModifiedBy");
                    b.Property("Name");
                    b.Property("TemplateId");
                    b.HasKey("Id");
                    b.HasIndex("TemplateId");
                    b.ToTable("PlaceHolders");
                });
            modelBuilder.Entity("UnivateProperties_API.Model.Communication.SMTPAccount", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
                    b.Property("Address");
                    b.Property("Created");
                    b.Property("Default");
                    b.Property("DisplayName");
                    b.Property("IsDeleted");
                    b.Property("Modified");
                    b.Property("ModifiedBy");
                    b.Property("SMTPHostId");
                    b.HasKey("Id");
                    b.HasIndex("SMTPHostId");
                    b.ToTable("Accounts");
                });
            modelBuilder.Entity("UnivateProperties_API.Model.Communication.SMTPHost", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
                    b.Property("Created");
                    b.Property("Host");
                    b.Property("IsDeleted");
                    b.Property("Modified");
                    b.Property("ModifiedBy");
                    b.Property("NeedsAuthorize");
                    b.Property("Password");
                    b.Property("UseSSL");
                    b.Property("User");
                    b.HasKey("Id");
                    b.ToTable("Hosts");
                });
            modelBuilder.Entity("UnivateProperties_API.Model.Communication.Template", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
                    b.Property("Body");
                    b.Property("Created");
                    b.Property("IsDeleted");
                    b.Property("Modified");
                    b.Property("ModifiedBy");
                    b.Property("Name");
                    b.Property("SenderId");
                    b.Property("Subject");
                    b.HasKey("Id");
                    b.HasIndex("SenderId");
                    b.ToTable("Templates");
                });
            modelBuilder.Entity("UnivateProperties_API.Model.Financial.ListingFee", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
                    b.Property("Amount");
                    b.Property("Created");
                    b.Property("IsDeleted");
                    b.Property("Modified");
                    b.Property("ModifiedBy");
                    b.Property("Name");
                    b.HasKey("Id");
                    b.ToTable("ListingFees");
                });
            modelBuilder.Entity("UnivateProperties_API.Model.Financial.Payment", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
                    b.Property("Amount");
                    b.Property("Created");
                    b.Property("CreatedById");
                    b.Property("IsDeleted");
                    b.Property("Modified");
                    b.Property("ModifiedBy");
                    b.Property("PaymentStatus");
                    b.Property("PaymentToken");
                    b.Property("PropertyId");
                    b.Property("TimeshareWeekId");
                    b.HasKey("Id");
                    b.HasIndex("CreatedById");
                    b.HasIndex("PropertyId");
                    b.HasIndex("TimeshareWeekId");
                    b.ToTable("Payments");
                });
            modelBuilder.Entity("UnivateProperties_API.Model.Logging.SearchLog", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
                    b.Property("Created");
                    b.Property("IsDeleted");
                    b.Property("Modified");
                    b.Property("ModifiedBy");
                    b.Property("Search");
                    b.Property("Type");
                    b.HasKey("Id");
                    b.ToTable("SearchLogs");
                });
            modelBuilder.Entity("UnivateProperties_API.Model.Misc.Address", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
                    b.Property("City");
                    b.Property("Created");
                    b.Property("IsDeleted");
                    b.Property("Modified");
                    b.Property("ModifiedBy");
                    b.Property("OwnerId");
                    b.Property("PostalCode");
                    b.Property("Province");
                    b.Property("Street");
                    b.Property("StreetNumber");
                    b.Property("Suburb");
                    b.HasKey("Id");
                    b.HasIndex("OwnerId");
                    b.ToTable("Addresses");
                });
            modelBuilder.Entity("UnivateProperties_API.Model.Misc.Carousel", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
                    b.Property("Created");
                    b.Property("Header");
                    b.Property("Image");
                    b.Property("IsDeleted");
                    b.Property("Modified");
                    b.Property("ModifiedBy");
                    b.Property("PropertyId");
                    b.Property("TimeshareId");
                    b.HasKey("Id");
                    b.ToTable("Carousel");
                });
            modelBuilder.Entity("UnivateProperties_API.Model.Misc.Default", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd();
                    b.Property("Value");
                    b.HasKey("Id");
                    b.ToTable("Defaults");
                });
            modelBuilder.Entity("UnivateProperties_API.Model.Misc.Location", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
                    b.Property("Created");
                    b.Property("IsDeleted");
                    b.Property("IsTesting");
                    b.Property("Modified");
                    b.Property("ModifiedBy");
                    b.Property("PropertyImageLocation");
                    b.HasKey("Id");
                    b.ToTable("Location");
                });
            modelBuilder.Entity("UnivateProperties_API.Model.Misc.PlaceHolderFormat", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
                    b.Property("Created");
                    b.Property("DisplayName");
                    b.Property("Format");
                    b.Property("IsDeleted");
                    b.Property("Modified");
                    b.Property("ModifiedBy");
                    b.HasKey("Id");
                    b.ToTable("PlaceHolderFormats");
                });
            modelBuilder.Entity("UnivateProperties_API.Model.Misc.TC", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
                    b.Property("Created");
                    b.Property("IsDeleted");
                    b.Property("Modified");
                    b.Property("ModifiedBy");
                    b.Property("TermsConditions");
                    b.Property("Version");
                    b.HasKey("Id");
                    b.ToTable("TermsConditions");
                });
            modelBuilder.Entity("UnivateProperties_API.Model.ProcessFlow.BidItem", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
                    b.Property("Amount");
                    b.Property("BidMakerId");
                    b.Property("Comment");
                    b.Property("Created");
                    b.Property("DeclinedReason");
                    b.Property("IsDeleted");
                    b.Property("Modified");
                    b.Property("ModifiedBy");
                    b.Property("PropertyId");
                    b.Property("StatusId");
                    b.Property("TimeshareWeekId");
                    b.HasKey("Id");
                    b.HasIndex("BidMakerId");
                    b.HasIndex("PropertyId");
                    b.HasIndex("StatusId");
                    b.HasIndex("TimeshareWeekId");
                    b.ToTable("BidItems");
                });
            modelBuilder.Entity("UnivateProperties_API.Model.ProcessFlow.ProcessFlow", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
                    b.Property("Created");
                    b.Property("IsDeleted");
                    b.Property("Modified");
                    b.Property("ModifiedBy");
                    b.Property("PropertyID");
                    b.Property("StatusID");
                    b.Property("TimeshareID");
                    b.HasKey("Id");
                    b.HasIndex("PropertyID");
                    b.HasIndex("StatusID");
                    b.HasIndex("TimeshareID");
                    b.ToTable("ProcessFlows");
                });
            modelBuilder.Entity("UnivateProperties_API.Model.Properties.Property", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
                    b.Property("AddressOther");
                    b.Property("AddressURL");
                    b.Property("AgencyId");
                    b.Property("AgentId");
                    b.Property("City");
                    b.Property("Country");
                    b.Property("Created");
                    b.Property("DateAvailable");
                    b.Property("DatePublished");
                    b.Property("Description");
                    b.Property("IsDeleted");
                    b.Property("IsSale");
                    b.Property("Modified");
                    b.Property("ModifiedBy");
                    b.Property("OperationalCosts");
                    b.Property("OwnerId");
                    b.Property("PostalCode");
                    b.Property("Price");
                    b.Property("PricePer");
                    b.Property("PropertCoords");
                    b.Property("PropertyName");
                    b.Property("PropertyRef");
                    b.Property("PropertyTypeId");
                    b.Property("Province");
                    b.Property("Published");
                    b.Property("ShortDescription");
                    b.Property("ShowAddress");
                    b.Property("StatusDate");
                    b.Property("StatusId");
                    b.Property("StreetName");
                    b.Property("StreetNumber");
                    b.Property("Suburb");
                    b.Property("Unit");
                    b.Property("Video");
                    b.Property("VirtualTour");
                    b.HasKey("Id");
                    b.HasIndex("AgencyId");
                    b.HasIndex("AgentId");
                    b.HasIndex("OwnerId");
                    b.HasIndex("PropertyTypeId");
                    b.ToTable("Properties");
                });
            modelBuilder.Entity("UnivateProperties_API.Model.Properties.PropertyImage", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
                    b.Property("Created");
                    b.Property("Image");
                    b.Property("IsDefault");
                    b.Property("IsDeleted");
                    b.Property("Modified");
                    b.Property("ModifiedBy");
                    b.Property("PropertyId");
                    b.HasKey("Id");
                    b.HasIndex("PropertyId");
                    b.ToTable("PropertyImages");
                });
            modelBuilder.Entity("UnivateProperties_API.Model.Properties.PropertyType", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
                    b.Property("Created");
                    b.Property("Description");
                    b.Property("IsDeleted");
                    b.Property("Modified");
                    b.Property("ModifiedBy");
                    b.Property("UsageType");
                    b.HasKey("Id");
                    b.ToTable("PropertyTypes");
                });
            modelBuilder.Entity("UnivateProperties_API.Model.Properties.PropertyUserField", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
                    b.Property("Created");
                    b.Property("Description");
                    b.Property("IsDeleted");
                    b.Property("Modified");
                    b.Property("ModifiedBy");
                    b.Property("PropertyId");
                    b.Property