// <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("20231006042130_TblTemplatesUpdate")]
    partial class TblTemplatesUpdate
    {
        /// <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>("OSType")
                        .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("b16afd06-605b-499f-9e35-a19586de96b0"),
                            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 = "ГВЦ",
                            Value = "00-ГВЦ"
                        },
                        new
                        {
                            Id = new Guid("42a2ec03-da3a-45fc-971e-399910fdc5ae"),
                            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 = "ОКТ",
                            Value = "01-ОКТ"
                        },
                        new
                        {
                            Id = new Guid("17efaf65-ae8c-45f1-b187-e6cb1bd6385b"),
                            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 = "КЛГ",
                            Value = "10-КЛГ"
                        },
                        new
                        {
                            Id = new Guid("51270997-20f6-4a61-85ac-64f6b6dd5dc4"),
                            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 = "МСК",
                            Value = "17-МСК"
                        },
                        new
                        {
                            Id = new Guid("b94f8c38-e78a-494e-81ba-39e4e902ffcc"),
                            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 = "ГОР",
                            Value = "24-ГОР"
                        },
                        new
                        {
                            Id = new Guid("52ba20ea-4e7a-4500-939b-e2cff563809a"),
                            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 = "СЕВ",
                            Value = "28-СЕВ"
                        },
                        new
                        {
                            Id = new Guid("cb9da805-29e9-4e08-b1ed-d4b374920f77"),
                            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 = "СКВ",
                            Value = "51-СКВ"
                        },
                        new
                        {
                            Id = new Guid("1943a65c-2060-4b5f-af1f-acec74835481"),
                            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 = "ЮВСТ",
                            Value = "58-ЮВСТ"
                        },
                        new
                        {
                            Id = new Guid("4d9ef2ee-d4fa-4d28-a93b-6f1fd0a639f9"),
                            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 = "ПРИВ",
                            Value = "61-ПРИВ"
                        },
                        new
                        {
                            Id = new Guid("f1a54c25-a93a-4fe3-8268-afbcc435b6e9"),
                            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 = "КБШ",
                            Value = "63-КБШ"
                        },
                        new
                        {
                            Id = new Guid("cc839c48-62bb-46a8-924c-85b5e7a3e245"),
                            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 = "СВРД",
                            Value = "76-СВРД"
                        },
                        new
                        {
                            Id = new Guid("c98fb684-ff03-441e-a9c3-ac5071d69857"),
                            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 = "ЮУР",
                            Value = "80-ЮУР"
                        },
                        new
                        {
                            Id = new Guid("f2684a90-6029-4476-bd3d-e713a8a228d6"),
                            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 = "ЗСИБ",
                            Value = "83-ЗСИБ"
                        },
                        new
                        {
                            Id = new Guid("b3c73162-21ea-42f0-b0e1-3c5076176f8a"),
                            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 = "КРАСН",
                            Value = "88-КРАСН"
                        },
                        new
                        {
                            Id = new Guid("a8cff6fd-28b7-49f2-a412-9208c10f6516"),
                            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 = "ВСИБ",
                            Value = "92-ВСИБ"
                        },
                        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 = "ЗАБ",
                            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 = "ДВС",
                            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.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("Applications");
                });

            modelBuilder.Entity("PARR.DAL.Models.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("ApplicationsInHost");
                });

            modelBuilder.Entity("PARR.DAL.Models.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.HasKey("Id");

                    b.ToTable("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.ApplicationsInWork", 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<string>("FullDescription")
                        .IsRequired()
                        .HasColumnType("text");

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

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

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

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

                    b.HasKey("Id");

                    b.HasIndex("ApplicationId");

                    b.HasIndex("WorkId", "ApplicationId")
                        .IsUnique();

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

            modelBuilder.Entity("PARR.DAL.Models.EkStatus", b =>
                {
                    b.Property<int>("Code")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer");

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

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

                    b.HasKey("Code");

                    b.ToTable("EkStatuses");

                    b.HasData(
                        new
                        {
                            Code = 1,
                            Name = "1-Новый"
                        },
                        new
                        {
                            Code = 2,
                            Name = "2-Подготовка к эксплуатации"
                        },
                        new
                        {
                            Code = 3,
                            Name = "3-В эксплуатации"
                        },
                        new
                        {
                            Code = 4,
                            Name = "4-В ремонте"
                        },
                        new
                        {
                            Code = 5,
                            Name = "5-В резерве"
                        },
                        new
                        {
                            Code = 6,
                            Name = "6-Выведен из эксплуатации"
                        },
                        new
                        {
                            Code = 7,
                            Name = "7-Тестовый"
                        },
                        new
                        {
                            Code = 9,
                            Name = "9-В разработке"
                        });
                });

            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>("Ek")
                        .IsRequired()
                        .HasColumnType("text");

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

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

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

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

                    b.HasKey("Id");

                    b.HasIndex("EkStatusCode");

                    b.HasIndex("ResponseAreaCode");

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

            modelBuilder.Entity("PARR.DAL.Models.Process", 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<int>("EsppId")
                        .HasColumnType("integer");

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

                    b.HasKey("Id");

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

            modelBuilder.Entity("PARR.DAL.Models.ResponseArea", b =>
                {
                    b.Property<int>("Code")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer");

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

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

                    b.HasKey("Code");

                    b.ToTable("ResponseAreas");

                    b.HasData(
                        new
                        {
                            Code = 96,
                            Name = "96-ДВС"
                        },
                        new
                        {
                            Code = 94,
                            Name = "94-ЗАБ"
                        },
                        new
                        {
                            Code = 92,
                            Name = "92-ВСИБ"
                        },
                        new
                        {
                            Code = 88,
                            Name = "88-КРАСН"
                        },
                        new
                        {
                            Code = 83,
                            Name = "83-ЗСИБ"
                        },
                        new
                        {
                            Code = 80,
                            Name = "80-ЮУР"
                        },
                        new
                        {
                            Code = 76,
                            Name = "76-СВРД"
                        },
                        new
                        {
                            Code = 63,
                            Name = "63-КБШ"
                        },
                        new
                        {
                            Code = 61,
                            Name = "61-ПРИВ"
                        },
                        new
                        {
                            Code = 58,
                            Name = "58-ЮВСТ"
                        },
                        new
                        {
                            Code = 51,
                            Name = "51-СКВ"
                        },
                        new
                        {
                            Code = 28,
                            Name = "28-СЕВ"
                        },
                        new
                        {
                            Code = 24,
                            Name = "24-ГОР"
                        },
                        new
                        {
                            Code = 17,
                            Name = "17-МСК"
                        },
                        new
                        {
                            Code = 10,
                            Name = "10-КЛГ"
                        },
                        new
                        {
                            Code = 1,
                            Name = "01-ОКТ"
                        },
                        new
                        {
                            Code = 99,
                            Name = "00-ГВЦ"
                        });
                });

            modelBuilder.Entity("PARR.DAL.Models.Robot", b =>
                {
                    b.Property<int>("Code")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer");

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

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

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

                    b.HasKey("Code");

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

                    b.ToTable("Robots");

                    b.HasData(
                        new
                        {
                            Code = 1,
                            Description = "Робот по созданию/изменению шаблона наряда ЕСПП",
                            Name = "TemplateOrder"
                        },
                        new
                        {
                            Code = 2,
                            Description = "Робот по созданию/изменению расписания шаблона наряда в ЕСПП",
                            Name = "ScheduleOrder"
                        });
                });

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

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

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

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

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

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

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

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

                    b.HasKey("Id");

                    b.HasIndex("RobotCode");

                    b.HasIndex("RobotStatusCode");

                    b.HasIndex("TaskStatusCode");

                    b.HasIndex("TemplateId", "RobotCode")
                        .IsUnique();

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

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

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

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

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

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

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

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

                    b.HasKey("Id");

                    b.HasIndex("HistoryLevel");

                    b.HasIndex("RobotConfigurationId");

                    b.HasIndex("TaskStatusCode");

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

            modelBuilder.Entity("PARR.DAL.Models.RobotHistoryLevel", b =>
                {
                    b.Property<int>("Level")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer");

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

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

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

                    b.HasKey("Level");

                    b.ToTable("RobotHistoryLevels");

                    b.HasData(
                        new
                        {
                            Level = 1,
                            Description = "Робот начал работу ",
                            Name = "Start"
                        },
                        new
                        {
                            Level = 5,
                            Description = "Информация",
                            Name = "Inforamtion"
                        },
                        new
                        {
                            Level = 10,
                            Description = "Ошибка",
                            Name = "Error"
                        },
                        new
                        {
                            Level = 15,
                            Description = "Успешно завершил работу",
                            Name = "Complete"
                        });
                });

            modelBuilder.Entity("PARR.DAL.Models.RobotStatus", b =>
                {
                    b.Property<int>("Code")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer");

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

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

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

                    b.HasKey("Code");

                    b.ToTable("RobotStatuses");

                    b.HasData(
                        new
                        {
                            Code = 11,
                            Description = "Ожидание, ждет пока робот возьмет в работу.",
                            Name = "Wait"
                        },
                        new
                        {
                            Code = 22,
                            Description = "Робот взял в работу.",
                            Name = "InProgress"
                        },
                        new
                        {
                            Code = 33,
                            Description = "Ошибка отработки роботом. Требует ручного вмешательства.",
                            Name = "Error"
                        },
                        new
                        {
                            Code = 44,
                            Description = "Робот успешно отработал.",
                            Name = "Complete"
                        });
                });

            modelBuilder.Entity("PARR.DAL.Models.Setting", b =>
                {
                    b.Property<string>("Name")
                        .HasColumnType("text");

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

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

                    b.HasKey("Name");

                    b.ToTable("Settings");

                    b.HasData(
                        new
                        {
                            Name = "Initiator",
                            Description = "Инициатор регламентной работы, указывается при создании шаблона в ЕСПП.",
                            Value = "КУЗНЕЦОВ МИХАИЛ ВАЛЕРЬЕВИЧ (IVC_KUZNETSOVMV@DVGD.OAO.RZD)"
                        },
                        new
                        {
                            Name = "ClosingCode",
                            Description = "Код закрытия регламентной работы, указывается при создании шаблона в ЕСПП.",
                            Value = "выполнен"
                        },
                        new
                        {
                            Name = "Category",
                            Description = "Категория создаваемого объекта в ЕСПП",
                            Value = "регламентная работа"
                        },
                        new
                        {
                            Name = "TemplatePrefixName",
                            Description = "Префикс имени шаблона в ЕСПП",
                            Value = "ПАРР-ДВС-ПТК"
                        },
                        new
                        {
                            Name = "RobotAttemptsNumber",
                            Description = "Количество попыток выполнения задания роботом",
                            Value = "3"
                        },
                        new
                        {
                            Name = "RobotWaitTime",
                            Description = "Время ожидания выполнения роботом задания",
                            Value = "00:15:00"
                        });
                });

            modelBuilder.Entity("PARR.DAL.Models.Subprocess", 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<int>("EsppId")
                        .HasColumnType("integer");

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

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

                    b.HasKey("Id");

                    b.HasIndex("ProcessId");

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

            modelBuilder.Entity("PARR.DAL.Models.TaskStatus", b =>
                {
                    b.Property<int>("Code")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer");

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

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

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

                    b.HasKey("Code");

                    b.ToTable("TaskStatuses");

                    b.HasData(
                        new
                        {
                            Code = 10,
                            Description = "Задание на создание объекта в ЕСПП",
                            Name = "Creating"
                        },
                        new
                        {
                            Code = 20,
                            Description = "Задание на обновление объекта в ЕСПП",
                            Name = "Updating"
                        },
                        new
                        {
                            Code = 30,
                            Description = "Объект в ЕСПП соответствует объекту в ПАРР",
                            Name = "Ok"
                        });
                });

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

                    b.Property<Guid>("ApplicationInWorkId")
                        .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.Property<bool>("IsActiveSchedule")
                        .HasColumnType("boolean");

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

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

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

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

                    b.HasKey("Id");

                    b.HasIndex("ApplicationInWorkId");

                    b.HasIndex("HostId");

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

                    b.HasIndex("RobotStatusCode");

                    b.HasIndex("TaskStatusCode");

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

            modelBuilder.Entity("PARR.DAL.Models.Tnk", 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<int>("EsppId")
                        .HasColumnType("integer");

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

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

                    b.HasKey("Id");

                    b.HasIndex("SubprocessId");

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

            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.Property<Guid?>("V1_ApplicationId")
                        .HasColumnType("uuid");

                    b.HasKey("Id");

                    b.HasIndex("ApplicationId");

                    b.HasIndex("HostId");

                    b.HasIndex("V1_ApplicationId");

                    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");
                });

            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.Work", 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<int>("EsppId")
                        .HasColumnType("integer");

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

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

                    b.HasKey("Id");

                    b.HasIndex("TnkId");

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

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

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

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

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

                    b.Navigation("Application");

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

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

                    b.HasOne("PARR.DAL.Models.Work", "Work")
                        .WithMany("ApplicationsInWorks")
                        .HasForeignKey("WorkId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Application");

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

            modelBuilder.Entity("PARR.DAL.Models.Host", b =>
                {
                    b.HasOne("PARR.DAL.Models.EkStatus", "EkStatus")
                        .WithMany("Hosts")
                        .HasForeignKey("EkStatusCode")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("PARR.DAL.Models.ResponseArea", "ResponseArea")
                        .WithMany("Hosts")
                        .HasForeignKey("ResponseAreaCode")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("EkStatus");

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

            modelBuilder.Entity("PARR.DAL.Models.RobotConfiguration", b =>
                {
                    b.HasOne("PARR.DAL.Models.Robot", "Robot")
                        .WithMany("RobotConfigurations")
                        .HasForeignKey("RobotCode")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("PARR.DAL.Models.RobotStatus", "RobotStatus")
                        .WithMany()
                        .HasForeignKey("RobotStatusCode")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("PARR.DAL.Models.TaskStatus", "StatusTask")
                        .WithMany()
                        .HasForeignKey("TaskStatusCode")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("PARR.DAL.Models.Template", "Template")
                        .WithMany("RobotConfigurations")
                        .HasForeignKey("TemplateId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Robot");

                    b.Navigation("RobotStatus");

                    b.Navigation("StatusTask");

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

            modelBuilder.Entity("PARR.DAL.Models.RobotHistory", b =>
                {
                    b.HasOne("PARR.DAL.Models.RobotHistoryLevel", "RobotHistoryLevel")
                        .WithMany("RobotHistories")
                        .HasForeignKey("HistoryLevel")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("PARR.DAL.Models.RobotConfiguration", "RobotConfiguration")
                        .WithMany("RobotHistories")
                        .HasForeignKey("RobotConfigurationId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("PARR.DAL.Models.TaskStatus", "StatusTask")
                        .WithMany()
                        .HasForeignKey("TaskStatusCode")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("RobotConfiguration");

                    b.Navigation("RobotHistoryLevel");

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

            modelBuilder.Entity("PARR.DAL.Models.Subprocess", b =>
                {
                    b.HasOne("PARR.DAL.Models.Process", "Process")
                        .WithMany("Subprocesses")
                        .HasForeignKey("ProcessId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

            modelBuilder.Entity("PARR.DAL.Models.Template", b =>
                {
                    b.HasOne("PARR.DAL.Models.ApplicationsInWork", "ApplicationsInWork")
                        .WithMany("Templates")
                        .HasForeignKey("ApplicationInWorkId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

                    b.HasOne("PARR.DAL.Models.RobotStatus", null)
                        .WithMany("Templates")
                        .HasForeignKey("RobotStatusCode");

                    b.HasOne("PARR.DAL.Models.TaskStatus", null)
                        .WithMany("Templates")
                        .HasForeignKey("TaskStatusCode");

                    b.Navigation("ApplicationsInWork");

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

            modelBuilder.Entity("PARR.DAL.Models.Tnk", b =>
                {
                    b.HasOne("PARR.DAL.Models.Subprocess", "Subprocess")
                        .WithMany("Tnks")
                        .HasForeignKey("SubprocessId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

            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.Application", "Application")
                        .WithMany()
                        .HasForeignKey("ApplicationId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

                    b.HasOne("PARR.DAL.Models.V1.V1_Application", null)
                        .WithMany("V1_ApplicationsInHosts")
                        .HasForeignKey("V1_ApplicationId");

                    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("V1_ApplicationTypes")
                        .HasForeignKey("V1_ApplicationTypeId");
                });

            modelBuilder.Entity("PARR.DAL.Models.V1.V1_Job", b =>
                {
                    b.HasOne("PARR.DAL.Models.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.Work", b =>
                {
                    b.HasOne("PARR.DAL.Models.Tnk", "Tnk")
                        .WithMany("Works")
                        .HasForeignKey("TnkId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

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

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

            modelBuilder.Entity("PARR.DAL.Models.ApplicationType", b =>
                {
                    b.Navigation("Applications");
                });

            modelBuilder.Entity("PARR.DAL.Models.ApplicationsInWork", b =>
                {
                    b.Navigation("Templates");
                });

            modelBuilder.Entity("PARR.DAL.Models.EkStatus", b =>
                {
                    b.Navigation("Hosts");
                });

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

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

            modelBuilder.Entity("PARR.DAL.Models.Process", b =>
                {
                    b.Navigation("Subprocesses");
                });

            modelBuilder.Entity("PARR.DAL.Models.ResponseArea", b =>
                {
                    b.Navigation("Hosts");
                });

            modelBuilder.Entity("PARR.DAL.Models.Robot", b =>
                {
                    b.Navigation("RobotConfigurations");
                });

            modelBuilder.Entity("PARR.DAL.Models.RobotConfiguration", b =>
                {
                    b.Navigation("RobotHistories");
                });

            modelBuilder.Entity("PARR.DAL.Models.RobotHistoryLevel", b =>
                {
                    b.Navigation("RobotHistories");
                });

            modelBuilder.Entity("PARR.DAL.Models.RobotStatus", b =>
                {
                    b.Navigation("Templates");
                });

            modelBuilder.Entity("PARR.DAL.Models.Subprocess", b =>
                {
                    b.Navigation("Tnks");
                });

            modelBuilder.Entity("PARR.DAL.Models.TaskStatus", b =>
                {
                    b.Navigation("Templates");
                });

            modelBuilder.Entity("PARR.DAL.Models.Template", b =>
                {
                    b.Navigation("RobotConfigurations");
                });

            modelBuilder.Entity("PARR.DAL.Models.Tnk", b =>
                {
                    b.Navigation("Works");
                });

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

            modelBuilder.Entity("PARR.DAL.Models.V1.V1_ApplicationType", b =>
                {
                    b.Navigation("V1_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");
                });

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