// <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 PARR.DAL.Context;

#nullable disable

namespace PARR.DAL.Migrations
{
    [DbContext(typeof(DataContext))]
    [Migration("20230814023034_TblHosts")]
    partial class TblHosts
    {
        /// <inheritdoc />
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
        {
#pragma warning disable 612, 618
            modelBuilder
                .HasAnnotation("ProductVersion", "7.0.5")
                .HasAnnotation("Relational:MaxIdentifierLength", 63);

            NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);

            modelBuilder.Entity("PARR.DAL.Models.AIHIT.RawDataEK", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uuid");

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                    b.Property<char?>("IsUnreliableData")
                        .HasColumnType("character(1)");

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                    b.HasKey("Id");

                    b.ToTable("RawDataEKs", "AIHIT");
                });

            modelBuilder.Entity("PARR.DAL.Models.AIHIT.Setting", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uuid");

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

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

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

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

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

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

                    b.HasKey("Id");

                    b.ToTable("Settings", "AIHIT");

                    b.HasData(
                        new
                        {
                            Id = new Guid("1ad12210-be62-459a-aa6c-fda7648503f7"),
                            DateCreated = new DateTimeOffset(new DateTime(2023, 5, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)),
                            Description = "Строка подключения к базе данных АИХ ИТ",
                            Name = "ConnectionString",
                            Value = "Data Source=10.248.19.97; Initial Catalog=mao2;User ID=awhit-ipp-parr;pwd=ET3h$9y1LH#D;TrustServerCertificate=true;"
                        },
                        new
                        {
                            Id = new Guid("50f66704-4d26-4587-bb1e-dca70c8f4b89"),
                            DateCreated = new DateTimeOffset(new DateTime(2023, 5, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)),
                            Description = "Зона ответственности",
                            Group = "ResponsibleArea",
                            Name = "ZAB",
                            Value = "94-ЗАБ"
                        },
                        new
                        {
                            Id = new Guid("1fd43634-4a06-4237-9727-edfa6f3eebe8"),
                            DateCreated = new DateTimeOffset(new DateTime(2023, 5, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)),
                            Description = "Зона ответственности",
                            Group = "ResponsibleArea",
                            Name = "DVS",
                            Value = "96-ДВС"
                        },
                        new
                        {
                            Id = new Guid("77c73c0a-8e4d-4676-b6e2-6a112f20e346"),
                            DateCreated = new DateTimeOffset(new DateTime(2023, 5, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)),
                            Description = "Статус актуальных ЭК",
                            Group = "Status",
                            Name = "Exploitation",
                            Value = "3-В эксплуатации"
                        });
                });

            modelBuilder.Entity("PARR.DAL.Models.Host", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uuid");

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

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

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

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

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

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

                    b.HasKey("Id");

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

            modelBuilder.Entity("PARR.DAL.Models.V1.V1_Application", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uuid");

                    b.Property<Guid>("ApplicationTypeId")
                        .HasColumnType("uuid");

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

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

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

                    b.HasKey("Id");

                    b.HasIndex("ApplicationTypeId");

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

            modelBuilder.Entity("PARR.DAL.Models.V1.V1_ApplicationInHost", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uuid");

                    b.Property<Guid>("ApplicationId")
                        .HasColumnType("uuid");

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

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

                    b.Property<Guid>("HostId")
                        .HasColumnType("uuid");

                    b.HasKey("Id");

                    b.HasIndex("ApplicationId");

                    b.HasIndex("HostId");

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

            modelBuilder.Entity("PARR.DAL.Models.V1.V1_ApplicationType", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uuid");

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

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

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

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

                    b.Property<Guid?>("V1_ApplicationTypeId")
                        .HasColumnType("uuid");

                    b.HasKey("Id");

                    b.HasIndex("V1_ApplicationTypeId");

                    b.ToTable("V1_ApplicationTypes");

                    b.HasData(
                        new
                        {
                            Id = new Guid("32c28386-6f13-4f7b-8508-be165b7fabdb"),
                            DateCreated = new DateTimeOffset(new DateTime(2023, 5, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)),
                            Description = "Поле СП xml АИХ ИТ",
                            Name = "APP"
                        },
                        new
                        {
                            Id = new Guid("7848a96c-cdee-48c1-a786-de9cb889723a"),
                            DateCreated = new DateTimeOffset(new DateTime(2023, 5, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)),
                            Description = "Поле ОС xml АИХ ИТ",
                            Name = "OS"
                        },
                        new
                        {
                            Id = new Guid("aae2636f-b93a-42dc-873e-0764a90a0a40"),
                            DateCreated = new DateTimeOffset(new DateTime(2023, 5, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)),
                            Description = "Поле СУБД xml АИХ ИТ",
                            Name = "DB"
                        });
                });

            modelBuilder.Entity("PARR.DAL.Models.V1.V1_Host", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uuid");

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

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

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

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

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

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

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

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

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

                    b.HasKey("Id");

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

            modelBuilder.Entity("PARR.DAL.Models.V1.V1_Job", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uuid");

                    b.Property<Guid>("ApplicationId")
                        .HasColumnType("uuid");

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

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

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

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

                    b.Property<Guid?>("JobCategoryId")
                        .HasColumnType("uuid");

                    b.Property<Guid>("JobModeId")
                        .HasColumnType("uuid");

                    b.Property<Guid?>("JobTypeId")
                        .HasColumnType("uuid");

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

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

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

                    b.HasKey("Id");

                    b.HasIndex("ApplicationId");

                    b.HasIndex("JobCategoryId");

                    b.HasIndex("JobModeId");

                    b.HasIndex("JobTypeId");

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

            modelBuilder.Entity("PARR.DAL.Models.V1.V1_JobCategory", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uuid");

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

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

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

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

                    b.HasKey("Id");

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

            modelBuilder.Entity("PARR.DAL.Models.V1.V1_JobJournal", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uuid");

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

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

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

                    b.Property<Guid>("HostId")
                        .HasColumnType("uuid");

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

                    b.Property<Guid>("JobId")
                        .HasColumnType("uuid");

                    b.Property<Guid>("JobStatusId")
                        .HasColumnType("uuid");

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

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

                    b.HasKey("Id");

                    b.HasIndex("HostId");

                    b.HasIndex("JobId");

                    b.HasIndex("JobStatusId");

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

            modelBuilder.Entity("PARR.DAL.Models.V1.V1_JobMode", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uuid");

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

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

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

                    b.HasKey("Id");

                    b.ToTable("V1_JobModes");

                    b.HasData(
                        new
                        {
                            Id = new Guid("fba4202c-5bad-49c4-b076-d1ca6e1fb158"),
                            DateCreated = new DateTimeOffset(new DateTime(2023, 5, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)),
                            Name = "auto"
                        },
                        new
                        {
                            Id = new Guid("7516b952-510d-4aaa-971c-a14b184fc1d5"),
                            DateCreated = new DateTimeOffset(new DateTime(2023, 5, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)),
                            Name = "manual"
                        });
                });

            modelBuilder.Entity("PARR.DAL.Models.V1.V1_JobStatus", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uuid");

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

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

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

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

                    b.HasKey("Id");

                    b.ToTable("V1_JobStatuses");

                    b.HasData(
                        new
                        {
                            Id = new Guid("edef6dc3-adad-4c77-8ad1-63bb9052355a"),
                            DateCreated = new DateTimeOffset(new DateTime(2023, 5, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)),
                            Description = "Задание запущено",
                            Name = "started"
                        },
                        new
                        {
                            Id = new Guid("7b945eb6-d885-4570-aff5-8866f1f75ff2"),
                            DateCreated = new DateTimeOffset(new DateTime(2023, 5, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)),
                            Description = "Задание выполнено",
                            Name = "finished"
                        });
                });

            modelBuilder.Entity("PARR.DAL.Models.V1.V1_JobType", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uuid");

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

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

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

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

                    b.HasKey("Id");

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

            modelBuilder.Entity("PARR.DAL.Models.V1.V1_Application", b =>
                {
                    b.HasOne("PARR.DAL.Models.V1.V1_ApplicationType", "ApplicationType")
                        .WithMany()
                        .HasForeignKey("ApplicationTypeId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

            modelBuilder.Entity("PARR.DAL.Models.V1.V1_ApplicationInHost", b =>
                {
                    b.HasOne("PARR.DAL.Models.V1.V1_Application", "Application")
                        .WithMany("ApplicationsInHosts")
                        .HasForeignKey("ApplicationId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("PARR.DAL.Models.V1.V1_Host", "Host")
                        .WithMany("ApplicationsInHosts")
                        .HasForeignKey("HostId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Application");

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

            modelBuilder.Entity("PARR.DAL.Models.V1.V1_ApplicationType", b =>
                {
                    b.HasOne("PARR.DAL.Models.V1.V1_ApplicationType", null)
                        .WithMany("ApplicationTypes")
                        .HasForeignKey("V1_ApplicationTypeId");
                });

            modelBuilder.Entity("PARR.DAL.Models.V1.V1_Job", b =>
                {
                    b.HasOne("PARR.DAL.Models.V1.V1_Application", "Application")
                        .WithMany()
                        .HasForeignKey("ApplicationId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("PARR.DAL.Models.V1.V1_JobCategory", "JobCategorye")
                        .WithMany("Jobs")
                        .HasForeignKey("JobCategoryId");

                    b.HasOne("PARR.DAL.Models.V1.V1_JobMode", "JobMode")
                        .WithMany("Jobs")
                        .HasForeignKey("JobModeId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("PARR.DAL.Models.V1.V1_JobType", "JobType")
                        .WithMany("Jobs")
                        .HasForeignKey("JobTypeId");

                    b.Navigation("Application");

                    b.Navigation("JobCategorye");

                    b.Navigation("JobMode");

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

            modelBuilder.Entity("PARR.DAL.Models.V1.V1_JobJournal", b =>
                {
                    b.HasOne("PARR.DAL.Models.V1.V1_Host", "Host")
                        .WithMany("JobJournals")
                        .HasForeignKey("HostId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("PARR.DAL.Models.V1.V1_Job", "Job")
                        .WithMany("Journals")
                        .HasForeignKey("JobId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("PARR.DAL.Models.V1.V1_JobStatus", "Status")
                        .WithMany("Journals")
                        .HasForeignKey("JobStatusId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Host");

                    b.Navigation("Job");

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

            modelBuilder.Entity("PARR.DAL.Models.V1.V1_Application", b =>
                {
                    b.Navigation("ApplicationsInHosts");
                });

            modelBuilder.Entity("PARR.DAL.Models.V1.V1_ApplicationType", b =>
                {
                    b.Navigation("ApplicationTypes");
                });

            modelBuilder.Entity("PARR.DAL.Models.V1.V1_Host", b =>
                {
                    b.Navigation("ApplicationsInHosts");

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

            modelBuilder.Entity("PARR.DAL.Models.V1.V1_Job", b =>
                {
                    b.Navigation("Journals");
                });

            modelBuilder.Entity("PARR.DAL.Models.V1.V1_JobCategory", b =>
                {
                    b.Navigation("Jobs");
                });

            modelBuilder.Entity("PARR.DAL.Models.V1.V1_JobMode", b =>
                {
                    b.Navigation("Jobs");
                });

            modelBuilder.Entity("PARR.DAL.Models.V1.V1_JobStatus", b =>
                {
                    b.Navigation("Journals");
                });

            modelBuilder.Entity("PARR.DAL.Models.V1.V1_JobType", b =>
                {
                    b.Navigation("Jobs");
                });
#pragma warning restore 612, 618
        }
    }
}
