// <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 Yavsc.Models;

#nullable disable

namespace Yavsc.Migrations
{
    [DbContext(typeof(ApplicationDbContext))]
    [Migration("20230326173049_net7")]
    partial class net7
    {
        /// <inheritdoc />
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
        {
#pragma warning disable 612, 618
            modelBuilder
                .HasAnnotation("ProductVersion", "7.0.4")
                .HasAnnotation("Relational:MaxIdentifierLength", 63);

            NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b =>
                {
                    b.Property<string>("Id")
                        .HasColumnType("text");

                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasColumnType("text");

                    b.Property<string>("Name")
                        .HasMaxLength(256)
                        .HasColumnType("character varying(256)");

                    b.Property<string>("NormalizedName")
                        .HasMaxLength(256)
                        .HasColumnType("character varying(256)");

                    b.HasKey("Id");

                    b.HasIndex("NormalizedName")
                        .IsUnique()
                        .HasDatabaseName("RoleNameIndex");

                    b.ToTable("AspNetRoles", (string)null);
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                    b.Property<string>("ClaimType")
                        .HasColumnType("text");

                    b.Property<string>("ClaimValue")
                        .HasColumnType("text");

                    b.Property<string>("RoleId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("Id");

                    b.HasIndex("RoleId");

                    b.ToTable("AspNetRoleClaims", (string)null);
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));

                    b.Property<string>("ClaimType")
                        .HasColumnType("text");

                    b.Property<string>("ClaimValue")
                        .HasColumnType("text");

                    b.Property<string>("UserId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("Id");

                    b.HasIndex("UserId");

                    b.ToTable("AspNetUserClaims", (string)null);
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b =>
                {
                    b.Property<string>("LoginProvider")
                        .HasColumnType("text");

                    b.Property<string>("ProviderKey")
                        .HasColumnType("text");

                    b.Property<string>("ProviderDisplayName")
                        .HasColumnType("text");

                    b.Property<string>("UserId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("LoginProvider", "ProviderKey");

                    b.HasIndex("UserId");

                    b.ToTable("AspNetUserLogins", (string)null);
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b =>
                {
                    b.Property<string>("UserId")
                        .HasColumnType("text");

                    b.Property<string>("RoleId")
                        .HasColumnType("text");

                    b.HasKey("UserId", "RoleId");

                    b.HasIndex("RoleId");

                    b.ToTable("AspNetUserRoles", (string)null);
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b =>
                {
                    b.Property<string>("UserId")
                        .HasColumnType("text");

                    b.Property<string>("LoginProvider")
                        .HasColumnType("text");

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

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

                    b.HasKey("UserId", "LoginProvider", "Name");

                    b.ToTable("AspNetUserTokens", (string)null);
                });

            modelBuilder.Entity("Yavsc.Abstract.Identity.ClientProviderInfo", b =>
                {
                    b.Property<string>("UserId")
                        .HasColumnType("text");

                    b.Property<string>("Avatar")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<long>("BillingAddressId")
                        .HasColumnType("bigint");

                    b.Property<string>("EMail")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Phone")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("UserName")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("UserId");

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

            modelBuilder.Entity("Yavsc.Models.Access.Ban", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<DateTime>("DateCreated")
                        .HasColumnType("timestamp with time zone");

                    b.Property<DateTime>("DateModified")
                        .HasColumnType("timestamp with time zone");

                    b.Property<string>("Reason")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("TargetId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("UserCreated")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("UserModified")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("Id");

                    b.HasIndex("TargetId");

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

            modelBuilder.Entity("Yavsc.Models.Access.BlackListed", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("OwnerId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("UserId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("Id");

                    b.HasIndex("OwnerId");

                    b.HasIndex("UserId");

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

            modelBuilder.Entity("Yavsc.Models.Access.CircleAuthorizationToBlogPost", b =>
                {
                    b.Property<long>("CircleId")
                        .HasColumnType("bigint");

                    b.Property<long>("BlogPostId")
                        .HasColumnType("bigint");

                    b.HasKey("CircleId", "BlogPostId");

                    b.HasIndex("BlogPostId");

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

            modelBuilder.Entity("Yavsc.Models.AccountBalance", b =>
                {
                    b.Property<string>("UserId")
                        .HasColumnType("text");

                    b.Property<long>("ContactCredits")
                        .HasColumnType("bigint");

                    b.Property<decimal>("Credits")
                        .HasColumnType("numeric");

                    b.HasKey("UserId");

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

            modelBuilder.Entity("Yavsc.Models.ApplicationUser", b =>
                {
                    b.Property<string>("Id")
                        .HasColumnType("text");

                    b.Property<int>("AccessFailedCount")
                        .HasColumnType("integer");

                    b.Property<bool>("AllowMonthlyEmail")
                        .HasColumnType("boolean");

                    b.Property<string>("Avatar")
                        .IsRequired()
                        .ValueGeneratedOnAdd()
                        .HasMaxLength(512)
                        .HasColumnType("character varying(512)")
                        .HasDefaultValue("/images/Users/icon_user.png");

                    b.Property<long>("BankInfoId")
                        .HasColumnType("bigint");

                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasColumnType("text");

                    b.Property<DateTime>("DateCreated")
                        .HasColumnType("timestamp with time zone");

                    b.Property<DateTime>("DateModified")
                        .HasColumnType("timestamp with time zone");

                    b.Property<string>("DedicatedGoogleCalendar")
                        .IsRequired()
                        .HasMaxLength(512)
                        .HasColumnType("character varying(512)");

                    b.Property<long>("DiskQuota")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint")
                        .HasDefaultValue(524288000L);

                    b.Property<long>("DiskUsage")
                        .HasColumnType("bigint");

                    b.Property<string>("Email")
                        .HasMaxLength(256)
                        .HasColumnType("character varying(256)");

                    b.Property<bool>("EmailConfirmed")
                        .HasColumnType("boolean");

                    b.Property<string>("FullName")
                        .IsRequired()
                        .HasMaxLength(512)
                        .HasColumnType("character varying(512)");

                    b.Property<bool>("LockoutEnabled")
                        .HasColumnType("boolean");

                    b.Property<DateTimeOffset?>("LockoutEnd")
                        .HasColumnType("timestamp with time zone");

                    b.Property<long>("MaxFileSize")
                        .HasColumnType("bigint");

                    b.Property<string>("NormalizedEmail")
                        .HasMaxLength(256)
                        .HasColumnType("character varying(256)");

                    b.Property<string>("NormalizedUserName")
                        .HasMaxLength(256)
                        .HasColumnType("character varying(256)");

                    b.Property<string>("PasswordHash")
                        .HasColumnType("text");

                    b.Property<string>("PhoneNumber")
                        .HasColumnType("text");

                    b.Property<bool>("PhoneNumberConfirmed")
                        .HasColumnType("boolean");

                    b.Property<long?>("PostalAddressId")
                        .IsRequired()
                        .HasColumnType("bigint");

                    b.Property<string>("SecurityStamp")
                        .HasColumnType("text");

                    b.Property<bool>("TwoFactorEnabled")
                        .HasColumnType("boolean");

                    b.Property<string>("UserCreated")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("UserModified")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("UserName")
                        .HasMaxLength(256)
                        .HasColumnType("character varying(256)");

                    b.HasKey("Id");

                    b.HasIndex("BankInfoId");

                    b.HasIndex("NormalizedEmail")
                        .HasDatabaseName("EmailIndex");

                    b.HasIndex("NormalizedUserName")
                        .IsUnique()
                        .HasDatabaseName("UserNameIndex");

                    b.HasIndex("PostalAddressId");

                    b.ToTable("AspNetUsers", (string)null);
                });

            modelBuilder.Entity("Yavsc.Models.Auth.Client", b =>
                {
                    b.Property<string>("Id")
                        .HasColumnType("text");

                    b.Property<bool>("Active")
                        .HasColumnType("boolean");

                    b.Property<string>("DisplayName")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("LogoutRedirectUri")
                        .IsRequired()
                        .HasMaxLength(100)
                        .HasColumnType("character varying(100)");

                    b.Property<string>("RedirectUri")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<int>("RefreshTokenLifeTime")
                        .HasColumnType("integer");

                    b.Property<string>("Secret")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<int>("Type")
                        .HasColumnType("integer");

                    b.HasKey("Id");

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

            modelBuilder.Entity("Yavsc.Models.Auth.OAuth2Tokens", b =>
                {
                    b.Property<string>("UserId")
                        .HasColumnType("text");

                    b.Property<string>("AccessToken")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<DateTime>("Expiration")
                        .HasColumnType("timestamp with time zone");

                    b.Property<string>("ExpiresIn")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("RefreshToken")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("TokenType")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("UserId");

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

            modelBuilder.Entity("Yavsc.Models.Auth.RefreshToken", b =>
                {
                    b.Property<string>("Id")
                        .HasColumnType("text");

                    b.Property<string>("ClientId")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("character varying(50)");

                    b.Property<DateTime>("ExpiresUtc")
                        .HasColumnType("timestamp with time zone");

                    b.Property<DateTime>("IssuedUtc")
                        .HasColumnType("timestamp with time zone");

                    b.Property<string>("ProtectedTicket")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Subject")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("character varying(50)");

                    b.HasKey("Id");

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

            modelBuilder.Entity("Yavsc.Models.BalanceImpact", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("BalanceId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<DateTime>("ExecDate")
                        .HasColumnType("timestamp with time zone");

                    b.Property<decimal>("Impact")
                        .HasColumnType("numeric");

                    b.Property<string>("Reason")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("Id");

                    b.HasIndex("BalanceId");

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

            modelBuilder.Entity("Yavsc.Models.Bank.BankIdentity", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("AccountNumber")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("BIC")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("BankCode")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<int>("BankedKey")
                        .HasColumnType("integer");

                    b.Property<string>("IBAN")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("WicketCode")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("Id");

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

            modelBuilder.Entity("Yavsc.Models.Billing.CommandLine", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<int>("Count")
                        .HasColumnType("integer");

                    b.Property<string>("Currency")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Description")
                        .IsRequired()
                        .HasMaxLength(512)
                        .HasColumnType("character varying(512)");

                    b.Property<long>("EstimateId")
                        .HasColumnType("bigint");

                    b.Property<long?>("EstimateTemplateId")
                        .HasColumnType("bigint");

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasMaxLength(256)
                        .HasColumnType("character varying(256)");

                    b.Property<decimal>("UnitaryCost")
                        .HasColumnType("numeric");

                    b.HasKey("Id");

                    b.HasIndex("EstimateId");

                    b.HasIndex("EstimateTemplateId");

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

            modelBuilder.Entity("Yavsc.Models.Billing.Estimate", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("AttachedFilesString")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("AttachedGraphicsString")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("ClientId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<DateTime>("ClientValidationDate")
                        .HasColumnType("timestamp with time zone");

                    b.Property<long?>("CommandId")
                        .HasColumnType("bigint");

                    b.Property<string>("CommandType")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Description")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("OwnerId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<DateTime>("ProviderValidationDate")
                        .HasColumnType("timestamp with time zone");

                    b.Property<string>("Title")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("Id");

                    b.HasIndex("ClientId");

                    b.HasIndex("CommandId");

                    b.HasIndex("OwnerId");

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

            modelBuilder.Entity("Yavsc.Models.Billing.EstimateTemplate", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("Description")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("OwnerId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Title")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("Id");

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

            modelBuilder.Entity("Yavsc.Models.Billing.ExceptionSIREN", b =>
                {
                    b.Property<string>("SIREN")
                        .HasColumnType("text");

                    b.HasKey("SIREN");

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

            modelBuilder.Entity("Yavsc.Models.Blog.BlogPost", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("AuthorId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Content")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<DateTime>("DateCreated")
                        .HasColumnType("timestamp with time zone");

                    b.Property<DateTime>("DateModified")
                        .HasColumnType("timestamp with time zone");

                    b.Property<string>("Lang")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Photo")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<int>("Rate")
                        .HasColumnType("integer");

                    b.Property<string>("Title")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("UserCreated")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("UserModified")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<bool>("Visible")
                        .HasColumnType("boolean");

                    b.HasKey("Id");

                    b.HasIndex("AuthorId");

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

            modelBuilder.Entity("Yavsc.Models.Blog.BlogTag", b =>
                {
                    b.Property<long>("PostId")
                        .HasColumnType("bigint");

                    b.Property<long>("TagId")
                        .HasColumnType("bigint");

                    b.HasKey("PostId", "TagId");

                    b.HasIndex("TagId");

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

            modelBuilder.Entity("Yavsc.Models.Blog.Comment", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("AuthorId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Content")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<DateTime>("DateCreated")
                        .HasColumnType("timestamp with time zone");

                    b.Property<DateTime>("DateModified")
                        .HasColumnType("timestamp with time zone");

                    b.Property<long?>("ParentId")
                        .HasColumnType("bigint");

                    b.Property<long>("PostId")
                        .HasColumnType("bigint");

                    b.Property<string>("UserCreated")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("UserModified")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<bool>("Visible")
                        .HasColumnType("boolean");

                    b.HasKey("Id");

                    b.HasIndex("AuthorId");

                    b.HasIndex("ParentId");

                    b.HasIndex("PostId");

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

            modelBuilder.Entity("Yavsc.Models.Calendar.Schedule", b =>
                {
                    b.Property<string>("OwnerId")
                        .HasColumnType("text");

                    b.HasKey("OwnerId");

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

            modelBuilder.Entity("Yavsc.Models.Calendar.ScheduledEvent", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<DateTime>("PeriodEnd")
                        .HasColumnType("timestamp with time zone");

                    b.Property<DateTime>("PeriodStart")
                        .HasColumnType("timestamp with time zone");

                    b.Property<int>("Reccurence")
                        .HasColumnType("integer");

                    b.Property<string>("ScheduleOwnerId")
                        .HasColumnType("text");

                    b.HasKey("Id");

                    b.HasIndex("ScheduleOwnerId");

                    b.HasIndex("PeriodStart", "PeriodEnd");

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

            modelBuilder.Entity("Yavsc.Models.Chat.ChatConnection", b =>
                {
                    b.Property<string>("ConnectionId")
                        .HasColumnType("text");

                    b.Property<string>("ApplicationUserId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<bool>("Connected")
                        .HasColumnType("boolean");

                    b.Property<string>("UserAgent")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("ConnectionId");

                    b.HasIndex("ApplicationUserId");

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

            modelBuilder.Entity("Yavsc.Models.Chat.ChatRoom", b =>
                {
                    b.Property<string>("Name")
                        .HasColumnType("text");

                    b.Property<DateTime>("DateCreated")
                        .HasColumnType("timestamp with time zone");

                    b.Property<DateTime>("DateModified")
                        .HasColumnType("timestamp with time zone");

                    b.Property<DateTime>("LatestJoinPart")
                        .HasColumnType("timestamp with time zone");

                    b.Property<string>("OwnerId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Topic")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("UserCreated")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("UserModified")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("Name");

                    b.HasIndex("OwnerId");

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

            modelBuilder.Entity("Yavsc.Models.Chat.ChatRoomAccess", b =>
                {
                    b.Property<string>("ChannelName")
                        .HasColumnType("text");

                    b.Property<string>("UserId")
                        .HasColumnType("text");

                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<int>("Level")
                        .HasColumnType("integer");

                    b.HasKey("ChannelName", "UserId");

                    b.HasIndex("UserId");

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

            modelBuilder.Entity("Yavsc.Models.Cratie.Option", b =>
                {
                    b.Property<string>("Code")
                        .HasColumnType("text");

                    b.Property<string>("CodeScrutin")
                        .HasColumnType("text");

                    b.Property<DateTime>("DateCreated")
                        .HasColumnType("timestamp with time zone");

                    b.Property<DateTime>("DateModified")
                        .HasColumnType("timestamp with time zone");

                    b.Property<string>("Description")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("UserCreated")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("UserModified")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("Code", "CodeScrutin");

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

            modelBuilder.Entity("Yavsc.Models.Drawing.Color", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<byte>("Blue")
                        .HasColumnType("smallint");

                    b.Property<byte>("Green")
                        .HasColumnType("smallint");

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<byte>("Red")
                        .HasColumnType("smallint");

                    b.HasKey("Id");

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

            modelBuilder.Entity("Yavsc.Models.Forms.Form", b =>
                {
                    b.Property<string>("Id")
                        .HasColumnType("text");

                    b.Property<string>("Summary")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("Id");

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

            modelBuilder.Entity("Yavsc.Models.Haircut.BrusherProfile", b =>
                {
                    b.Property<string>("UserId")
                        .HasColumnType("text");

                    b.Property<int>("ActionDistance")
                        .HasColumnType("integer");

                    b.Property<decimal>("CarePrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("FlatFeeDiscount")
                        .HasColumnType("numeric");

                    b.Property<decimal>("HalfBalayagePrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("HalfBrushingPrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("HalfColorPrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("HalfDefrisPrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("HalfFoldingPrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("HalfMechPrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("HalfMultiColorPrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("HalfPermanentPrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("KidCutPrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("LongBalayagePrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("LongBrushingPrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("LongColorPrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("LongDefrisPrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("LongFoldingPrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("LongMechPrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("LongMultiColorPrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("LongPermanentPrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("ManBrushPrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("ManCutPrice")
                        .HasColumnType("numeric");

                    b.Property<string>("ScheduleOwnerId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<decimal>("ShampooPrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("ShortBalayagePrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("ShortBrushingPrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("ShortColorPrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("ShortDefrisPrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("ShortFoldingPrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("ShortMechPrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("ShortMultiColorPrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("ShortPermanentPrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("WomenHalfCutPrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("WomenLongCutPrice")
                        .HasColumnType("numeric");

                    b.Property<decimal>("WomenShortCutPrice")
                        .HasColumnType("numeric");

                    b.HasKey("UserId");

                    b.HasIndex("ScheduleOwnerId");

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

            modelBuilder.Entity("Yavsc.Models.Haircut.HairCutQuery", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("ActivityCode")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("AdditionalInfo")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("ClientId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<bool>("Consent")
                        .HasColumnType("boolean");

                    b.Property<DateTime>("DateCreated")
                        .HasColumnType("timestamp with time zone");

                    b.Property<DateTime>("DateModified")
                        .HasColumnType("timestamp with time zone");

                    b.Property<string>("Description")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<DateTime?>("EventDate")
                        .HasColumnType("timestamp with time zone");

                    b.Property<long?>("LocationId")
                        .IsRequired()
                        .HasColumnType("bigint");

                    b.Property<string>("PaymentId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("PerformerId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<long>("PrestationId")
                        .HasColumnType("bigint");

                    b.Property<decimal?>("Previsional")
                        .HasColumnType("numeric");

                    b.Property<bool>("Rejected")
                        .HasColumnType("boolean");

                    b.Property<DateTime>("RejectedAt")
                        .HasColumnType("timestamp with time zone");

                    b.Property<string>("SelectedProfileUserId")
                        .HasColumnType("text");

                    b.Property<int>("Status")
                        .HasColumnType("integer");

                    b.Property<string>("UserCreated")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("UserModified")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<DateTime?>("ValidationDate")
                        .HasColumnType("timestamp with time zone");

                    b.HasKey("Id");

                    b.HasIndex("ActivityCode");

                    b.HasIndex("ClientId");

                    b.HasIndex("LocationId");

                    b.HasIndex("PaymentId");

                    b.HasIndex("PerformerId");

                    b.HasIndex("PrestationId");

                    b.HasIndex("SelectedProfileUserId");

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

            modelBuilder.Entity("Yavsc.Models.Haircut.HairMultiCutQuery", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("ActivityCode")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("ClientId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<bool>("Consent")
                        .HasColumnType("boolean");

                    b.Property<DateTime>("DateCreated")
                        .HasColumnType("timestamp with time zone");

                    b.Property<DateTime>("DateModified")
                        .HasColumnType("timestamp with time zone");

                    b.Property<string>("Description")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<DateTime>("EventDate")
                        .HasColumnType("timestamp with time zone");

                    b.Property<long>("LocationId")
                        .HasColumnType("bigint");

                    b.Property<string>("PaymentId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("PerformerId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<decimal?>("Previsional")
                        .HasColumnType("numeric");

                    b.Property<bool>("Rejected")
                        .HasColumnType("boolean");

                    b.Property<DateTime>("RejectedAt")
                        .HasColumnType("timestamp with time zone");

                    b.Property<int>("Status")
                        .HasColumnType("integer");

                    b.Property<string>("UserCreated")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("UserModified")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<DateTime?>("ValidationDate")
                        .HasColumnType("timestamp with time zone");

                    b.HasKey("Id");

                    b.HasIndex("ActivityCode");

                    b.HasIndex("ClientId");

                    b.HasIndex("LocationId");

                    b.HasIndex("PaymentId");

                    b.HasIndex("PerformerId");

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

            modelBuilder.Entity("Yavsc.Models.Haircut.HairPrestation", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<bool>("Cares")
                        .HasColumnType("boolean");

                    b.Property<bool>("Cut")
                        .HasColumnType("boolean");

                    b.Property<int>("Dressing")
                        .HasColumnType("integer");

                    b.Property<int>("Gender")
                        .HasColumnType("integer");

                    b.Property<int>("Length")
                        .HasColumnType("integer");

                    b.Property<bool>("Shampoo")
                        .HasColumnType("boolean");

                    b.Property<int>("Tech")
                        .HasColumnType("integer");

                    b.HasKey("Id");

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

            modelBuilder.Entity("Yavsc.Models.Haircut.HairPrestationCollectionItem", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<long>("PrestationId")
                        .HasColumnType("bigint");

                    b.Property<long>("QueryId")
                        .HasColumnType("bigint");

                    b.HasKey("Id");

                    b.HasIndex("PrestationId");

                    b.HasIndex("QueryId");

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

            modelBuilder.Entity("Yavsc.Models.Haircut.HairTaint", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("Brand")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<long>("ColorId")
                        .HasColumnType("bigint");

                    b.HasKey("Id");

                    b.HasIndex("ColorId");

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

            modelBuilder.Entity("Yavsc.Models.Haircut.HairTaintInstance", b =>
                {
                    b.Property<long>("TaintId")
                        .HasColumnType("bigint");

                    b.Property<long>("PrestationId")
                        .HasColumnType("bigint");

                    b.HasKey("TaintId", "PrestationId");

                    b.HasIndex("PrestationId");

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

            modelBuilder.Entity("Yavsc.Models.IT.Evolution.Feature", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("Description")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("ShortName")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<int>("Status")
                        .HasColumnType("integer");

                    b.HasKey("Id");

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

            modelBuilder.Entity("Yavsc.Models.IT.Fixing.Bug", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("Description")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<long?>("FeatureId")
                        .IsRequired()
                        .HasColumnType("bigint");

                    b.Property<int>("Status")
                        .HasColumnType("integer");

                    b.Property<string>("Title")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("Id");

                    b.HasIndex("FeatureId");

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

            modelBuilder.Entity("Yavsc.Models.Identity.DeviceDeclaration", b =>
                {
                    b.Property<string>("DeviceId")
                        .HasColumnType("text");

                    b.Property<DateTime>("DeclarationDate")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("timestamp with time zone")
                        .HasDefaultValueSql("LOCALTIMESTAMP");

                    b.Property<string>("DeviceOwnerId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<DateTime?>("LatestActivityUpdate")
                        .HasColumnType("timestamp with time zone");

                    b.Property<string>("Model")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Platform")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Version")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("DeviceId");

                    b.HasIndex("DeviceOwnerId");

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

            modelBuilder.Entity("Yavsc.Models.Market.Product", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<decimal>("Depth")
                        .HasColumnType("numeric");

                    b.Property<string>("Description")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<decimal>("Height")
                        .HasColumnType("numeric");

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<decimal?>("Price")
                        .HasColumnType("numeric");

                    b.Property<bool>("Public")
                        .HasColumnType("boolean");

                    b.Property<decimal>("Weight")
                        .HasColumnType("numeric");

                    b.Property<decimal>("Width")
                        .HasColumnType("numeric");

                    b.HasKey("Id");

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

            modelBuilder.Entity("Yavsc.Models.Market.Service", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("ContextId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Description")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<bool>("Public")
                        .HasColumnType("boolean");

                    b.HasKey("Id");

                    b.HasIndex("ContextId");

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

            modelBuilder.Entity("Yavsc.Models.Messaging.Announce", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<byte>("For")
                        .HasColumnType("smallint");

                    b.Property<string>("Message")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("OwnerId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Sender")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Topic")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("Id");

                    b.HasIndex("OwnerId");

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

            modelBuilder.Entity("Yavsc.Models.Messaging.DimissClicked", b =>
                {
                    b.Property<string>("UserId")
                        .HasColumnType("text");

                    b.Property<long>("NotificationId")
                        .HasColumnType("bigint");

                    b.HasKey("UserId", "NotificationId");

                    b.HasIndex("NotificationId");

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

            modelBuilder.Entity("Yavsc.Models.Messaging.Notification", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("Target")
                        .IsRequired()
                        .HasMaxLength(512)
                        .HasColumnType("character varying(512)");

                    b.Property<string>("body")
                        .IsRequired()
                        .HasMaxLength(512)
                        .HasColumnType("character varying(512)");

                    b.Property<string>("click_action")
                        .IsRequired()
                        .HasMaxLength(512)
                        .HasColumnType("character varying(512)");

                    b.Property<string>("color")
                        .IsRequired()
                        .HasMaxLength(512)
                        .HasColumnType("character varying(512)");

                    b.Property<string>("icon")
                        .IsRequired()
                        .ValueGeneratedOnAdd()
                        .HasMaxLength(512)
                        .HasColumnType("character varying(512)")
                        .HasDefaultValue("exclam");

                    b.Property<string>("sound")
                        .IsRequired()
                        .HasMaxLength(512)
                        .HasColumnType("character varying(512)");

                    b.Property<string>("tag")
                        .IsRequired()
                        .HasMaxLength(512)
                        .HasColumnType("character varying(512)");

                    b.Property<string>("title")
                        .IsRequired()
                        .HasMaxLength(1024)
                        .HasColumnType("character varying(1024)");

                    b.HasKey("Id");

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

            modelBuilder.Entity("Yavsc.Models.Musical.Instrument", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasMaxLength(255)
                        .HasColumnType("character varying(255)");

                    b.HasKey("Id");

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

            modelBuilder.Entity("Yavsc.Models.Musical.InstrumentRating", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<long>("InstrumentId")
                        .HasColumnType("bigint");

                    b.Property<string>("OwnerId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<int>("Rate")
                        .HasColumnType("integer");

                    b.HasKey("Id");

                    b.HasAlternateKey("InstrumentId", "OwnerId");

                    b.HasIndex("OwnerId");

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

            modelBuilder.Entity("Yavsc.Models.Musical.MusicalPreference", b =>
                {
                    b.Property<string>("OwnerProfileId")
                        .HasColumnType("text");

                    b.Property<string>("DjSettingsUserId")
                        .HasColumnType("text");

                    b.Property<string>("GeneralSettingsUserId")
                        .HasColumnType("text");

                    b.Property<int>("Rate")
                        .HasColumnType("integer");

                    b.Property<long>("TendencyId")
                        .HasColumnType("bigint");

                    b.HasKey("OwnerProfileId");

                    b.HasIndex("DjSettingsUserId");

                    b.HasIndex("GeneralSettingsUserId");

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

            modelBuilder.Entity("Yavsc.Models.Musical.MusicalTendency", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasMaxLength(255)
                        .HasColumnType("character varying(255)");

                    b.HasKey("Id");

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

            modelBuilder.Entity("Yavsc.Models.Musical.Profiles.DjSettings", b =>
                {
                    b.Property<string>("UserId")
                        .HasColumnType("text");

                    b.Property<string>("SoundCloudId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("UserId");

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

            modelBuilder.Entity("Yavsc.Models.Musical.Profiles.GeneralSettings", b =>
                {
                    b.Property<string>("UserId")
                        .HasColumnType("text");

                    b.HasKey("UserId");

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

            modelBuilder.Entity("Yavsc.Models.Musical.Profiles.Instrumentation", b =>
                {
                    b.Property<long>("InstrumentId")
                        .HasColumnType("bigint");

                    b.Property<string>("UserId")
                        .HasColumnType("text");

                    b.HasKey("InstrumentId", "UserId");

                    b.HasIndex("UserId");

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

            modelBuilder.Entity("Yavsc.Models.Payment.PayPalPayment", b =>
                {
                    b.Property<string>("CreationToken")
                        .HasColumnType("text");

                    b.Property<DateTime>("DateCreated")
                        .HasColumnType("timestamp with time zone");

                    b.Property<DateTime>("DateModified")
                        .HasColumnType("timestamp with time zone");

                    b.Property<string>("ExecutorId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("OrderReference")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("PaypalPayerId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("State")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("UserCreated")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("UserModified")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("CreationToken");

                    b.HasIndex("ExecutorId");

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

            modelBuilder.Entity("Yavsc.Models.Relationship.Circle", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("ApplicationUserId")
                        .HasColumnType("text");

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("OwnerId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<bool>("Public")
                        .HasColumnType("boolean");

                    b.HasKey("Id");

                    b.HasIndex("ApplicationUserId");

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

            modelBuilder.Entity("Yavsc.Models.Relationship.CircleMember", b =>
                {
                    b.Property<string>("MemberId")
                        .HasColumnType("text");

                    b.Property<long>("CircleId")
                        .HasColumnType("bigint");

                    b.HasKey("MemberId", "CircleId");

                    b.HasIndex("CircleId");

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

            modelBuilder.Entity("Yavsc.Models.Relationship.Contact", b =>
                {
                    b.Property<string>("OwnerId")
                        .HasColumnType("text");

                    b.Property<string>("UserId")
                        .HasColumnType("text");

                    b.Property<long>("AddressId")
                        .HasColumnType("bigint");

                    b.Property<string>("ApplicationUserId")
                        .HasColumnType("text");

                    b.Property<string>("EMail")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("OwnerId", "UserId");

                    b.HasIndex("AddressId");

                    b.HasIndex("ApplicationUserId");

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

            modelBuilder.Entity("Yavsc.Models.Relationship.HyperLink", b =>
                {
                    b.Property<string>("HRef")
                        .HasColumnType("text");

                    b.Property<string>("Method")
                        .HasColumnType("text");

                    b.Property<string>("BrusherProfileUserId")
                        .HasColumnType("text");

                    b.Property<string>("ContentType")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("PayPalPaymentCreationToken")
                        .HasColumnType("text");

                    b.Property<string>("Rel")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("HRef", "Method");

                    b.HasIndex("BrusherProfileUserId");

                    b.HasIndex("PayPalPaymentCreationToken");

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

            modelBuilder.Entity("Yavsc.Models.Relationship.Location", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("Address")
                        .IsRequired()
                        .HasMaxLength(512)
                        .HasColumnType("character varying(512)");

                    b.Property<double>("Latitude")
                        .HasColumnType("double precision");

                    b.Property<double>("Longitude")
                        .HasColumnType("double precision");

                    b.HasKey("Id");

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

            modelBuilder.Entity("Yavsc.Models.Relationship.PostalAddress", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("City")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Country")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("PostalCode")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Province")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("State")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Street1")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Street2")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("Id");

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

            modelBuilder.Entity("Yavsc.Models.Relationship.Tag", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("Id");

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

            modelBuilder.Entity("Yavsc.Models.Skill", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<int>("Rate")
                        .HasColumnType("integer");

                    b.HasKey("Id");

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

            modelBuilder.Entity("Yavsc.Models.Streaming.LiveFlow", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("DifferedFileName")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("MediaType")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("OwnerId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Pitch")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<int>("SequenceNumber")
                        .HasColumnType("integer");

                    b.Property<string>("Title")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("Id");

                    b.HasIndex("OwnerId");

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

            modelBuilder.Entity("Yavsc.Models.Workflow.Activity", b =>
                {
                    b.Property<string>("Code")
                        .HasColumnType("text");

                    b.Property<DateTime>("DateCreated")
                        .HasColumnType("timestamp with time zone");

                    b.Property<DateTime>("DateModified")
                        .HasColumnType("timestamp with time zone");

                    b.Property<string>("Description")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<bool>("Hidden")
                        .HasColumnType("boolean");

                    b.Property<string>("ModeratorGroupName")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("ParentCode")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Photo")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<int>("Rate")
                        .HasColumnType("integer");

                    b.Property<string>("SettingsClassName")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("UserCreated")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("UserModified")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("Code");

                    b.HasIndex("ParentCode");

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

            modelBuilder.Entity("Yavsc.Models.Workflow.CoWorking", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("FormationSettingsUserId")
                        .HasColumnType("text");

                    b.Property<string>("PerformerId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("WorkingForId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("Id");

                    b.HasIndex("FormationSettingsUserId");

                    b.HasIndex("PerformerId");

                    b.HasIndex("WorkingForId");

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

            modelBuilder.Entity("Yavsc.Models.Workflow.CommandForm", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("ActionName")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("ActivityCode")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Title")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("Id");

                    b.HasIndex("ActivityCode");

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

            modelBuilder.Entity("Yavsc.Models.Workflow.PerformerProfile", b =>
                {
                    b.Property<string>("PerformerId")
                        .HasColumnType("text");

                    b.Property<bool>("AcceptNotifications")
                        .HasColumnType("boolean");

                    b.Property<bool>("AcceptPublicContact")
                        .HasColumnType("boolean");

                    b.Property<bool>("Active")
                        .HasColumnType("boolean");

                    b.Property<int?>("MaxDailyCost")
                        .HasColumnType("integer");

                    b.Property<int?>("MinDailyCost")
                        .HasColumnType("integer");

                    b.Property<long>("OrganizationAddressId")
                        .HasColumnType("bigint");

                    b.Property<int>("Rate")
                        .HasColumnType("integer");

                    b.Property<string>("SIREN")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<bool>("UseGeoLocalizationToReduceDistanceWithClients")
                        .HasColumnType("boolean");

                    b.Property<string>("WebSite")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("PerformerId");

                    b.HasIndex("OrganizationAddressId");

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

            modelBuilder.Entity("Yavsc.Models.Workflow.Profiles.FormationSettings", b =>
                {
                    b.Property<string>("UserId")
                        .HasColumnType("text");

                    b.Property<string>("DisplayName")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("UserId");

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

            modelBuilder.Entity("Yavsc.Models.Workflow.RdvQuery", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("ActivityCode")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("ClientId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<bool>("Consent")
                        .HasColumnType("boolean");

                    b.Property<DateTime>("DateCreated")
                        .HasColumnType("timestamp with time zone");

                    b.Property<DateTime>("DateModified")
                        .HasColumnType("timestamp with time zone");

                    b.Property<string>("Description")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<DateTime>("EventDate")
                        .HasColumnType("timestamp with time zone");

                    b.Property<long>("LocationId")
                        .HasColumnType("bigint");

                    b.Property<int>("LocationType")
                        .HasColumnType("integer");

                    b.Property<string>("PaymentId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("PerformerId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<decimal?>("Previsional")
                        .HasColumnType("numeric");

                    b.Property<string>("Reason")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<bool>("Rejected")
                        .HasColumnType("boolean");

                    b.Property<DateTime>("RejectedAt")
                        .HasColumnType("timestamp with time zone");

                    b.Property<int>("Status")
                        .HasColumnType("integer");

                    b.Property<string>("UserCreated")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("UserModified")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<DateTime?>("ValidationDate")
                        .HasColumnType("timestamp with time zone");

                    b.HasKey("Id");

                    b.HasIndex("ActivityCode");

                    b.HasIndex("ClientId");

                    b.HasIndex("LocationId");

                    b.HasIndex("PaymentId");

                    b.HasIndex("PerformerId");

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

            modelBuilder.Entity("Yavsc.Models.Workflow.UserActivity", b =>
                {
                    b.Property<string>("DoesCode")
                        .HasColumnType("text");

                    b.Property<string>("UserId")
                        .HasColumnType("text");

                    b.Property<int>("Weight")
                        .HasColumnType("integer");

                    b.HasKey("DoesCode", "UserId");

                    b.HasIndex("UserId");

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

            modelBuilder.Entity("Yavsc.Server.Models.Blog.BlogTrad", b =>
                {
                    b.Property<long>("PostId")
                        .HasColumnType("bigint");

                    b.Property<string>("Lang")
                        .HasColumnType("text");

                    b.Property<string>("Body")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Title")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("TraducerId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("PostId", "Lang");

                    b.HasIndex("TraducerId");

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

            modelBuilder.Entity("Yavsc.Server.Models.Calendar.Period", b =>
                {
                    b.Property<DateTime>("Start")
                        .HasColumnType("timestamp with time zone");

                    b.Property<DateTime>("End")
                        .HasColumnType("timestamp with time zone");

                    b.HasKey("Start", "End");

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

            modelBuilder.Entity("Yavsc.Server.Models.EMailing.MailingTemplate", b =>
                {
                    b.Property<string>("Id")
                        .HasColumnType("text");

                    b.Property<string>("Body")
                        .IsRequired()
                        .HasMaxLength(65536)
                        .HasColumnType("character varying(65536)");

                    b.Property<DateTime>("DateCreated")
                        .HasColumnType("timestamp with time zone");

                    b.Property<DateTime>("DateModified")
                        .HasColumnType("timestamp with time zone");

                    b.Property<string>("ReplyToAddress")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<int>("ToSend")
                        .HasColumnType("integer");

                    b.Property<string>("Topic")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("UserCreated")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("UserModified")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("Id");

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

            modelBuilder.Entity("Yavsc.Server.Models.IT.Project", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("ActivityCode")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("ClientId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<bool>("Consent")
                        .HasColumnType("boolean");

                    b.Property<DateTime>("DateCreated")
                        .HasColumnType("timestamp with time zone");

                    b.Property<DateTime>("DateModified")
                        .HasColumnType("timestamp with time zone");

                    b.Property<string>("Description")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<long>("GitId")
                        .HasColumnType("bigint");

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("OwnerId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("PaymentId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("PerformerId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<decimal?>("Previsional")
                        .HasColumnType("numeric");

                    b.Property<bool>("Rejected")
                        .HasColumnType("boolean");

                    b.Property<DateTime>("RejectedAt")
                        .HasColumnType("timestamp with time zone");

                    b.Property<int>("Status")
                        .HasColumnType("integer");

                    b.Property<string>("UserCreated")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("UserModified")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<DateTime?>("ValidationDate")
                        .HasColumnType("timestamp with time zone");

                    b.Property<string>("Version")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("Id");

                    b.HasIndex("ActivityCode");

                    b.HasIndex("ClientId");

                    b.HasIndex("GitId");

                    b.HasIndex("PaymentId");

                    b.HasIndex("PerformerId");

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

            modelBuilder.Entity("Yavsc.Server.Models.IT.ProjectBuildConfiguration", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<long>("ProjectId")
                        .HasColumnType("bigint");

                    b.HasKey("Id");

                    b.HasIndex("ProjectId");

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

            modelBuilder.Entity("Yavsc.Server.Models.IT.SourceCode.GitRepositoryReference", b =>
                {
                    b.Property<long>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("bigint");

                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));

                    b.Property<string>("Branch")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("OwnerId")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Path")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("Url")
                        .IsRequired()
                        .HasColumnType("text");

                    b.HasKey("Id");

                    b.HasIndex("OwnerId");

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

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b =>
                {
                    b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null)
                        .WithMany()
                        .HasForeignKey("RoleId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b =>
                {
                    b.HasOne("Yavsc.Models.ApplicationUser", null)
                        .WithMany()
                        .HasForeignKey("UserId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b =>
                {
                    b.HasOne("Yavsc.Models.ApplicationUser", null)
                        .WithMany()
                        .HasForeignKey("UserId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b =>
                {
                    b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null)
                        .WithMany()
                        .HasForeignKey("RoleId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.ApplicationUser", null)
                        .WithMany()
                        .HasForeignKey("UserId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b =>
                {
                    b.HasOne("Yavsc.Models.ApplicationUser", null)
                        .WithMany()
                        .HasForeignKey("UserId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                });

            modelBuilder.Entity("Yavsc.Models.Access.Ban", b =>
                {
                    b.HasOne("Yavsc.Models.ApplicationUser", "TargetUser")
                        .WithMany()
                        .HasForeignKey("TargetId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("TargetUser");
                });

            modelBuilder.Entity("Yavsc.Models.Access.BlackListed", b =>
                {
                    b.HasOne("Yavsc.Models.ApplicationUser", "Owner")
                        .WithMany("BlackList")
                        .HasForeignKey("OwnerId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.ApplicationUser", "User")
                        .WithMany()
                        .HasForeignKey("UserId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Owner");

                    b.Navigation("User");
                });

            modelBuilder.Entity("Yavsc.Models.Access.CircleAuthorizationToBlogPost", b =>
                {
                    b.HasOne("Yavsc.Models.Blog.BlogPost", "Target")
                        .WithMany("ACL")
                        .HasForeignKey("BlogPostId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.Relationship.Circle", "Allowed")
                        .WithMany()
                        .HasForeignKey("CircleId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Allowed");

                    b.Navigation("Target");
                });

            modelBuilder.Entity("Yavsc.Models.AccountBalance", b =>
                {
                    b.HasOne("Yavsc.Models.ApplicationUser", "Owner")
                        .WithOne("AccountBalance")
                        .HasForeignKey("Yavsc.Models.AccountBalance", "UserId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Owner");
                });

            modelBuilder.Entity("Yavsc.Models.ApplicationUser", b =>
                {
                    b.HasOne("Yavsc.Models.Bank.BankIdentity", "BankInfo")
                        .WithMany()
                        .HasForeignKey("BankInfoId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.Relationship.Location", "PostalAddress")
                        .WithMany()
                        .HasForeignKey("PostalAddressId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("BankInfo");

                    b.Navigation("PostalAddress");
                });

            modelBuilder.Entity("Yavsc.Models.BalanceImpact", b =>
                {
                    b.HasOne("Yavsc.Models.AccountBalance", "Balance")
                        .WithMany()
                        .HasForeignKey("BalanceId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Balance");
                });

            modelBuilder.Entity("Yavsc.Models.Billing.CommandLine", b =>
                {
                    b.HasOne("Yavsc.Models.Billing.Estimate", null)
                        .WithMany("Bill")
                        .HasForeignKey("EstimateId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.Billing.EstimateTemplate", null)
                        .WithMany("Bill")
                        .HasForeignKey("EstimateTemplateId");
                });

            modelBuilder.Entity("Yavsc.Models.Billing.Estimate", b =>
                {
                    b.HasOne("Yavsc.Models.ApplicationUser", "Client")
                        .WithMany()
                        .HasForeignKey("ClientId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.Workflow.RdvQuery", "Query")
                        .WithMany()
                        .HasForeignKey("CommandId");

                    b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "Owner")
                        .WithMany()
                        .HasForeignKey("OwnerId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Client");

                    b.Navigation("Owner");

                    b.Navigation("Query");
                });

            modelBuilder.Entity("Yavsc.Models.Blog.BlogPost", b =>
                {
                    b.HasOne("Yavsc.Models.ApplicationUser", "Author")
                        .WithMany("Posts")
                        .HasForeignKey("AuthorId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Author");
                });

            modelBuilder.Entity("Yavsc.Models.Blog.BlogTag", b =>
                {
                    b.HasOne("Yavsc.Models.Blog.BlogPost", "Post")
                        .WithMany("Tags")
                        .HasForeignKey("PostId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.Relationship.Tag", "Tag")
                        .WithMany()
                        .HasForeignKey("TagId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Post");

                    b.Navigation("Tag");
                });

            modelBuilder.Entity("Yavsc.Models.Blog.Comment", b =>
                {
                    b.HasOne("Yavsc.Models.ApplicationUser", "Author")
                        .WithMany()
                        .HasForeignKey("AuthorId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.Blog.Comment", "Parent")
                        .WithMany("Children")
                        .HasForeignKey("ParentId");

                    b.HasOne("Yavsc.Models.Blog.BlogPost", "Post")
                        .WithMany("Comments")
                        .HasForeignKey("PostId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Author");

                    b.Navigation("Parent");

                    b.Navigation("Post");
                });

            modelBuilder.Entity("Yavsc.Models.Calendar.Schedule", b =>
                {
                    b.HasOne("Yavsc.Models.ApplicationUser", "Owner")
                        .WithMany()
                        .HasForeignKey("OwnerId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Owner");
                });

            modelBuilder.Entity("Yavsc.Models.Calendar.ScheduledEvent", b =>
                {
                    b.HasOne("Yavsc.Models.Calendar.Schedule", null)
                        .WithMany("Events")
                        .HasForeignKey("ScheduleOwnerId");

                    b.HasOne("Yavsc.Server.Models.Calendar.Period", "Period")
                        .WithMany()
                        .HasForeignKey("PeriodStart", "PeriodEnd")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Period");
                });

            modelBuilder.Entity("Yavsc.Models.Chat.ChatConnection", b =>
                {
                    b.HasOne("Yavsc.Models.ApplicationUser", "Owner")
                        .WithMany("Connections")
                        .HasForeignKey("ApplicationUserId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Owner");
                });

            modelBuilder.Entity("Yavsc.Models.Chat.ChatRoom", b =>
                {
                    b.HasOne("Yavsc.Models.ApplicationUser", "Owner")
                        .WithMany("Rooms")
                        .HasForeignKey("OwnerId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Owner");
                });

            modelBuilder.Entity("Yavsc.Models.Chat.ChatRoomAccess", b =>
                {
                    b.HasOne("Yavsc.Models.Chat.ChatRoom", "Room")
                        .WithMany("Moderation")
                        .HasForeignKey("ChannelName")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.ApplicationUser", "User")
                        .WithMany("RoomAccess")
                        .HasForeignKey("UserId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Room");

                    b.Navigation("User");
                });

            modelBuilder.Entity("Yavsc.Models.Haircut.BrusherProfile", b =>
                {
                    b.HasOne("Yavsc.Models.Calendar.Schedule", "Schedule")
                        .WithMany()
                        .HasForeignKey("ScheduleOwnerId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "BaseProfile")
                        .WithMany()
                        .HasForeignKey("UserId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("BaseProfile");

                    b.Navigation("Schedule");
                });

            modelBuilder.Entity("Yavsc.Models.Haircut.HairCutQuery", b =>
                {
                    b.HasOne("Yavsc.Models.Workflow.Activity", "Context")
                        .WithMany()
                        .HasForeignKey("ActivityCode")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.ApplicationUser", "Client")
                        .WithMany()
                        .HasForeignKey("ClientId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.Relationship.Location", "Location")
                        .WithMany()
                        .HasForeignKey("LocationId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.Payment.PayPalPayment", "Regularisation")
                        .WithMany()
                        .HasForeignKey("PaymentId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "PerformerProfile")
                        .WithMany()
                        .HasForeignKey("PerformerId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.Haircut.HairPrestation", "Prestation")
                        .WithMany()
                        .HasForeignKey("PrestationId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.Haircut.BrusherProfile", "SelectedProfile")
                        .WithMany()
                        .HasForeignKey("SelectedProfileUserId");

                    b.Navigation("Client");

                    b.Navigation("Context");

                    b.Navigation("Location");

                    b.Navigation("PerformerProfile");

                    b.Navigation("Prestation");

                    b.Navigation("Regularisation");

                    b.Navigation("SelectedProfile");
                });

            modelBuilder.Entity("Yavsc.Models.Haircut.HairMultiCutQuery", b =>
                {
                    b.HasOne("Yavsc.Models.Workflow.Activity", "Context")
                        .WithMany()
                        .HasForeignKey("ActivityCode")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.ApplicationUser", "Client")
                        .WithMany()
                        .HasForeignKey("ClientId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.Relationship.Location", "Location")
                        .WithMany()
                        .HasForeignKey("LocationId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.Payment.PayPalPayment", "Regularisation")
                        .WithMany()
                        .HasForeignKey("PaymentId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "PerformerProfile")
                        .WithMany()
                        .HasForeignKey("PerformerId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Client");

                    b.Navigation("Context");

                    b.Navigation("Location");

                    b.Navigation("PerformerProfile");

                    b.Navigation("Regularisation");
                });

            modelBuilder.Entity("Yavsc.Models.Haircut.HairPrestationCollectionItem", b =>
                {
                    b.HasOne("Yavsc.Models.Haircut.HairPrestation", "Prestation")
                        .WithMany()
                        .HasForeignKey("PrestationId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.Haircut.HairMultiCutQuery", "Query")
                        .WithMany("Prestations")
                        .HasForeignKey("QueryId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Prestation");

                    b.Navigation("Query");
                });

            modelBuilder.Entity("Yavsc.Models.Haircut.HairTaint", b =>
                {
                    b.HasOne("Yavsc.Models.Drawing.Color", "Color")
                        .WithMany()
                        .HasForeignKey("ColorId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Color");
                });

            modelBuilder.Entity("Yavsc.Models.Haircut.HairTaintInstance", b =>
                {
                    b.HasOne("Yavsc.Models.Haircut.HairPrestation", "Prestation")
                        .WithMany("Taints")
                        .HasForeignKey("PrestationId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.Haircut.HairTaint", "Taint")
                        .WithMany()
                        .HasForeignKey("TaintId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Prestation");

                    b.Navigation("Taint");
                });

            modelBuilder.Entity("Yavsc.Models.IT.Fixing.Bug", b =>
                {
                    b.HasOne("Yavsc.Models.IT.Evolution.Feature", "False")
                        .WithMany()
                        .HasForeignKey("FeatureId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("False");
                });

            modelBuilder.Entity("Yavsc.Models.Identity.DeviceDeclaration", b =>
                {
                    b.HasOne("Yavsc.Models.ApplicationUser", "DeviceOwner")
                        .WithMany("DeviceDeclaration")
                        .HasForeignKey("DeviceOwnerId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("DeviceOwner");
                });

            modelBuilder.Entity("Yavsc.Models.Market.Service", b =>
                {
                    b.HasOne("Yavsc.Models.Workflow.Activity", "Context")
                        .WithMany("Services")
                        .HasForeignKey("ContextId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Context");
                });

            modelBuilder.Entity("Yavsc.Models.Messaging.Announce", b =>
                {
                    b.HasOne("Yavsc.Models.ApplicationUser", "Owner")
                        .WithMany()
                        .HasForeignKey("OwnerId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Owner");
                });

            modelBuilder.Entity("Yavsc.Models.Messaging.DimissClicked", b =>
                {
                    b.HasOne("Yavsc.Models.Messaging.Notification", "Notified")
                        .WithMany()
                        .HasForeignKey("NotificationId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.ApplicationUser", "User")
                        .WithMany()
                        .HasForeignKey("UserId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Notified");

                    b.Navigation("User");
                });

            modelBuilder.Entity("Yavsc.Models.Musical.InstrumentRating", b =>
                {
                    b.HasOne("Yavsc.Models.Musical.Instrument", "Instrument")
                        .WithMany()
                        .HasForeignKey("InstrumentId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "Profile")
                        .WithMany()
                        .HasForeignKey("OwnerId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Instrument");

                    b.Navigation("Profile");
                });

            modelBuilder.Entity("Yavsc.Models.Musical.MusicalPreference", b =>
                {
                    b.HasOne("Yavsc.Models.Musical.Profiles.DjSettings", null)
                        .WithMany("SoundColor")
                        .HasForeignKey("DjSettingsUserId");

                    b.HasOne("Yavsc.Models.Musical.Profiles.GeneralSettings", null)
                        .WithMany("SoundColor")
                        .HasForeignKey("GeneralSettingsUserId");
                });

            modelBuilder.Entity("Yavsc.Models.Musical.Profiles.Instrumentation", b =>
                {
                    b.HasOne("Yavsc.Models.Musical.Instrument", "Tool")
                        .WithMany()
                        .HasForeignKey("InstrumentId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "User")
                        .WithMany()
                        .HasForeignKey("UserId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Tool");

                    b.Navigation("User");
                });

            modelBuilder.Entity("Yavsc.Models.Payment.PayPalPayment", b =>
                {
                    b.HasOne("Yavsc.Models.ApplicationUser", "Executor")
                        .WithMany()
                        .HasForeignKey("ExecutorId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Executor");
                });

            modelBuilder.Entity("Yavsc.Models.Relationship.Circle", b =>
                {
                    b.HasOne("Yavsc.Models.ApplicationUser", null)
                        .WithMany("Circles")
                        .HasForeignKey("ApplicationUserId");
                });

            modelBuilder.Entity("Yavsc.Models.Relationship.CircleMember", b =>
                {
                    b.HasOne("Yavsc.Models.Relationship.Circle", "Circle")
                        .WithMany("Members")
                        .HasForeignKey("CircleId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.ApplicationUser", "Member")
                        .WithMany("Membership")
                        .HasForeignKey("MemberId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Circle");

                    b.Navigation("Member");
                });

            modelBuilder.Entity("Yavsc.Models.Relationship.Contact", b =>
                {
                    b.HasOne("Yavsc.Models.Relationship.PostalAddress", "PostalAddress")
                        .WithMany()
                        .HasForeignKey("AddressId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.ApplicationUser", null)
                        .WithMany("Book")
                        .HasForeignKey("ApplicationUserId");

                    b.Navigation("PostalAddress");
                });

            modelBuilder.Entity("Yavsc.Models.Relationship.HyperLink", b =>
                {
                    b.HasOne("Yavsc.Models.Haircut.BrusherProfile", null)
                        .WithMany("Links")
                        .HasForeignKey("BrusherProfileUserId");

                    b.HasOne("Yavsc.Models.Payment.PayPalPayment", null)
                        .WithMany("Links")
                        .HasForeignKey("PayPalPaymentCreationToken");
                });

            modelBuilder.Entity("Yavsc.Models.Streaming.LiveFlow", b =>
                {
                    b.HasOne("Yavsc.Models.ApplicationUser", "Owner")
                        .WithMany()
                        .HasForeignKey("OwnerId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Owner");
                });

            modelBuilder.Entity("Yavsc.Models.Workflow.Activity", b =>
                {
                    b.HasOne("Yavsc.Models.Workflow.Activity", "Parent")
                        .WithMany("Children")
                        .HasForeignKey("ParentCode")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Parent");
                });

            modelBuilder.Entity("Yavsc.Models.Workflow.CoWorking", b =>
                {
                    b.HasOne("Yavsc.Models.Workflow.Profiles.FormationSettings", null)
                        .WithMany("CoWorking")
                        .HasForeignKey("FormationSettingsUserId");

                    b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "Performer")
                        .WithMany()
                        .HasForeignKey("PerformerId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.ApplicationUser", "WorkingFor")
                        .WithMany()
                        .HasForeignKey("WorkingForId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Performer");

                    b.Navigation("WorkingFor");
                });

            modelBuilder.Entity("Yavsc.Models.Workflow.CommandForm", b =>
                {
                    b.HasOne("Yavsc.Models.Workflow.Activity", "Context")
                        .WithMany("Forms")
                        .HasForeignKey("ActivityCode")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Context");
                });

            modelBuilder.Entity("Yavsc.Models.Workflow.PerformerProfile", b =>
                {
                    b.HasOne("Yavsc.Models.Relationship.Location", "OrganizationAddress")
                        .WithMany()
                        .HasForeignKey("OrganizationAddressId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.ApplicationUser", "Performer")
                        .WithMany()
                        .HasForeignKey("PerformerId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("OrganizationAddress");

                    b.Navigation("Performer");
                });

            modelBuilder.Entity("Yavsc.Models.Workflow.RdvQuery", b =>
                {
                    b.HasOne("Yavsc.Models.Workflow.Activity", "Context")
                        .WithMany()
                        .HasForeignKey("ActivityCode")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.ApplicationUser", "Client")
                        .WithMany()
                        .HasForeignKey("ClientId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.Relationship.Location", "Location")
                        .WithMany()
                        .HasForeignKey("LocationId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.Payment.PayPalPayment", "Regularisation")
                        .WithMany()
                        .HasForeignKey("PaymentId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "PerformerProfile")
                        .WithMany()
                        .HasForeignKey("PerformerId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Client");

                    b.Navigation("Context");

                    b.Navigation("Location");

                    b.Navigation("PerformerProfile");

                    b.Navigation("Regularisation");
                });

            modelBuilder.Entity("Yavsc.Models.Workflow.UserActivity", b =>
                {
                    b.HasOne("Yavsc.Models.Workflow.Activity", "Does")
                        .WithMany()
                        .HasForeignKey("DoesCode")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "User")
                        .WithMany("Activity")
                        .HasForeignKey("UserId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Does");

                    b.Navigation("User");
                });

            modelBuilder.Entity("Yavsc.Server.Models.Blog.BlogTrad", b =>
                {
                    b.HasOne("Yavsc.Models.ApplicationUser", "Traducer")
                        .WithMany()
                        .HasForeignKey("TraducerId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Traducer");
                });

            modelBuilder.Entity("Yavsc.Server.Models.IT.Project", b =>
                {
                    b.HasOne("Yavsc.Models.Workflow.Activity", "Context")
                        .WithMany()
                        .HasForeignKey("ActivityCode")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.ApplicationUser", "Client")
                        .WithMany()
                        .HasForeignKey("ClientId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Server.Models.IT.SourceCode.GitRepositoryReference", "Repository")
                        .WithMany()
                        .HasForeignKey("GitId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.Payment.PayPalPayment", "Regularisation")
                        .WithMany()
                        .HasForeignKey("PaymentId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "PerformerProfile")
                        .WithMany()
                        .HasForeignKey("PerformerId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Client");

                    b.Navigation("Context");

                    b.Navigation("PerformerProfile");

                    b.Navigation("Regularisation");

                    b.Navigation("Repository");
                });

            modelBuilder.Entity("Yavsc.Server.Models.IT.ProjectBuildConfiguration", b =>
                {
                    b.HasOne("Yavsc.Server.Models.IT.Project", "TargetProject")
                        .WithMany("Configurations")
                        .HasForeignKey("ProjectId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("TargetProject");
                });

            modelBuilder.Entity("Yavsc.Server.Models.IT.SourceCode.GitRepositoryReference", b =>
                {
                    b.HasOne("Yavsc.Models.ApplicationUser", "Owner")
                        .WithMany()
                        .HasForeignKey("OwnerId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Owner");
                });

            modelBuilder.Entity("Yavsc.Models.ApplicationUser", b =>
                {
                    b.Navigation("AccountBalance")
                        .IsRequired();

                    b.Navigation("BlackList");

                    b.Navigation("Book");

                    b.Navigation("Circles");

                    b.Navigation("Connections");

                    b.Navigation("DeviceDeclaration");

                    b.Navigation("Membership");

                    b.Navigation("Posts");

                    b.Navigation("RoomAccess");

                    b.Navigation("Rooms");
                });

            modelBuilder.Entity("Yavsc.Models.Billing.Estimate", b =>
                {
                    b.Navigation("Bill");
                });

            modelBuilder.Entity("Yavsc.Models.Billing.EstimateTemplate", b =>
                {
                    b.Navigation("Bill");
                });

            modelBuilder.Entity("Yavsc.Models.Blog.BlogPost", b =>
                {
                    b.Navigation("ACL");

                    b.Navigation("Comments");

                    b.Navigation("Tags");
                });

            modelBuilder.Entity("Yavsc.Models.Blog.Comment", b =>
                {
                    b.Navigation("Children");
                });

            modelBuilder.Entity("Yavsc.Models.Calendar.Schedule", b =>
                {
                    b.Navigation("Events");
                });

            modelBuilder.Entity("Yavsc.Models.Chat.ChatRoom", b =>
                {
                    b.Navigation("Moderation");
                });

            modelBuilder.Entity("Yavsc.Models.Haircut.BrusherProfile", b =>
                {
                    b.Navigation("Links");
                });

            modelBuilder.Entity("Yavsc.Models.Haircut.HairMultiCutQuery", b =>
                {
                    b.Navigation("Prestations");
                });

            modelBuilder.Entity("Yavsc.Models.Haircut.HairPrestation", b =>
                {
                    b.Navigation("Taints");
                });

            modelBuilder.Entity("Yavsc.Models.Musical.Profiles.DjSettings", b =>
                {
                    b.Navigation("SoundColor");
                });

            modelBuilder.Entity("Yavsc.Models.Musical.Profiles.GeneralSettings", b =>
                {
                    b.Navigation("SoundColor");
                });

            modelBuilder.Entity("Yavsc.Models.Payment.PayPalPayment", b =>
                {
                    b.Navigation("Links");
                });

            modelBuilder.Entity("Yavsc.Models.Relationship.Circle", b =>
                {
                    b.Navigation("Members");
                });

            modelBuilder.Entity("Yavsc.Models.Workflow.Activity", b =>
                {
                    b.Navigation("Children");

                    b.Navigation("Forms");

                    b.Navigation("Services");
                });

            modelBuilder.Entity("Yavsc.Models.Workflow.PerformerProfile", b =>
                {
                    b.Navigation("Activity");
                });

            modelBuilder.Entity("Yavsc.Models.Workflow.Profiles.FormationSettings", b =>
                {
                    b.Navigation("CoWorking");
                });

            modelBuilder.Entity("Yavsc.Server.Models.IT.Project", b =>
                {
                    b.Navigation("Configurations");
                });
#pragma warning restore 612, 618
        }
    }
}
