// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
using UnivateProperties_API.Context;

namespace UnivateProperties_API.Migrations
{
    [DbContext(typeof(DataContext))]
    [Migration("20190910092816_GeorgeNew")]
    partial class GeorgeNew
    {
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
        {
#pragma warning disable 612, 618
            modelBuilder
                .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn)
                .HasAnnotation("ProductVersion", "2.2.4-servicing-10062")
                .HasAnnotation("Relational:MaxIdentifierLength", 63);

            modelBuilder.Entity("UnivateProperties_API.Model.Banks.Bank", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<DateTime>("Created");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.Property<string>("Name");

                    b.Property<string>("UniversalBranchCode");

                    b.HasKey("Id");

                    b.ToTable("Banks");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Banks.BankAccount", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<string>("AccountHolder");

                    b.Property<string>("AccountNumber");

                    b.Property<int>("BankId");

                    b.Property<DateTime>("Created");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.Property<int?>("OwnerId");

                    b.HasKey("Id");

                    b.HasIndex("BankId");

                    b.HasIndex("OwnerId");

                    b.ToTable("BankAccounts");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Communication.Email", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<string>("BCC");

                    b.Property<string>("Body");

                    b.Property<string>("CC");

                    b.Property<string>("Comment");

                    b.Property<DateTime>("Created");

                    b.Property<bool>("IsBodyHtml");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.Property<int>("SenderId");

                    b.Property<string>("Subject");

                    b.Property<string>("To");

                    b.Property<string>("ToDisplay");

                    b.HasKey("Id");

                    b.HasIndex("SenderId");

                    b.ToTable("Emails");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Communication.SMTPAccount", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<string>("Address");

                    b.Property<DateTime>("Created");

                    b.Property<string>("DisplayName");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.Property<int>("SMTPHostId");

                    b.HasKey("Id");

                    b.HasIndex("SMTPHostId");

                    b.ToTable("Accounts");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Communication.SMTPHost", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<DateTime>("Created");

                    b.Property<string>("Host");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.Property<bool>("NeedsAuthorize");

                    b.Property<string>("Password");

                    b.Property<bool>("UseSSL");

                    b.Property<string>("User");

                    b.HasKey("Id");

                    b.ToTable("Hosts");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Logging.SearchLog", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<DateTime>("Created");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.Property<string>("Search");

                    b.Property<int?>("UserID");

                    b.HasKey("Id");

                    b.ToTable("SearchLogs");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Misc.Address", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<string>("City");

                    b.Property<DateTime>("Created");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.Property<string>("PostalCode");

                    b.Property<string>("Street");

                    b.Property<string>("StreetNumber");

                    b.Property<string>("Suburb");

                    b.HasKey("Id");

                    b.ToTable("Addresses");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.ProcessFlow.BidItem", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<double>("Amount");

                    b.Property<int?>("BidMakerId");

                    b.Property<string>("Comment");

                    b.Property<DateTime>("Created");

                    b.Property<string>("DeclinedReason");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.Property<int?>("PropertyId");

                    b.Property<int?>("StatusId");

                    b.Property<int?>("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<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<DateTime>("Created");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.Property<int?>("PropertyID");

                    b.Property<int>("StatusID");

                    b.Property<int?>("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<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<string>("AddressLine1");

                    b.Property<string>("AddressLine2");

                    b.Property<string>("AddressLine3");

                    b.Property<int?>("AgencyId");

                    b.Property<int?>("AgentId");

                    b.Property<int>("CityId");

                    b.Property<DateTime>("Created");

                    b.Property<string>("Description");

                    b.Property<int?>("GCRecord");

                    b.Property<bool>("IsSale");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.Property<decimal>("OperationalCosts");

                    b.Property<int?>("OwnerId");

                    b.Property<decimal>("Price");

                    b.Property<string>("PricePer");

                    b.Property<string>("PropertyName");

                    b.Property<int>("PropertyTypeId");

                    b.Property<int>("ProvinceId");

                    b.Property<bool>("Published");

                    b.Property<string>("ShortDescription");

                    b.Property<int?>("StatusId");

                    b.Property<int>("SuburbId");

                    b.Property<string>("Unit");

                    b.HasKey("Id");

                    b.HasIndex("AgencyId");

                    b.HasIndex("AgentId");

                    b.HasIndex("CityId");

                    b.HasIndex("OwnerId");

                    b.HasIndex("PropertyTypeId");

                    b.HasIndex("ProvinceId");

                    b.HasIndex("StatusId");

                    b.HasIndex("SuburbId");

                    b.ToTable("Properties");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Properties.PropertyImage", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<DateTime>("Created");

                    b.Property<string>("Image");

                    b.Property<bool>("IsDefault");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.Property<int>("PropertyId");

                    b.HasKey("Id");

                    b.HasIndex("PropertyId");

                    b.ToTable("PropertyImages");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Properties.PropertyType", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<DateTime>("Created");

                    b.Property<string>("Description");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.Property<int>("UsageType");

                    b.HasKey("Id");

                    b.ToTable("PropertyTypes");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Properties.PropertyUserField", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<DateTime>("Created");

                    b.Property<string>("Description");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.Property<int>("PropertyId");

                    b.Property<int>("UserDefinedFieldId");

                    b.Property<string>("Value");

                    b.HasKey("Id");

                    b.HasIndex("PropertyId");

                    b.HasIndex("UserDefinedFieldId");

                    b.ToTable("PropertyUserFields");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Properties.UserDefinedField", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<DateTime>("Created");

                    b.Property<string>("FieldName");

                    b.Property<string>("FieldType");

                    b.Property<int>("GroupId");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.Property<int>("Rank");

                    b.HasKey("Id");

                    b.HasIndex("GroupId");

                    b.ToTable("UserDefinedFields");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Properties.UserDefinedGroup", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<DateTime>("Created");

                    b.Property<string>("Description");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.Property<int>("Rank");

                    b.Property<int>("UsageType");

                    b.HasKey("Id");

                    b.ToTable("UserDefinedGroups");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Region.City", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<string>("Code");

                    b.Property<DateTime>("Created");

                    b.Property<string>("Description");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.Property<int>("ProvinceId");

                    b.HasKey("Id");

                    b.HasIndex("ProvinceId");

                    b.ToTable("Cities");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Region.Province", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<string>("Code");

                    b.Property<DateTime>("Created");

                    b.Property<string>("Description");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.HasKey("Id");

                    b.ToTable("Provinces");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Region.Suburb", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<int>("CityId");

                    b.Property<DateTime>("Created");

                    b.Property<string>("Description");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.Property<string>("PostalCode");

                    b.HasKey("Id");

                    b.HasIndex("CityId");

                    b.ToTable("Suburbs");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Timeshare.Season", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<DateTime>("Created");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.Property<string>("Name");

                    b.HasKey("Id");

                    b.ToTable("Seasons");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Timeshare.Status", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<string>("Code");

                    b.Property<DateTime>("Created");

                    b.Property<string>("Description");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.Property<int>("StatusType");

                    b.HasKey("Id");

                    b.ToTable("Status");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Timeshare.TimeshareWeek", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<int?>("AgencyId");

                    b.Property<bool>("AgentAsRep");

                    b.Property<int?>("AgentId");

                    b.Property<DateTime>("ArrivalDate");

                    b.Property<string>("BankedWith");

                    b.Property<int>("Bedrooms");

                    b.Property<DateTime>("Created");

                    b.Property<bool>("CurrentYearBanked");

                    b.Property<DateTime>("DepartureDate");

                    b.Property<bool>("LeviesPaidInFull");

                    b.Property<double>("LevyAmount");

                    b.Property<int>("MaxSleep");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.Property<string>("Module");

                    b.Property<DateTime>("OriginalPurchaseDate");

                    b.Property<double>("OriginalPurchasePrice");

                    b.Property<bool>("OtherResort");

                    b.Property<int>("OwnerId");

                    b.Property<bool>("ReferedByAgent");

                    b.Property<int>("RegionId");

                    b.Property<string>("ResortCode");

                    b.Property<string>("ResortName");

                    b.Property<string>("Season");

                    b.Property<double>("SellPrice");

                    b.Property<int>("StatusId");

                    b.Property<string>("UnitNumber");

                    b.Property<string>("WeekNumber");

                    b.Property<bool>("WeekPlacedForRental");

                    b.HasKey("Id");

                    b.HasIndex("AgencyId");

                    b.HasIndex("AgentId");

                    b.HasIndex("OwnerId");

                    b.HasIndex("RegionId");

                    b.HasIndex("StatusId");

                    b.ToTable("Weeks");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Timeshare.UnitConfiguration", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<int>("Adults");

                    b.Property<int>("Bedrooms");

                    b.Property<int>("Children");

                    b.Property<string>("Code");

                    b.Property<DateTime>("Created");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.HasKey("Id");

                    b.HasIndex("Code")
                        .IsUnique();

                    b.ToTable("UnitConfigurations");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Timeshare.UnitConfigurationType", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<DateTime>("Created");

                    b.Property<string>("Description");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.Property<int>("UnitConfigurationId");

                    b.HasKey("Id");

                    b.HasIndex("UnitConfigurationId");

                    b.ToTable("UnitConfigurationTypes");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Users.Agency", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<string>("AgencyName");

                    b.Property<string>("CompanyRegNumber");

                    b.Property<DateTime>("Created");

                    b.Property<string>("EAABEFFCNumber");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.HasKey("Id");

                    b.ToTable("Agencies");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Users.Agent", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<int?>("AgencyId");

                    b.Property<string>("CellNumber");

                    b.Property<DateTime>("Created");

                    b.Property<string>("Email");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.Property<string>("Name");

                    b.Property<string>("Surname");

                    b.Property<string>("Telephone");

                    b.Property<int?>("UserId");

                    b.HasKey("Id");

                    b.HasIndex("AgencyId");

                    b.HasIndex("UserId");

                    b.ToTable("Agents");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Users.Individual", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<int?>("AddressId");

                    b.Property<string>("CellNumber");

                    b.Property<string>("CompanyRegNumber");

                    b.Property<DateTime>("Created");

                    b.Property<string>("Email");

                    b.Property<string>("IdNumber");

                    b.Property<string>("IncomeTaxNumber");

                    b.Property<string>("MaritalStatus");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.Property<string>("Name");

                    b.Property<string>("Surname");

                    b.Property<string>("Telephone");

                    b.Property<int?>("UserId");

                    b.HasKey("Id");

                    b.HasIndex("AddressId");

                    b.HasIndex("UserId");

                    b.ToTable("Individuals");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Users.User", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd();

                    b.Property<DateTime>("Created");

                    b.Property<DateTime>("Modified");

                    b.Property<string>("ModifiedBy");

                    b.Property<byte[]>("PasswordHash");

                    b.Property<byte[]>("PasswordSalt");

                    b.Property<string>("Role");

                    b.Property<string>("Token");

                    b.Property<string>("Username");

                    b.Property<bool>("Verified");

                    b.HasKey("Id");

                    b.ToTable("Users");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Banks.BankAccount", b =>
                {
                    b.HasOne("UnivateProperties_API.Model.Banks.Bank", "Bank")
                        .WithMany()
                        .HasForeignKey("BankId")
                        .OnDelete(DeleteBehavior.Cascade);

                    b.HasOne("UnivateProperties_API.Model.Users.Individual", "Owner")
                        .WithMany()
                        .HasForeignKey("OwnerId");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Communication.Email", b =>
                {
                    b.HasOne("UnivateProperties_API.Model.Communication.SMTPAccount", "Sender")
                        .WithMany("Emails")
                        .HasForeignKey("SenderId")
                        .OnDelete(DeleteBehavior.Cascade);
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Communication.SMTPAccount", b =>
                {
                    b.HasOne("UnivateProperties_API.Model.Communication.SMTPHost", "SMTPHost")
                        .WithMany("SMTPAccounts")
                        .HasForeignKey("SMTPHostId")
                        .OnDelete(DeleteBehavior.Cascade);
                });

            modelBuilder.Entity("UnivateProperties_API.Model.ProcessFlow.BidItem", b =>
                {
                    b.HasOne("UnivateProperties_API.Model.Users.Individual", "BidMaker")
                        .WithMany()
                        .HasForeignKey("BidMakerId");

                    b.HasOne("UnivateProperties_API.Model.Properties.Property", "Property")
                        .WithMany("BidItems")
                        .HasForeignKey("PropertyId");

                    b.HasOne("UnivateProperties_API.Model.Timeshare.Status", "Status")
                        .WithMany()
                        .HasForeignKey("StatusId");

                    b.HasOne("UnivateProperties_API.Model.Timeshare.TimeshareWeek", "TimeshareWeek")
                        .WithMany("BidItems")
                        .HasForeignKey("TimeshareWeekId");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.ProcessFlow.ProcessFlow", b =>
                {
                    b.HasOne("UnivateProperties_API.Model.Properties.Property", "Property")
                        .WithMany("ProcessFlows")
                        .HasForeignKey("PropertyID");

                    b.HasOne("UnivateProperties_API.Model.Timeshare.Status", "Status")
                        .WithMany()
                        .HasForeignKey("StatusID")
                        .OnDelete(DeleteBehavior.Cascade);

                    b.HasOne("UnivateProperties_API.Model.Timeshare.TimeshareWeek", "Timeshare")
                        .WithMany("ProcessFlows")
                        .HasForeignKey("TimeshareID");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Properties.Property", b =>
                {
                    b.HasOne("UnivateProperties_API.Model.Users.Agency", "Agency")
                        .WithMany("Properties")
                        .HasForeignKey("AgencyId");

                    b.HasOne("UnivateProperties_API.Model.Users.Agent", "Agent")
                        .WithMany("Properties")
                        .HasForeignKey("AgentId");

                    b.HasOne("UnivateProperties_API.Model.Region.City", "City")
                        .WithMany()
                        .HasForeignKey("CityId")
                        .OnDelete(DeleteBehavior.Cascade);

                    b.HasOne("UnivateProperties_API.Model.Users.Individual", "Owner")
                        .WithMany("Properties")
                        .HasForeignKey("OwnerId");

                    b.HasOne("UnivateProperties_API.Model.Properties.PropertyType", "PropertyType")
                        .WithMany()
                        .HasForeignKey("PropertyTypeId")
                        .OnDelete(DeleteBehavior.Cascade);

                    b.HasOne("UnivateProperties_API.Model.Region.Province", "Province")
                        .WithMany()
                        .HasForeignKey("ProvinceId")
                        .OnDelete(DeleteBehavior.Cascade);

                    b.HasOne("UnivateProperties_API.Model.Timeshare.Status", "Status")
                        .WithMany()
                        .HasForeignKey("StatusId");

                    b.HasOne("UnivateProperties_API.Model.Region.Suburb", "Suburb")
                        .WithMany()
                        .HasForeignKey("SuburbId")
                        .OnDelete(DeleteBehavior.Cascade);
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Properties.PropertyImage", b =>
                {
                    b.HasOne("UnivateProperties_API.Model.Properties.Property", "Property")
                        .WithMany("PropertyImages")
                        .HasForeignKey("PropertyId")
                        .OnDelete(DeleteBehavior.Cascade);
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Properties.PropertyUserField", b =>
                {
                    b.HasOne("UnivateProperties_API.Model.Properties.Property", "Property")
                        .WithMany("PropertyUserFields")
                        .HasForeignKey("PropertyId")
                        .OnDelete(DeleteBehavior.Cascade);

                    b.HasOne("UnivateProperties_API.Model.Properties.UserDefinedField", "UserDefinedField")
                        .WithMany()
                        .HasForeignKey("UserDefinedFieldId")
                        .OnDelete(DeleteBehavior.Cascade);
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Properties.UserDefinedField", b =>
                {
                    b.HasOne("UnivateProperties_API.Model.Properties.UserDefinedGroup", "Group")
                        .WithMany("Fields")
                        .HasForeignKey("GroupId")
                        .OnDelete(DeleteBehavior.Cascade);
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Region.City", b =>
                {
                    b.HasOne("UnivateProperties_API.Model.Region.Province", "Province")
                        .WithMany()
                        .HasForeignKey("ProvinceId")
                        .OnDelete(DeleteBehavior.Cascade);
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Region.Suburb", b =>
                {
                    b.HasOne("UnivateProperties_API.Model.Region.City", "City")
                        .WithMany()
                        .HasForeignKey("CityId")
                        .OnDelete(DeleteBehavior.Cascade);
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Timeshare.TimeshareWeek", b =>
                {
                    b.HasOne("UnivateProperties_API.Model.Users.Agency", "Agency")
                        .WithMany()
                        .HasForeignKey("AgencyId");

                    b.HasOne("UnivateProperties_API.Model.Users.Agent", "Agent")
                        .WithMany()
                        .HasForeignKey("AgentId");

                    b.HasOne("UnivateProperties_API.Model.Users.Individual", "Owner")
                        .WithMany()
                        .HasForeignKey("OwnerId")
                        .OnDelete(DeleteBehavior.Cascade);

                    b.HasOne("UnivateProperties_API.Model.Region.Province", "Region")
                        .WithMany()
                        .HasForeignKey("RegionId")
                        .OnDelete(DeleteBehavior.Cascade);

                    b.HasOne("UnivateProperties_API.Model.Timeshare.Status", "Status")
                        .WithMany()
                        .HasForeignKey("StatusId")
                        .OnDelete(DeleteBehavior.Cascade);
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Timeshare.UnitConfigurationType", b =>
                {
                    b.HasOne("UnivateProperties_API.Model.Timeshare.UnitConfiguration", "UnitConfiguration")
                        .WithMany("Types")
                        .HasForeignKey("UnitConfigurationId")
                        .OnDelete(DeleteBehavior.Cascade);
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Users.Agent", b =>
                {
                    b.HasOne("UnivateProperties_API.Model.Users.Agency", "Agency")
                        .WithMany("Agents")
                        .HasForeignKey("AgencyId");

                    b.HasOne("UnivateProperties_API.Model.Users.User", "User")
                        .WithMany()
                        .HasForeignKey("UserId");
                });

            modelBuilder.Entity("UnivateProperties_API.Model.Users.Individual", b =>
                {
                    b.HasOne("UnivateProperties_API.Model.Misc.Address", "Address")
                        .WithMany()
                        .HasForeignKey("AddressId");

                    b.HasOne("UnivateProperties_API.Model.Users.User", "User")
                        .WithMany()
                        .HasForeignKey("UserId");
                });
#pragma warning restore 612, 618
        }
    }
}