// <auto-generated />
using System;
using System.Text.Json;
using AsbCloudDb.Model;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;

#nullable disable

namespace AsbCloudDb.Migrations
{
    [DbContext(typeof(AsbCloudDbContext))]
    [Migration("20230711130624_Add_Notification")]
    partial class Add_Notification
    {
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
        {
#pragma warning disable 612, 618
            modelBuilder
                .UseCollation("Russian_Russia.1251")
                .HasAnnotation("ProductVersion", "6.0.19")
                .HasAnnotation("Relational:MaxIdentifierLength", 63);

            NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, "adminpack");
            NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);

            modelBuilder.Entity("AsbCloudDb.Model.Cluster", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

                    b.Property<string>("Caption")
                        .IsRequired()
                        .HasMaxLength(255)
                        .HasColumnType("character varying(255)")
                        .HasColumnName("caption")
                        .HasComment("Название");

                    b.Property<int>("IdDeposit")
                        .HasColumnType("integer")
                        .HasColumnName("id_deposit");

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

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

                    b.Property<string>("Timezone")
                        .IsRequired()
                        .HasColumnType("jsonb")
                        .HasColumnName("timezone")
                        .HasComment("Смещение часового пояса от UTC");

                    b.HasKey("Id");

                    b.HasIndex("IdDeposit");

                    b.ToTable("t_cluster");

                    b.HasComment("Кусты");
                });

            modelBuilder.Entity("AsbCloudDb.Model.Company", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

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

                    b.Property<int>("IdCompanyType")
                        .HasMaxLength(255)
                        .HasColumnType("integer")
                        .HasColumnName("id_company_type")
                        .HasComment("вид деятельности");

                    b.HasKey("Id");

                    b.HasIndex("IdCompanyType");

                    b.ToTable("t_company");

                    b.HasData(
                        new
                        {
                            Id = 1,
                            Caption = "ООО \"АСБ\"",
                            IdCompanyType = 3
                        });
                });

            modelBuilder.Entity("AsbCloudDb.Model.CompanyType", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

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

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

                    b.HasKey("Id");

                    b.ToTable("t_company_type");

                    b.HasData(
                        new
                        {
                            Id = 1,
                            Caption = "Недрапользователь",
                            IsContact = false
                        },
                        new
                        {
                            Id = 2,
                            Caption = "Буровой подрядчик",
                            IsContact = false
                        },
                        new
                        {
                            Id = 3,
                            Caption = "Сервис автоматизации бурения",
                            IsContact = false
                        });
                });

            modelBuilder.Entity("AsbCloudDb.Model.DailyReport.DailyReport", b =>
                {
                    b.Property<int>("IdWell")
                        .HasColumnType("integer")
                        .HasColumnName("id_well")
                        .HasComment("ID скважины");

                    b.Property<DateOnly>("StartDate")
                        .HasColumnType("date")
                        .HasColumnName("start_date")
                        .HasComment("Дата отчёта");

                    b.Property<string>("Info")
                        .IsRequired()
                        .HasColumnType("jsonb")
                        .HasColumnName("info")
                        .HasComment("Список параметров для отчёта");

                    b.HasKey("IdWell", "StartDate")
                        .HasName("t_id_well_date_start_pk");

                    b.ToTable("t_daily_report");

                    b.HasComment("Ежедневные отчёты");
                });

            modelBuilder.Entity("AsbCloudDb.Model.Deposit", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

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

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

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

                    b.Property<string>("Timezone")
                        .IsRequired()
                        .HasColumnType("jsonb")
                        .HasColumnName("timezone")
                        .HasComment("Смещение часового пояса от UTC");

                    b.HasKey("Id");

                    b.ToTable("t_deposit");

                    b.HasComment("Месторождение");
                });

            modelBuilder.Entity("AsbCloudDb.Model.DetectedOperation", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

                    b.Property<DateTimeOffset>("DateEnd")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("date_end")
                        .HasComment("Дата начала операции");

                    b.Property<DateTimeOffset>("DateStart")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("date_start")
                        .HasComment("Дата начала операции");

                    b.Property<double>("DepthEnd")
                        .HasColumnType("double precision")
                        .HasColumnName("depth_end")
                        .HasComment("Глубина после завершения операции, м");

                    b.Property<double>("DepthStart")
                        .HasColumnType("double precision")
                        .HasColumnName("depth_start")
                        .HasComment("Глубина на начало операции, м");

                    b.Property<int>("IdCategory")
                        .HasColumnType("integer")
                        .HasColumnName("id_category")
                        .HasComment("Id категории операции");

                    b.Property<int>("IdReasonOfEnd")
                        .HasColumnType("integer")
                        .HasColumnName("id_reason_of_end")
                        .HasComment("Код признака окончания операции");

                    b.Property<int>("IdTelemetry")
                        .HasColumnType("integer")
                        .HasColumnName("id_telemetry");

                    b.Property<int>("IdUsersAtStart")
                        .HasColumnType("integer")
                        .HasColumnName("id_user")
                        .HasComment("Id пользователя по телеметрии на момент начала операции");

                    b.Property<double>("Value")
                        .HasColumnType("double precision")
                        .HasColumnName("value")
                        .HasComment("Ключевой показатель операции");

                    b.HasKey("Id");

                    b.HasIndex("IdCategory");

                    b.HasIndex("IdTelemetry");

                    b.ToTable("t_detected_operation");

                    b.HasComment("автоматически определенные операции по телеметрии");
                });

            modelBuilder.Entity("AsbCloudDb.Model.Driller", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id")
                        .HasComment("Идентификатор");

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

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasMaxLength(255)
                        .HasColumnType("character varying(255)")
                        .HasColumnName("name")
                        .HasComment("Имя");

                    b.Property<string>("Patronymic")
                        .HasMaxLength(255)
                        .HasColumnType("character varying(255)")
                        .HasColumnName("patronymic")
                        .HasComment("Отчество");

                    b.Property<string>("Surname")
                        .IsRequired()
                        .HasMaxLength(255)
                        .HasColumnType("character varying(255)")
                        .HasColumnName("surname")
                        .HasComment("Фамилия");

                    b.HasKey("Id");

                    b.ToTable("t_driller");

                    b.HasComment("Бурильщик");
                });

            modelBuilder.Entity("AsbCloudDb.Model.DrillingProgramPart", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

                    b.Property<int>("IdFileCategory")
                        .HasColumnType("integer")
                        .HasColumnName("id_file_category");

                    b.Property<int>("IdWell")
                        .HasColumnType("integer")
                        .HasColumnName("id_well");

                    b.HasKey("Id");

                    b.HasIndex("IdFileCategory");

                    b.HasIndex("IdWell", "IdFileCategory")
                        .IsUnique();

                    b.ToTable("t_drilling_program_part");

                    b.HasComment("части программ бурения");
                });

            modelBuilder.Entity("AsbCloudDb.Model.Faq", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id")
                        .HasComment("Идентификатор");

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

                    b.Property<string>("Answer")
                        .HasColumnType("text")
                        .HasColumnName("answer")
                        .HasComment("Текст ответа");

                    b.Property<int>("CounterQuestion")
                        .HasColumnType("integer")
                        .HasColumnName("counter_question")
                        .HasComment("Счетчик повторений вопроса");

                    b.Property<DateTimeOffset?>("DateAnswer")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("date_answer")
                        .HasComment("Дата ответа");

                    b.Property<DateTimeOffset>("DateCreatedQuestion")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("date_created_question")
                        .HasComment("Дата создания вопроса");

                    b.Property<DateTimeOffset>("DateLastEditedQuestion")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("date_last_edited_question")
                        .HasComment("Дата последнего редактирования вопроса");

                    b.Property<int?>("IdAuthorAnswer")
                        .HasColumnType("integer")
                        .HasColumnName("id_author_answer")
                        .HasComment("id автора ответа");

                    b.Property<int>("IdAuthorQuestion")
                        .HasColumnType("integer")
                        .HasColumnName("id_author_question")
                        .HasComment("id автора вопроса");

                    b.Property<int?>("IdReplacementQuestion")
                        .HasColumnType("integer")
                        .HasColumnName("id_replacement_question")
                        .HasComment("Ключ заменяющего вопроса");

                    b.Property<bool>("IsFrequently")
                        .HasColumnType("boolean")
                        .HasColumnName("is_frequently")
                        .HasComment("Частый вопрос");

                    b.Property<string>("Question")
                        .IsRequired()
                        .HasColumnType("text")
                        .HasColumnName("question")
                        .HasComment("Текст вопроса");

                    b.Property<int>("State")
                        .HasColumnType("integer")
                        .HasColumnName("state")
                        .HasComment("Статус вопроса");

                    b.HasKey("Id");

                    b.HasIndex("IdAuthorAnswer");

                    b.HasIndex("IdAuthorQuestion");

                    b.ToTable("t_faq");

                    b.HasComment("вопросы пользователей");
                });

            modelBuilder.Entity("AsbCloudDb.Model.FileCategory", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("text")
                        .HasColumnName("name")
                        .HasComment("Название категории");

                    b.Property<string>("ShortName")
                        .HasColumnType("text")
                        .HasColumnName("short_name")
                        .HasComment("Короткое название категории");

                    b.HasKey("Id");

                    b.ToTable("t_file_category");

                    b.HasComment("Категории файлов");

                    b.HasData(
                        new
                        {
                            Id = 1,
                            Name = "Растворный сервис",
                            ShortName = "fluidService"
                        },
                        new
                        {
                            Id = 2,
                            Name = "Цементирование",
                            ShortName = "cement"
                        },
                        new
                        {
                            Id = 3,
                            Name = "ННБ",
                            ShortName = "nnb"
                        },
                        new
                        {
                            Id = 4,
                            Name = "ГТИ",
                            ShortName = "gti"
                        },
                        new
                        {
                            Id = 5,
                            Name = "Документы по скважине",
                            ShortName = "wellDocuments"
                        },
                        new
                        {
                            Id = 6,
                            Name = "Супервайзер",
                            ShortName = "supervisor"
                        },
                        new
                        {
                            Id = 7,
                            Name = "Мастер",
                            ShortName = "master"
                        },
                        new
                        {
                            Id = 8,
                            Name = "Долотный сервис",
                            ShortName = "toolService"
                        },
                        new
                        {
                            Id = 9,
                            Name = "Буровой подрядчик",
                            ShortName = "drillService"
                        },
                        new
                        {
                            Id = 10,
                            Name = "Сервис по заканчиванию скважины",
                            ShortName = "closingService"
                        },
                        new
                        {
                            Id = 12,
                            Name = "Рапорт",
                            ShortName = "report"
                        },
                        new
                        {
                            Id = 1000,
                            Name = "Программа бурения"
                        },
                        new
                        {
                            Id = 1001,
                            Name = "Задание от геологов"
                        },
                        new
                        {
                            Id = 1002,
                            Name = "Профиль ствола скважины (ННБ)"
                        },
                        new
                        {
                            Id = 1003,
                            Name = "Технологические расчеты (ННБ)"
                        },
                        new
                        {
                            Id = 1004,
                            Name = "Долотная программа"
                        },
                        new
                        {
                            Id = 1005,
                            Name = "Программа по растворам"
                        },
                        new
                        {
                            Id = 1006,
                            Name = "Программа геофизических исследований"
                        },
                        new
                        {
                            Id = 1007,
                            Name = "Планы спусков обсадных колонн"
                        },
                        new
                        {
                            Id = 1008,
                            Name = "Программы цементирования обсадных колонн"
                        },
                        new
                        {
                            Id = 10000,
                            Name = "Проект на бурение транспортного и горизонтального участков скважины"
                        },
                        new
                        {
                            Id = 10001,
                            Name = "Программа на бурение транспортного и горизонтального участков скважины"
                        },
                        new
                        {
                            Id = 10002,
                            Name = "Акт о начале бурения"
                        },
                        new
                        {
                            Id = 10003,
                            Name = "План работ спуска и цементирования направления"
                        },
                        new
                        {
                            Id = 10004,
                            Name = "Программа цементирования направления"
                        },
                        new
                        {
                            Id = 10005,
                            Name = "Мера обсадных труб (направление)"
                        },
                        new
                        {
                            Id = 10006,
                            Name = "Акт на выполненные работы по цементированию направления"
                        },
                        new
                        {
                            Id = 10007,
                            Name = "Отчет по цементированию направления (график)"
                        },
                        new
                        {
                            Id = 10008,
                            Name = "План работ спуска и цементирования кондуктора"
                        },
                        new
                        {
                            Id = 10009,
                            Name = "Программа цементирования (кондуктор)"
                        },
                        new
                        {
                            Id = 10010,
                            Name = "Мера обсадных труб (кондуктор)"
                        },
                        new
                        {
                            Id = 10011,
                            Name = "Карта крепления кондуктора"
                        },
                        new
                        {
                            Id = 10012,
                            Name = "Акт на выполненные работы по цементированию кондуктора"
                        },
                        new
                        {
                            Id = 10013,
                            Name = "Отчет по цементированию кондуктора (график)"
                        },
                        new
                        {
                            Id = 10014,
                            Name = "Акт о замере расстояния от стола ротора до муфты кондуктора"
                        },
                        new
                        {
                            Id = 10015,
                            Name = "Акт опресовки цементного кольца за кондуктором"
                        },
                        new
                        {
                            Id = 10016,
                            Name = "Акт опресовки ППГ с глухими плашками совместно с кондуктором"
                        },
                        new
                        {
                            Id = 10017,
                            Name = "Акт опресовки ПУГ, ППГ с трубными плашками совместно с кондуктором"
                        },
                        new
                        {
                            Id = 10018,
                            Name = "План работ на крепление обсадной колонны (эк. колонна)"
                        },
                        new
                        {
                            Id = 10019,
                            Name = "Программа цементирования (эк. колонна)"
                        },
                        new
                        {
                            Id = 10020,
                            Name = "Мера труб эксплуатационной колонны"
                        },
                        new
                        {
                            Id = 10021,
                            Name = "Карта по креплению  скважины (эк. колонна)"
                        },
                        new
                        {
                            Id = 10022,
                            Name = "Акт на установку пружинных центраторов"
                        },
                        new
                        {
                            Id = 10023,
                            Name = "Отчет по цементированию эксплуатационной колонны (график)"
                        },
                        new
                        {
                            Id = 10024,
                            Name = "Акт на выполненные работы по цементированию эксплуатационной колонны"
                        },
                        new
                        {
                            Id = 10025,
                            Name = "Акт об испытании эк. колонны на герметичность  (СТОП)"
                        },
                        new
                        {
                            Id = 10026,
                            Name = "Акт опресовки ППГ с глухими плашками совместно с э/колонной"
                        },
                        new
                        {
                            Id = 10027,
                            Name = "Акт опресовки ПУГ, ППГ с трубными плашками совместно с  э/колонной"
                        },
                        new
                        {
                            Id = 10028,
                            Name = "Акт на вскрытие продуктивного пласта"
                        },
                        new
                        {
                            Id = 10029,
                            Name = "Акт замера параметров раствора при бурении горизонтального участка"
                        },
                        new
                        {
                            Id = 10030,
                            Name = "Разрешение на спуск «хвостовика» (телефонограмма)"
                        },
                        new
                        {
                            Id = 10031,
                            Name = "План работ на спуск «хвостовика»"
                        },
                        new
                        {
                            Id = 10032,
                            Name = "Акт готовности бурового и энергетического оборудования к спуску «хвостовика»"
                        },
                        new
                        {
                            Id = 10033,
                            Name = "Акт шаблонировки ствола скважины перед спуском «хвостовика»"
                        },
                        new
                        {
                            Id = 10034,
                            Name = "Мера обсадных труб (хвостовик)"
                        },
                        new
                        {
                            Id = 10035,
                            Name = "Акт выполненных работ по спуску хвостовика с закачкой (нефти, солевого раствора"
                        },
                        new
                        {
                            Id = 10036,
                            Name = "Акт о переводе скважины на тех. воду"
                        },
                        new
                        {
                            Id = 10037,
                            Name = "Акт об окончании бурения"
                        },
                        new
                        {
                            Id = 10038,
                            Name = "Акт на передачу скважины в освоение (КРС)"
                        },
                        new
                        {
                            Id = 10039,
                            Name = "Акт на опресовку межколонного пространства с КРС"
                        },
                        new
                        {
                            Id = 10040,
                            Name = "Акт на сдачу скважины в ЦДНГ"
                        },
                        new
                        {
                            Id = 10041,
                            Name = "Паспорт ОУС (заполняется геологами)"
                        },
                        new
                        {
                            Id = 10042,
                            Name = "Паспорт скважины (заполняется геологами)"
                        },
                        new
                        {
                            Id = 10043,
                            Name = "Фактические данные бурения (вставляются в паспорт скважины)"
                        },
                        new
                        {
                            Id = 20000,
                            Name = "Справки по страницам"
                        });
                });

            modelBuilder.Entity("AsbCloudDb.Model.FileInfo", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

                    b.Property<int?>("IdAuthor")
                        .HasColumnType("integer")
                        .HasColumnName("id_author")
                        .HasComment("Id пользователя, загрузившего файл");

                    b.Property<int>("IdCategory")
                        .HasColumnType("integer")
                        .HasColumnName("id_category")
                        .HasComment("id категории файла");

                    b.Property<int>("IdWell")
                        .HasColumnType("integer")
                        .HasColumnName("id_well")
                        .HasComment("id скважины");

                    b.Property<bool>("IsDeleted")
                        .HasColumnType("boolean")
                        .HasColumnName("is_deleted")
                        .HasComment("Удален ли файл");

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("text")
                        .HasColumnName("name")
                        .HasComment("Название файла");

                    b.Property<long>("Size")
                        .HasColumnType("bigint")
                        .HasColumnName("file_size")
                        .HasComment("Размер файла");

                    b.Property<DateTimeOffset>("UploadDate")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("date");

                    b.HasKey("Id");

                    b.HasIndex("IdAuthor");

                    b.HasIndex("IdCategory");

                    b.HasIndex("IdWell");

                    b.ToTable("t_file_info");

                    b.HasComment("Файлы всех категорий");
                });

            modelBuilder.Entity("AsbCloudDb.Model.FileMark", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

                    b.Property<string>("Comment")
                        .HasMaxLength(255)
                        .HasColumnType("character varying(255)")
                        .HasColumnName("comment")
                        .HasComment("Комментарий");

                    b.Property<DateTimeOffset>("DateCreated")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("date_created")
                        .HasComment("Дата совершенного действия");

                    b.Property<int>("IdFile")
                        .HasColumnType("integer")
                        .HasColumnName("id_file")
                        .HasComment("id файла");

                    b.Property<int>("IdMarkType")
                        .HasColumnType("integer")
                        .HasColumnName("id_mark_type")
                        .HasComment("0 - отклонен, 1 - согласован");

                    b.Property<int>("IdUser")
                        .HasColumnType("integer")
                        .HasColumnName("id_user")
                        .HasComment("id пользователя");

                    b.Property<bool>("IsDeleted")
                        .HasColumnType("boolean")
                        .HasColumnName("is_deleted")
                        .HasComment("Помечен ли файл как удаленный");

                    b.HasKey("Id");

                    b.HasIndex("IdFile");

                    b.HasIndex("IdUser");

                    b.ToTable("t_file_mark");

                    b.HasComment("Действия с файлами.");
                });

            modelBuilder.Entity("AsbCloudDb.Model.GTR.WitsItemFloat", b =>
                {
                    b.Property<int>("IdTelemetry")
                        .HasColumnType("integer")
                        .HasColumnName("id_telemetry");

                    b.Property<int>("IdRecord")
                        .HasColumnType("integer")
                        .HasColumnName("id_record");

                    b.Property<int>("IdItem")
                        .HasColumnType("integer")
                        .HasColumnName("id_item");

                    b.Property<DateTimeOffset>("DateTime")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("date");

                    b.Property<float>("Value")
                        .HasColumnType("real")
                        .HasColumnName("value");

                    b.HasKey("IdTelemetry", "IdRecord", "IdItem", "DateTime");

                    b.ToTable("t_wits_float");

                    b.HasComment("таблица данных ГТИ с типом значения float");
                });

            modelBuilder.Entity("AsbCloudDb.Model.GTR.WitsItemInt", b =>
                {
                    b.Property<int>("IdTelemetry")
                        .HasColumnType("integer")
                        .HasColumnName("id_telemetry");

                    b.Property<int>("IdRecord")
                        .HasColumnType("integer")
                        .HasColumnName("id_record");

                    b.Property<int>("IdItem")
                        .HasColumnType("integer")
                        .HasColumnName("id_item");

                    b.Property<DateTimeOffset>("DateTime")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("date");

                    b.Property<int>("Value")
                        .HasColumnType("integer")
                        .HasColumnName("value");

                    b.HasKey("IdTelemetry", "IdRecord", "IdItem", "DateTime");

                    b.ToTable("t_wits_int");

                    b.HasComment("таблица данных ГТИ с типом значения int");
                });

            modelBuilder.Entity("AsbCloudDb.Model.GTR.WitsItemString", b =>
                {
                    b.Property<int>("IdTelemetry")
                        .HasColumnType("integer")
                        .HasColumnName("id_telemetry");

                    b.Property<int>("IdRecord")
                        .HasColumnType("integer")
                        .HasColumnName("id_record");

                    b.Property<int>("IdItem")
                        .HasColumnType("integer")
                        .HasColumnName("id_item");

                    b.Property<DateTimeOffset>("DateTime")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("date");

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

                    b.HasKey("IdTelemetry", "IdRecord", "IdItem", "DateTime");

                    b.ToTable("t_wits_string");

                    b.HasComment("таблица данных ГТИ с типом значения string");
                });

            modelBuilder.Entity("AsbCloudDb.Model.HelpPage", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

                    b.Property<int>("IdCategory")
                        .HasColumnType("integer")
                        .HasColumnName("id_category")
                        .HasComment("id категории файла");

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("text")
                        .HasColumnName("name")
                        .HasComment("Название файла");

                    b.Property<long>("Size")
                        .HasColumnType("bigint")
                        .HasColumnName("file_size")
                        .HasComment("Размер файла");

                    b.Property<string>("UrlPage")
                        .IsRequired()
                        .HasColumnType("text")
                        .HasColumnName("url_page")
                        .HasComment("Url страницы");

                    b.HasKey("Id");

                    b.HasIndex("IdCategory");

                    b.ToTable("t_help_page");

                    b.HasComment("Справки");
                });

            modelBuilder.Entity("AsbCloudDb.Model.LimitingParameter", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

                    b.Property<DateTimeOffset>("DateEnd")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("date_end");

                    b.Property<DateTimeOffset>("DateStart")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("date_start");

                    b.Property<float>("DepthEnd")
                        .HasColumnType("real")
                        .HasColumnName("depth_end");

                    b.Property<float>("DepthStart")
                        .HasColumnType("real")
                        .HasColumnName("depth_start");

                    b.Property<short>("IdFeedRegulator")
                        .HasColumnType("smallint")
                        .HasColumnName("id_feed_regulator");

                    b.Property<int>("IdTelemetry")
                        .HasColumnType("integer")
                        .HasColumnName("id_telemetry");

                    b.HasKey("Id");

                    b.HasIndex("IdTelemetry");

                    b.ToTable("t_limiting_parameter");

                    b.HasComment("Ограничения по параметрам телеметрии");
                });

            modelBuilder.Entity("AsbCloudDb.Model.Measure", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

                    b.Property<string>("Data")
                        .IsRequired()
                        .HasColumnType("jsonb")
                        .HasColumnName("data")
                        .HasComment("Данные таблицы последних данных");

                    b.Property<int>("IdCategory")
                        .HasColumnType("integer")
                        .HasColumnName("id_category")
                        .HasComment("id категории");

                    b.Property<int>("IdWell")
                        .HasColumnType("integer")
                        .HasColumnName("id_well")
                        .HasComment("id скважины");

                    b.Property<bool>("IsDeleted")
                        .HasColumnType("boolean")
                        .HasColumnName("is_deleted")
                        .HasComment("Пометка удаленным");

                    b.Property<DateTimeOffset>("Timestamp")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("timestamp")
                        .HasComment("время добавления");

                    b.HasKey("Id");

                    b.HasIndex("IdCategory");

                    b.HasIndex("IdWell");

                    b.ToTable("t_measure");

                    b.HasComment("Таблица c данными для вкладки 'Последние данные'");
                });

            modelBuilder.Entity("AsbCloudDb.Model.MeasureCategory", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("text")
                        .HasColumnName("name")
                        .HasComment("Название категории");

                    b.Property<string>("ShortName")
                        .HasColumnType("text")
                        .HasColumnName("short_name")
                        .HasComment("Короткое название категории");

                    b.HasKey("Id");

                    b.ToTable("t_measure_category");

                    b.HasComment("Категория последних данных");

                    b.HasData(
                        new
                        {
                            Id = 1,
                            Name = "Показатели бурового раствора",
                            ShortName = "Раствор"
                        },
                        new
                        {
                            Id = 2,
                            Name = "Шламограмма",
                            ShortName = "Шламограмма"
                        },
                        new
                        {
                            Id = 3,
                            Name = "ННБ",
                            ShortName = "ННБ"
                        });
                });

            modelBuilder.Entity("AsbCloudDb.Model.Notification", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

                    b.Property<int>("IdNotificationCategory")
                        .HasColumnType("integer")
                        .HasColumnName("id_notification_category")
                        .HasComment("Id категории уведомления");

                    b.Property<int>("IdUser")
                        .HasColumnType("integer")
                        .HasColumnName("id_user")
                        .HasComment("Id получателя");

                    b.Property<string>("Message")
                        .IsRequired()
                        .HasColumnType("text")
                        .HasColumnName("message")
                        .HasComment("Сообщение уведомления");

                    b.Property<string>("NotificationState")
                        .IsRequired()
                        .HasColumnType("text")
                        .HasColumnName("notification_state")
                        .HasComment("Состояние уведомления");

                    b.Property<string>("NotificationTransport")
                        .IsRequired()
                        .HasColumnType("text")
                        .HasColumnName("notification_transport")
                        .HasComment("Метод доставки уведомления");

                    b.Property<DateTime?>("SentDate")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("sent_date")
                        .HasComment("Дата отправки уведомления");

                    b.Property<TimeSpan>("TimeToLife")
                        .HasColumnType("interval")
                        .HasColumnName("time_to_life")
                        .HasComment("Время жизни уведомления");

                    b.Property<string>("Title")
                        .IsRequired()
                        .HasColumnType("text")
                        .HasColumnName("title")
                        .HasComment("Заголовок уведомления");

                    b.HasKey("Id");

                    b.HasIndex("IdNotificationCategory");

                    b.HasIndex("IdUser");

                    b.ToTable("t_notification");

                    b.HasComment("Уведомления");
                });

            modelBuilder.Entity("AsbCloudDb.Model.NotificationCategory", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

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

                    b.HasKey("Id");

                    b.ToTable("t_notification_category");

                    b.HasComment("Категории уведомлений");

                    b.HasData(
                        new
                        {
                            Id = 1,
                            Name = "Системные уведомления"
                        });
                });

            modelBuilder.Entity("AsbCloudDb.Model.OperationValue", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id")
                        .HasComment("Идентификатор");

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

                    b.Property<double>("DepthEnd")
                        .HasColumnType("double precision")
                        .HasColumnName("depth_end")
                        .HasComment("Конечная глубина");

                    b.Property<double>("DepthStart")
                        .HasColumnType("double precision")
                        .HasColumnName("depth_start")
                        .HasComment("Старотовая глубина");

                    b.Property<int>("IdOperationCategory")
                        .HasColumnType("integer")
                        .HasColumnName("id_operation_category")
                        .HasComment("Ид категории операции");

                    b.Property<int>("IdWell")
                        .HasColumnType("integer")
                        .HasColumnName("id_well")
                        .HasComment("Ид скважины");

                    b.Property<double>("StandardValue")
                        .HasColumnType("double precision")
                        .HasColumnName("standard_value")
                        .HasComment("Нормативный показатель");

                    b.Property<double>("TargetValue")
                        .HasColumnType("double precision")
                        .HasColumnName("target_value")
                        .HasComment("Целевой показатель");

                    b.HasKey("Id");

                    b.HasIndex("IdOperationCategory");

                    b.HasIndex("IdWell");

                    b.ToTable("t_operationvalue");

                    b.HasComment("Целевые/нормативные показатели операции");
                });

            modelBuilder.Entity("AsbCloudDb.Model.Permission", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

                    b.Property<string>("Description")
                        .HasMaxLength(255)
                        .HasColumnType("character varying(255)")
                        .HasColumnName("description")
                        .HasComment("Краткое описание");

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasMaxLength(255)
                        .HasColumnType("character varying(255)")
                        .HasColumnName("name")
                        .HasComment("Название");

                    b.HasKey("Id");

                    b.ToTable("t_permission");

                    b.HasComment("Разрешения на доступ к данным");

                    b.HasData(
                        new
                        {
                            Id = 100,
                            Description = "Разрешение удалять  админ. Кусты",
                            Name = "AdminCluster.delete"
                        },
                        new
                        {
                            Id = 101,
                            Description = "Разрешение редактировать  админ. Кусты",
                            Name = "AdminCluster.edit"
                        },
                        new
                        {
                            Id = 102,
                            Description = "Разрешение просматривать  админ. Кусты",
                            Name = "AdminCluster.get"
                        },
                        new
                        {
                            Id = 103,
                            Description = "Разрешение удалять  админ. Компании",
                            Name = "AdminCompany.delete"
                        },
                        new
                        {
                            Id = 104,
                            Description = "Разрешение редактировать  админ. Компании",
                            Name = "AdminCompany.edit"
                        },
                        new
                        {
                            Id = 105,
                            Description = "Разрешение просматривать  админ. Компании",
                            Name = "AdminCompany.get"
                        },
                        new
                        {
                            Id = 106,
                            Description = "Разрешение удалять  админ. Типы компаний",
                            Name = "AdminCompanyType.delete"
                        },
                        new
                        {
                            Id = 107,
                            Description = "Разрешение редактировать  админ. Типы компаний",
                            Name = "AdminCompanyType.edit"
                        },
                        new
                        {
                            Id = 108,
                            Description = "Разрешение просматривать  админ. Типы компаний",
                            Name = "AdminCompanyType.get"
                        },
                        new
                        {
                            Id = 109,
                            Description = "Разрешение удалять  админ. Месторождения",
                            Name = "AdminDeposit.delete"
                        },
                        new
                        {
                            Id = 110,
                            Description = "Разрешение редактировать  админ. Месторождения",
                            Name = "AdminDeposit.edit"
                        },
                        new
                        {
                            Id = 111,
                            Description = "Разрешение просматривать  админ. Месторождения",
                            Name = "AdminDeposit.get"
                        },
                        new
                        {
                            Id = 112,
                            Description = "Разрешение удалять  админ. Разрешения",
                            Name = "AdminPermission.delete"
                        },
                        new
                        {
                            Id = 113,
                            Description = "Разрешение редактировать  админ. Разрешения",
                            Name = "AdminPermission.edit"
                        },
                        new
                        {
                            Id = 114,
                            Description = "Разрешение просматривать  админ. Разрешения",
                            Name = "AdminPermission.get"
                        },
                        new
                        {
                            Id = 115,
                            Description = "Разрешение удалять  админ. Телеметрию",
                            Name = "AdminTelemetry.delete"
                        },
                        new
                        {
                            Id = 116,
                            Description = "Разрешение редактировать  админ. Телеметрию",
                            Name = "AdminTelemetry.edit"
                        },
                        new
                        {
                            Id = 117,
                            Description = "Разрешение просматривать  админ. Телеметрию",
                            Name = "AdminTelemetry.get"
                        },
                        new
                        {
                            Id = 118,
                            Description = "Разрешение удалять  админ. Пользователей",
                            Name = "AdminUser.delete"
                        },
                        new
                        {
                            Id = 119,
                            Description = "Разрешение редактировать  админ. Пользователей",
                            Name = "AdminUser.edit"
                        },
                        new
                        {
                            Id = 120,
                            Description = "Разрешение просматривать  админ. Пользователей",
                            Name = "AdminUser.get"
                        },
                        new
                        {
                            Id = 121,
                            Description = "Разрешение удалять  админ. Роли пользователей",
                            Name = "AdminUserRole.delete"
                        },
                        new
                        {
                            Id = 122,
                            Description = "Разрешение редактировать  админ. Роли пользователей",
                            Name = "AdminUserRole.edit"
                        },
                        new
                        {
                            Id = 123,
                            Description = "Разрешение просматривать  админ. Роли пользователей",
                            Name = "AdminUserRole.get"
                        },
                        new
                        {
                            Id = 124,
                            Description = "Разрешение удалять  админ. Скважины",
                            Name = "AdminWell.delete"
                        },
                        new
                        {
                            Id = 125,
                            Description = "Разрешение редактировать  админ. Скважины",
                            Name = "AdminWell.edit"
                        },
                        new
                        {
                            Id = 126,
                            Description = "Разрешение просматривать  админ. Скважины",
                            Name = "AdminWell.get"
                        },
                        new
                        {
                            Id = 127,
                            Description = "Разрешение удалять  админ. Подсистемы",
                            Name = "AdminSubsytem.delete"
                        },
                        new
                        {
                            Id = 128,
                            Description = "Разрешение редактировать  админ. Подсистемы",
                            Name = "AdminSubsytem.edit"
                        },
                        new
                        {
                            Id = 129,
                            Description = "Разрешение просматривать  админ. Подсистемы",
                            Name = "AdminSubsytem.get"
                        },
                        new
                        {
                            Id = 200,
                            Description = "Разрешение редактировать  0",
                            Name = "Auth.edit"
                        },
                        new
                        {
                            Id = 201,
                            Description = "Разрешение просматривать  0",
                            Name = "Auth.get"
                        },
                        new
                        {
                            Id = 202,
                            Description = "Разрешение просматривать  Кусты",
                            Name = "Cluster.get"
                        },
                        new
                        {
                            Id = 203,
                            Description = "Разрешение просматривать  Месторождения",
                            Name = "Deposit.get"
                        },
                        new
                        {
                            Id = 204,
                            Description = "Разрешение удалять  РТК",
                            Name = "DrillFlowChart.delete"
                        },
                        new
                        {
                            Id = 205,
                            Description = "Разрешение редактировать  РТК",
                            Name = "DrillFlowChart.edit"
                        },
                        new
                        {
                            Id = 206,
                            Description = "Разрешение просматривать  РТК",
                            Name = "DrillFlowChart.get"
                        },
                        new
                        {
                            Id = 207,
                            Description = "Разрешение удалять  Программу бурения",
                            Name = "DrillingProgram.delete"
                        },
                        new
                        {
                            Id = 208,
                            Description = "Разрешение редактировать  Программу бурения",
                            Name = "DrillingProgram.edit"
                        },
                        new
                        {
                            Id = 209,
                            Description = "Разрешение просматривать  Программу бурения",
                            Name = "DrillingProgram.get"
                        },
                        new
                        {
                            Id = 210,
                            Description = "Разрешение удалять  Режимы бурения",
                            Name = "DrillParams.delete"
                        },
                        new
                        {
                            Id = 211,
                            Description = "Разрешение редактировать  Режимы бурения",
                            Name = "DrillParams.edit"
                        },
                        new
                        {
                            Id = 212,
                            Description = "Разрешение просматривать  Режимы бурения",
                            Name = "DrillParams.get"
                        },
                        new
                        {
                            Id = 213,
                            Description = "Разрешение удалять  Файлы",
                            Name = "File.delete"
                        },
                        new
                        {
                            Id = 214,
                            Description = "Разрешение редактировать  Файлы",
                            Name = "File.edit"
                        },
                        new
                        {
                            Id = 215,
                            Description = "Разрешение просматривать  Файлы",
                            Name = "File.get"
                        },
                        new
                        {
                            Id = 216,
                            Description = "Разрешение удалять  Измерения",
                            Name = "Measure.delete"
                        },
                        new
                        {
                            Id = 217,
                            Description = "Разрешение редактировать  Измерения",
                            Name = "Measure.edit"
                        },
                        new
                        {
                            Id = 218,
                            Description = "Разрешение просматривать  Измерения",
                            Name = "Measure.get"
                        },
                        new
                        {
                            Id = 219,
                            Description = "Разрешение просматривать  Сообщения телеметрии",
                            Name = "Message.get"
                        },
                        new
                        {
                            Id = 220,
                            Description = "Разрешение просматривать  Статистику по операциям",
                            Name = "OperationStat.get"
                        },
                        new
                        {
                            Id = 221,
                            Description = "Разрешение редактировать  Рапорта",
                            Name = "Report.edit"
                        },
                        new
                        {
                            Id = 222,
                            Description = "Разрешение просматривать  Рапорта",
                            Name = "Report.get"
                        },
                        new
                        {
                            Id = 223,
                            Description = "Разрешение просматривать  админ. Системная статистика",
                            Name = "RequestTracker.get"
                        },
                        new
                        {
                            Id = 224,
                            Description = "Разрешение удалять  Рекомендации уставок",
                            Name = "Setpoints.delete"
                        },
                        new
                        {
                            Id = 225,
                            Description = "Разрешение редактировать  Рекомендации уставок",
                            Name = "Setpoints.edit"
                        },
                        new
                        {
                            Id = 226,
                            Description = "Разрешение просматривать  Рекомендации уставок",
                            Name = "Setpoints.get"
                        },
                        new
                        {
                            Id = 227,
                            Description = "Разрешение редактировать  Телеметрии",
                            Name = "Telemetry.edit"
                        },
                        new
                        {
                            Id = 228,
                            Description = "Разрешение просматривать  Анализ телеметрии",
                            Name = "TelemetryAnalytics.get"
                        },
                        new
                        {
                            Id = 229,
                            Description = "Разрешение редактировать  Данные телеметрии по САУБ",
                            Name = "TelemetryDataSaub.edit"
                        },
                        new
                        {
                            Id = 230,
                            Description = "Разрешение просматривать  Данные телеметрии по САУБ",
                            Name = "TelemetryDataSaub.get"
                        },
                        new
                        {
                            Id = 231,
                            Description = "Разрешение редактировать  Данные телеметрии по SpinMaster",
                            Name = "TelemetryDataSpin.edit"
                        },
                        new
                        {
                            Id = 232,
                            Description = "Разрешение просматривать  Данные телеметрии по SpinMaster",
                            Name = "TelemetryDataSpin.get"
                        },
                        new
                        {
                            Id = 233,
                            Description = "Разрешение редактировать  Скважины",
                            Name = "Well.edit"
                        },
                        new
                        {
                            Id = 234,
                            Description = "Разрешение просматривать  Скважины",
                            Name = "Well.get"
                        },
                        new
                        {
                            Id = 235,
                            Description = "Разрешение редактировать  Композитные скважины",
                            Name = "WellComposite.edit"
                        },
                        new
                        {
                            Id = 236,
                            Description = "Разрешение просматривать  Композитные скважины",
                            Name = "WellComposite.get"
                        },
                        new
                        {
                            Id = 237,
                            Description = "Разрешение удалять  Операции по скважинам",
                            Name = "WellOperation.delete"
                        },
                        new
                        {
                            Id = 238,
                            Description = "Разрешение редактировать  Операции по скважинам",
                            Name = "WellOperation.edit"
                        },
                        new
                        {
                            Id = 239,
                            Description = "Разрешение просматривать  Операции по скважинам",
                            Name = "WellOperation.get"
                        },
                        new
                        {
                            Id = 240,
                            Description = "Разрешение редактировать  Файлы категории 1 (Растворный сервис)",
                            Name = "File.edit1"
                        },
                        new
                        {
                            Id = 241,
                            Description = "Разрешение редактировать  Файлы категории 2 (Цементирование)",
                            Name = "File.edit2"
                        },
                        new
                        {
                            Id = 242,
                            Description = "Разрешение редактировать  Файлы категории 3 (ННБ)",
                            Name = "File.edit3"
                        },
                        new
                        {
                            Id = 243,
                            Description = "Разрешение редактировать  Файлы категории 4 (ГТИ)",
                            Name = "File.edit4"
                        },
                        new
                        {
                            Id = 244,
                            Description = "Разрешение редактировать  Файлы категории 5 (Документы по скважине)",
                            Name = "File.edit5"
                        },
                        new
                        {
                            Id = 245,
                            Description = "Разрешение редактировать  Файлы категории 6 (Супервайзер)",
                            Name = "File.edit6"
                        },
                        new
                        {
                            Id = 246,
                            Description = "Разрешение редактировать  Файлы категории 7 (Мастер)",
                            Name = "File.edit7"
                        },
                        new
                        {
                            Id = 247,
                            Description = "Разрешение редактировать  Файлы категории 8 (Долотный сервис)",
                            Name = "File.edit8"
                        },
                        new
                        {
                            Id = 248,
                            Description = "Разрешение редактировать  Файлы категории 9 (Буровой подрядчик)",
                            Name = "File.edit9"
                        },
                        new
                        {
                            Id = 249,
                            Description = "Разрешение редактировать  Файлы категории 10 (Сервис по заканчиванию скважины)",
                            Name = "File.edit10"
                        },
                        new
                        {
                            Id = 250,
                            Description = "Разрешение редактировать  Файлы категории 11 (Рапорт)",
                            Name = "File.edit11"
                        },
                        new
                        {
                            Id = 251,
                            Description = "Разрешение редактировать  Файлы категории 12",
                            Name = "File.edit12"
                        },
                        new
                        {
                            Id = 252,
                            Description = "Разрешение редактировать  Файлы категории 12",
                            Name = "File.edit13"
                        },
                        new
                        {
                            Id = 253,
                            Description = "Разрешение редактировать  Файлы категории 13",
                            Name = "File.edit14"
                        },
                        new
                        {
                            Id = 254,
                            Description = "Разрешение редактировать  Файлы категории 14",
                            Name = "File.edit15"
                        },
                        new
                        {
                            Id = 255,
                            Description = "Разрешение редактировать  Файлы категории 15",
                            Name = "File.edit16"
                        },
                        new
                        {
                            Id = 256,
                            Description = "Разрешение редактировать  Файлы категории 16",
                            Name = "File.edit17"
                        },
                        new
                        {
                            Id = 257,
                            Description = "Разрешение редактировать  Файлы категории 17",
                            Name = "File.edit18"
                        },
                        new
                        {
                            Id = 258,
                            Description = "Разрешение редактировать  Файлы категории 18",
                            Name = "File.edit19"
                        },
                        new
                        {
                            Id = 259,
                            Description = "Разрешение редактировать  Файлы категории 19",
                            Name = "File.edit20"
                        },
                        new
                        {
                            Id = 260,
                            Description = "Разрешение редактировать  Файлы категории 20",
                            Name = "File.edit21"
                        },
                        new
                        {
                            Id = 261,
                            Description = "Разрешение редактировать  Файлы категории 21",
                            Name = "File.edit22"
                        },
                        new
                        {
                            Id = 262,
                            Description = "Разрешение редактировать  Файлы категории 22",
                            Name = "File.edit23"
                        },
                        new
                        {
                            Id = 263,
                            Description = "Разрешение редактировать  Файлы категории 23",
                            Name = "File.edit24"
                        },
                        new
                        {
                            Id = 264,
                            Description = "Разрешение редактировать  Файлы категории 24",
                            Name = "File.edit25"
                        },
                        new
                        {
                            Id = 265,
                            Description = "Разрешение редактировать  Файлы категории 25",
                            Name = "File.edit26"
                        },
                        new
                        {
                            Id = 266,
                            Description = "Разрешение редактировать  Файлы категории 26",
                            Name = "File.edit27"
                        },
                        new
                        {
                            Id = 267,
                            Description = "Разрешение редактировать  Файлы категории 27",
                            Name = "File.edit28"
                        },
                        new
                        {
                            Id = 268,
                            Description = "Разрешение редактировать  Файлы категории 28",
                            Name = "File.edit29"
                        },
                        new
                        {
                            Id = 269,
                            Description = "Разрешение редактировать  Файлы категории 29",
                            Name = "File.edit30"
                        },
                        new
                        {
                            Id = 380,
                            Description = "Разрешение просматривать список бурильщиков",
                            Name = "Driller.get"
                        },
                        new
                        {
                            Id = 381,
                            Description = "Разрешение редактировать бурильщика",
                            Name = "Driller.edit"
                        },
                        new
                        {
                            Id = 382,
                            Description = "Разрешение удалять бурильщик",
                            Name = "Driller.delete"
                        },
                        new
                        {
                            Id = 383,
                            Description = "Разрешение просматривать графики бурильщиков",
                            Name = "Schedule.get"
                        },
                        new
                        {
                            Id = 384,
                            Description = "Разрешение редактировать график бурильщика",
                            Name = "Schedule.edit"
                        },
                        new
                        {
                            Id = 385,
                            Description = "Разрешение удалять график бурильщика",
                            Name = "Schedule.delete"
                        },
                        new
                        {
                            Id = 386,
                            Description = "Разрешение просматривать суточный рапорт",
                            Name = "DailyReport.get"
                        },
                        new
                        {
                            Id = 387,
                            Description = "Разрешение редактировать суточный рапорт",
                            Name = "DailyReport.edit"
                        },
                        new
                        {
                            Id = 388,
                            Description = "Разрешение просматривать авто. определенные операции",
                            Name = "DetectedOperation.get"
                        },
                        new
                        {
                            Id = 389,
                            Description = "Разрешение просматривать целевые значения",
                            Name = "OperationValue.get"
                        },
                        new
                        {
                            Id = 390,
                            Description = "Разрешение редактировать целевые значения",
                            Name = "OperationValue.edit"
                        },
                        new
                        {
                            Id = 391,
                            Description = "Разрешение удалять целевые значения",
                            Name = "OperationValue.delete"
                        },
                        new
                        {
                            Id = 400,
                            Description = "Разрешение просматривать инфо по wits параметрам",
                            Name = "WitsInfo.get"
                        },
                        new
                        {
                            Id = 401,
                            Description = "Разрешение просматривать WITS record 1",
                            Name = "WitsRecord1.get"
                        },
                        new
                        {
                            Id = 407,
                            Description = "Разрешение просматривать WITS record 7",
                            Name = "WitsRecord7.get"
                        },
                        new
                        {
                            Id = 408,
                            Description = "Разрешение просматривать WITS record 8",
                            Name = "WitsRecord8.get"
                        },
                        new
                        {
                            Id = 450,
                            Description = "Разрешение просматривать WITS record 50",
                            Name = "WitsRecord50.get"
                        },
                        new
                        {
                            Id = 460,
                            Description = "Разрешение просматривать WITS record 60",
                            Name = "WitsRecord60.get"
                        },
                        new
                        {
                            Id = 461,
                            Description = "Разрешение просматривать WITS record 61",
                            Name = "WitsRecord61.get"
                        },
                        new
                        {
                            Id = 500,
                            Description = "Разрешение удалять  Категорий документов файлов",
                            Name = "FileCategory.delete"
                        },
                        new
                        {
                            Id = 501,
                            Description = "Разрешение редактировать  Категорий документов файлов",
                            Name = "FileCategory.edit"
                        },
                        new
                        {
                            Id = 502,
                            Description = "Разрешение просматривать  Категорий документов файлов",
                            Name = "FileCategory.get"
                        },
                        new
                        {
                            Id = 503,
                            Description = "Разрешение удалять  Дело скважины",
                            Name = "WellFinalDocuments.delete"
                        },
                        new
                        {
                            Id = 504,
                            Description = "Разрешение редактировать  Дело скважины",
                            Name = "WellFinalDocuments.edit"
                        },
                        new
                        {
                            Id = 505,
                            Description = "Разрешение просматривать  Дело скважины",
                            Name = "WellFinalDocuments.get"
                        },
                        new
                        {
                            Id = 506,
                            Description = "Разрешение редактировать ответственных за загрузку файла  Дело скважины",
                            Name = "WellFinalDocuments.editPublisher"
                        },
                        new
                        {
                            Id = 507,
                            Description = "Разрешение просматривать наработка талевого каната",
                            Name = "TelemetryWirelineRunOut.get"
                        },
                        new
                        {
                            Id = 510,
                            Description = "Разрешение просматривать плановая траектория",
                            Name = "PlannedTrajectory.get"
                        },
                        new
                        {
                            Id = 511,
                            Description = "Разрешение редактировать плановая траектория",
                            Name = "PlannedTrajectory.edit"
                        },
                        new
                        {
                            Id = 512,
                            Description = "Разрешение удалять плановая траектория",
                            Name = "PlannedTrajectory.delete"
                        },
                        new
                        {
                            Id = 513,
                            Description = "Разрешение просматривать РТК",
                            Name = "ProcessMap.get"
                        },
                        new
                        {
                            Id = 514,
                            Description = "Разрешение редактировать РТК",
                            Name = "ProcessMap.edit"
                        },
                        new
                        {
                            Id = 515,
                            Description = "Разрешение удалять РТК",
                            Name = "ProcessMap.delete"
                        },
                        new
                        {
                            Id = 516,
                            Description = "Разрешение просматривать статистику вопросов",
                            Name = "FaqStatistics.get"
                        },
                        new
                        {
                            Id = 517,
                            Description = "Разрешение редактировать вопрос",
                            Name = "FaqStatistics.edit"
                        },
                        new
                        {
                            Id = 518,
                            Description = "Разрешение удалять вопрос",
                            Name = "FaqStatistics.delete"
                        },
                        new
                        {
                            Id = 519,
                            Description = "Разрешение просматривать список контактов",
                            Name = "WellContact.get"
                        },
                        new
                        {
                            Id = 520,
                            Description = "Разрешение редактировать список контактов",
                            Name = "WellContact.edit"
                        },
                        new
                        {
                            Id = 521,
                            Description = "Разрешить создание справок по страницам",
                            Name = "HelpPage.edit"
                        });
                });

            modelBuilder.Entity("AsbCloudDb.Model.PlannedTrajectory", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

                    b.Property<double>("AbsoluteMark")
                        .HasColumnType("double precision")
                        .HasColumnName("absolute_mark")
                        .HasComment("Абсолютная отметка");

                    b.Property<double>("AngleIntensity")
                        .HasColumnType("double precision")
                        .HasColumnName("angle_intensity")
                        .HasComment("Интенсивность по углу");

                    b.Property<double>("AzimuthGeo")
                        .HasColumnType("double precision")
                        .HasColumnName("azimuth_geo")
                        .HasComment("Азимут Географ.");

                    b.Property<double>("AzimuthIntensity")
                        .HasColumnType("double precision")
                        .HasColumnName("azimuth_intensity")
                        .HasComment("Интенсивность по азимуту");

                    b.Property<double>("AzimuthMagnetic")
                        .HasColumnType("double precision")
                        .HasColumnName("azimuth_magnetic")
                        .HasComment("Азимут Магнитный");

                    b.Property<string>("Comment")
                        .HasColumnType("text")
                        .HasColumnName("comment")
                        .HasComment("Комментарии");

                    b.Property<double>("EastCartographic")
                        .HasColumnType("double precision")
                        .HasColumnName("east_cartographic")
                        .HasComment("Восток картографический");

                    b.Property<double>("EastOrifice")
                        .HasColumnType("double precision")
                        .HasColumnName("east_orifice")
                        .HasComment("Восток отн-но устья");

                    b.Property<int>("IdUser")
                        .HasColumnType("integer")
                        .HasColumnName("id_user")
                        .HasComment("ID пользователя который внес/изменил запись");

                    b.Property<int>("IdWell")
                        .HasColumnType("integer")
                        .HasColumnName("id_well")
                        .HasComment("ID скважины");

                    b.Property<double>("NorthCartographic")
                        .HasColumnType("double precision")
                        .HasColumnName("north_cartographic")
                        .HasComment("Север картографический");

                    b.Property<double>("NorthOrifice")
                        .HasColumnType("double precision")
                        .HasColumnName("north_orifice")
                        .HasComment("Север отн-но устья");

                    b.Property<double>("OrificeOffset")
                        .HasColumnType("double precision")
                        .HasColumnName("orifice_offset")
                        .HasComment("Смещение от устья");

                    b.Property<double?>("Radius")
                        .HasColumnType("double precision")
                        .HasColumnName("radius")
                        .HasComment("Радиус цели");

                    b.Property<double>("SpatialIntensity")
                        .HasColumnType("double precision")
                        .HasColumnName("spatial_intensity")
                        .HasComment("Пространственная интенсивность");

                    b.Property<DateTimeOffset>("UpdateDate")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("update_date")
                        .HasComment("Дата загрузки траектории");

                    b.Property<double>("VerticalDepth")
                        .HasColumnType("double precision")
                        .HasColumnName("vertical_depth")
                        .HasComment("Глубина вертикальная");

                    b.Property<double>("WellboreDepth")
                        .HasColumnType("double precision")
                        .HasColumnName("wellbore_depth")
                        .HasComment("Глубина по стволу");

                    b.Property<double>("ZenithAngle")
                        .HasColumnType("double precision")
                        .HasColumnName("zenith_angle")
                        .HasComment("Угол зенитный");

                    b.HasKey("Id");

                    b.HasIndex("IdUser");

                    b.HasIndex("IdWell");

                    b.ToTable("t_planned_trajectory");

                    b.HasComment("Загрузка плановой траектории");
                });

            modelBuilder.Entity("AsbCloudDb.Model.ProcessMap", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

                    b.Property<double>("AxialLoadLimitMax")
                        .HasColumnType("double precision")
                        .HasColumnName("axial_load_limit_max")
                        .HasComment("Нагрузка, допустимый максимум");

                    b.Property<double>("AxialLoadPlan")
                        .HasColumnType("double precision")
                        .HasColumnName("axial_load_plan")
                        .HasComment("Нагрузка, план");

                    b.Property<double>("DepthEnd")
                        .HasColumnType("double precision")
                        .HasColumnName("depth_end")
                        .HasComment("Глубина окончания интервала");

                    b.Property<double>("DepthStart")
                        .HasColumnType("double precision")
                        .HasColumnName("depth_start")
                        .HasComment("Стартовая глубина");

                    b.Property<double>("FlowLimitMax")
                        .HasColumnType("double precision")
                        .HasColumnName("flow_limit_max")
                        .HasComment("Расход, допустимый максимум");

                    b.Property<double>("FlowPlan")
                        .HasColumnType("double precision")
                        .HasColumnName("flow_plan")
                        .HasComment("Расход, план");

                    b.Property<int>("IdMode")
                        .HasColumnType("integer")
                        .HasColumnName("id_mode")
                        .HasComment("Id режима (1- ротор, 2 слайд)");

                    b.Property<int>("IdUser")
                        .HasColumnType("integer")
                        .HasColumnName("id_user")
                        .HasComment("Id пользователя");

                    b.Property<int>("IdWell")
                        .HasColumnType("integer")
                        .HasColumnName("well_id")
                        .HasComment("Id скважины");

                    b.Property<int>("IdWellSectionType")
                        .HasColumnType("integer")
                        .HasColumnName("id_wellsection_type")
                        .HasComment("Тип секции");

                    b.Property<DateTimeOffset>("LastUpdate")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("last_update")
                        .HasComment("Дата последнего изменения");

                    b.Property<double>("PressureLimitMax")
                        .HasColumnType("double precision")
                        .HasColumnName("pressure_limit_max")
                        .HasComment("Перепад давления, допустимый максимум");

                    b.Property<double>("PressurePlan")
                        .HasColumnType("double precision")
                        .HasColumnName("pressure_plan")
                        .HasComment("Перепад давления, план");

                    b.Property<double>("RopPlan")
                        .HasColumnType("double precision")
                        .HasColumnName("rop_plan")
                        .HasComment("Плановая механическая скорость, м/ч");

                    b.Property<double>("TopDriveSpeedLimitMax")
                        .HasColumnType("double precision")
                        .HasColumnName("top_drive_speed_limit_max")
                        .HasComment("Обороты на ВСП, допустимый максимум");

                    b.Property<double>("TopDriveSpeedPlan")
                        .HasColumnType("double precision")
                        .HasColumnName("top_drive_speed_plan")
                        .HasComment("Обороты на ВСП, план");

                    b.Property<double>("TopDriveTorqueLimitMax")
                        .HasColumnType("double precision")
                        .HasColumnName("top_drive_torque_limit_max")
                        .HasComment("Момент на ВСП, допустимый максимум");

                    b.Property<double>("TopDriveTorquePlan")
                        .HasColumnType("double precision")
                        .HasColumnName("top_drive_torque_plan")
                        .HasComment("Момент на ВСП, план");

                    b.Property<double>("UsageSaub")
                        .HasColumnType("double precision")
                        .HasColumnName("usage_saub")
                        .HasComment("Плановый процент использования АКБ");

                    b.Property<double>("UsageSpin")
                        .HasColumnType("double precision")
                        .HasColumnName("usage_spin")
                        .HasComment("Плановый процент использования spin master");

                    b.HasKey("Id");

                    b.HasIndex("IdWell");

                    b.HasIndex("IdWellSectionType");

                    b.ToTable("t_process_map");

                    b.HasComment("Операции по скважине – РТК");
                });

            modelBuilder.Entity("AsbCloudDb.Model.RelationCompanyWell", b =>
                {
                    b.Property<int>("IdCompany")
                        .HasColumnType("integer")
                        .HasColumnName("id_company");

                    b.Property<int>("IdWell")
                        .HasColumnType("integer")
                        .HasColumnName("id_well");

                    b.HasKey("IdCompany", "IdWell");

                    b.HasIndex("IdWell");

                    b.ToTable("t_relation_company_well");

                    b.HasComment("отношение скважин и компаний");
                });

            modelBuilder.Entity("AsbCloudDb.Model.RelationContactWell", b =>
                {
                    b.Property<int>("IdWell")
                        .HasColumnType("integer")
                        .HasColumnName("id_well");

                    b.Property<int>("IdUser")
                        .HasColumnType("integer")
                        .HasColumnName("id_user");

                    b.HasKey("IdWell", "IdUser");

                    b.HasIndex("IdUser");

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

            modelBuilder.Entity("AsbCloudDb.Model.RelationUserDrillingProgramPart", b =>
                {
                    b.Property<int>("IdUser")
                        .HasColumnType("integer")
                        .HasColumnName("id_user");

                    b.Property<int>("IdDrillingProgramPart")
                        .HasColumnType("integer")
                        .HasColumnName("id_drilling_program_part");

                    b.Property<int>("IdUserRole")
                        .HasColumnType("integer")
                        .HasColumnName("id_role")
                        .HasComment("1 - publisher, 2 - approver");

                    b.HasKey("IdUser", "IdDrillingProgramPart")
                        .HasName("t_relation_user_drilling_program_part_pk");

                    b.HasIndex("IdDrillingProgramPart");

                    b.ToTable("t_relation_user_drilling_program_part");

                    b.HasComment("Отношение пользователей и частей ПБ");
                });

            modelBuilder.Entity("AsbCloudDb.Model.RelationUserRolePermission", b =>
                {
                    b.Property<int>("IdUserRole")
                        .HasColumnType("integer")
                        .HasColumnName("id_user_role");

                    b.Property<int>("IdPermission")
                        .HasColumnType("integer")
                        .HasColumnName("id_permission");

                    b.HasKey("IdUserRole", "IdPermission");

                    b.HasIndex("IdPermission");

                    b.ToTable("t_relation_user_role_permission");

                    b.HasComment("Отношение ролей пользователей и разрешений доступа");

                    b.HasData(
                        new
                        {
                            IdUserRole = 1100,
                            IdPermission = 102
                        },
                        new
                        {
                            IdUserRole = 1100,
                            IdPermission = 111
                        },
                        new
                        {
                            IdUserRole = 1101,
                            IdPermission = 101
                        },
                        new
                        {
                            IdUserRole = 1101,
                            IdPermission = 100
                        },
                        new
                        {
                            IdUserRole = 1102,
                            IdPermission = 105
                        },
                        new
                        {
                            IdUserRole = 1102,
                            IdPermission = 108
                        },
                        new
                        {
                            IdUserRole = 1103,
                            IdPermission = 104
                        },
                        new
                        {
                            IdUserRole = 1103,
                            IdPermission = 103
                        },
                        new
                        {
                            IdUserRole = 1104,
                            IdPermission = 108
                        },
                        new
                        {
                            IdUserRole = 1105,
                            IdPermission = 107
                        },
                        new
                        {
                            IdUserRole = 1105,
                            IdPermission = 106
                        },
                        new
                        {
                            IdUserRole = 1106,
                            IdPermission = 111
                        },
                        new
                        {
                            IdUserRole = 1107,
                            IdPermission = 110
                        },
                        new
                        {
                            IdUserRole = 1107,
                            IdPermission = 109
                        },
                        new
                        {
                            IdUserRole = 1108,
                            IdPermission = 114
                        },
                        new
                        {
                            IdUserRole = 1109,
                            IdPermission = 113
                        },
                        new
                        {
                            IdUserRole = 1109,
                            IdPermission = 112
                        },
                        new
                        {
                            IdUserRole = 1110,
                            IdPermission = 123
                        },
                        new
                        {
                            IdUserRole = 1110,
                            IdPermission = 114
                        },
                        new
                        {
                            IdUserRole = 1111,
                            IdPermission = 122
                        },
                        new
                        {
                            IdUserRole = 1111,
                            IdPermission = 121
                        },
                        new
                        {
                            IdUserRole = 1112,
                            IdPermission = 117
                        },
                        new
                        {
                            IdUserRole = 1113,
                            IdPermission = 105
                        },
                        new
                        {
                            IdUserRole = 1113,
                            IdPermission = 123
                        },
                        new
                        {
                            IdUserRole = 1113,
                            IdPermission = 120
                        },
                        new
                        {
                            IdUserRole = 1114,
                            IdPermission = 119
                        },
                        new
                        {
                            IdUserRole = 1114,
                            IdPermission = 118
                        },
                        new
                        {
                            IdUserRole = 1114,
                            IdPermission = 200
                        },
                        new
                        {
                            IdUserRole = 1115,
                            IdPermission = 223
                        },
                        new
                        {
                            IdUserRole = 1116,
                            IdPermission = 105
                        },
                        new
                        {
                            IdUserRole = 1116,
                            IdPermission = 102
                        },
                        new
                        {
                            IdUserRole = 1116,
                            IdPermission = 117
                        },
                        new
                        {
                            IdUserRole = 1116,
                            IdPermission = 126
                        },
                        new
                        {
                            IdUserRole = 1117,
                            IdPermission = 125
                        },
                        new
                        {
                            IdUserRole = 1117,
                            IdPermission = 124
                        },
                        new
                        {
                            IdUserRole = 1200,
                            IdPermission = 203
                        },
                        new
                        {
                            IdUserRole = 1200,
                            IdPermission = 230
                        },
                        new
                        {
                            IdUserRole = 1201,
                            IdPermission = 202
                        },
                        new
                        {
                            IdUserRole = 1201,
                            IdPermission = 203
                        },
                        new
                        {
                            IdUserRole = 1201,
                            IdPermission = 220
                        },
                        new
                        {
                            IdUserRole = 1202,
                            IdPermission = 203
                        },
                        new
                        {
                            IdUserRole = 1202,
                            IdPermission = 220
                        },
                        new
                        {
                            IdUserRole = 1202,
                            IdPermission = 236
                        },
                        new
                        {
                            IdUserRole = 1202,
                            IdPermission = 212
                        },
                        new
                        {
                            IdUserRole = 1203,
                            IdPermission = 235
                        },
                        new
                        {
                            IdUserRole = 1204,
                            IdPermission = 202
                        },
                        new
                        {
                            IdUserRole = 1204,
                            IdPermission = 203
                        },
                        new
                        {
                            IdUserRole = 1205,
                            IdPermission = 215
                        },
                        new
                        {
                            IdUserRole = 1206,
                            IdPermission = 203
                        },
                        new
                        {
                            IdUserRole = 1206,
                            IdPermission = 206
                        },
                        new
                        {
                            IdUserRole = 1207,
                            IdPermission = 205
                        },
                        new
                        {
                            IdUserRole = 1208,
                            IdPermission = 218
                        },
                        new
                        {
                            IdUserRole = 1209,
                            IdPermission = 217
                        },
                        new
                        {
                            IdUserRole = 1210,
                            IdPermission = 203
                        },
                        new
                        {
                            IdUserRole = 1210,
                            IdPermission = 230
                        },
                        new
                        {
                            IdUserRole = 1210,
                            IdPermission = 219
                        },
                        new
                        {
                            IdUserRole = 1211,
                            IdPermission = 203
                        },
                        new
                        {
                            IdUserRole = 1211,
                            IdPermission = 220
                        },
                        new
                        {
                            IdUserRole = 1211,
                            IdPermission = 239
                        },
                        new
                        {
                            IdUserRole = 1212,
                            IdPermission = 238
                        },
                        new
                        {
                            IdUserRole = 1212,
                            IdPermission = 237
                        },
                        new
                        {
                            IdUserRole = 1213,
                            IdPermission = 203
                        },
                        new
                        {
                            IdUserRole = 1213,
                            IdPermission = 239
                        },
                        new
                        {
                            IdUserRole = 1213,
                            IdPermission = 212
                        },
                        new
                        {
                            IdUserRole = 1214,
                            IdPermission = 211
                        },
                        new
                        {
                            IdUserRole = 1214,
                            IdPermission = 210
                        },
                        new
                        {
                            IdUserRole = 1215,
                            IdPermission = 203
                        },
                        new
                        {
                            IdUserRole = 1215,
                            IdPermission = 222
                        },
                        new
                        {
                            IdUserRole = 1216,
                            IdPermission = 221
                        },
                        new
                        {
                            IdUserRole = 1217,
                            IdPermission = 226
                        },
                        new
                        {
                            IdUserRole = 1218,
                            IdPermission = 225
                        },
                        new
                        {
                            IdUserRole = 1218,
                            IdPermission = 224
                        },
                        new
                        {
                            IdUserRole = 1219,
                            IdPermission = 203
                        },
                        new
                        {
                            IdUserRole = 1219,
                            IdPermission = 206
                        },
                        new
                        {
                            IdUserRole = 1219,
                            IdPermission = 230
                        },
                        new
                        {
                            IdUserRole = 1219,
                            IdPermission = 232
                        },
                        new
                        {
                            IdUserRole = 1220,
                            IdPermission = 203
                        },
                        new
                        {
                            IdUserRole = 1220,
                            IdPermission = 228
                        },
                        new
                        {
                            IdUserRole = 1221,
                            IdPermission = 202
                        },
                        new
                        {
                            IdUserRole = 1221,
                            IdPermission = 203
                        },
                        new
                        {
                            IdUserRole = 1221,
                            IdPermission = 220
                        },
                        new
                        {
                            IdUserRole = 1221,
                            IdPermission = 234
                        },
                        new
                        {
                            IdUserRole = 1500,
                            IdPermission = 507
                        },
                        new
                        {
                            IdUserRole = 1500,
                            IdPermission = 510
                        },
                        new
                        {
                            IdUserRole = 1501,
                            IdPermission = 214
                        },
                        new
                        {
                            IdUserRole = 1501,
                            IdPermission = 213
                        },
                        new
                        {
                            IdUserRole = 1502,
                            IdPermission = 207
                        },
                        new
                        {
                            IdUserRole = 1502,
                            IdPermission = 208
                        },
                        new
                        {
                            IdUserRole = 2000,
                            IdPermission = 205
                        },
                        new
                        {
                            IdUserRole = 2000,
                            IdPermission = 204
                        },
                        new
                        {
                            IdUserRole = 2000,
                            IdPermission = 245
                        },
                        new
                        {
                            IdUserRole = 2001,
                            IdPermission = 244
                        },
                        new
                        {
                            IdUserRole = 2001,
                            IdPermission = 245
                        },
                        new
                        {
                            IdUserRole = 2002,
                            IdPermission = 244
                        },
                        new
                        {
                            IdUserRole = 2002,
                            IdPermission = 246
                        },
                        new
                        {
                            IdUserRole = 2002,
                            IdPermission = 237
                        },
                        new
                        {
                            IdUserRole = 2002,
                            IdPermission = 238
                        },
                        new
                        {
                            IdUserRole = 2003,
                            IdPermission = 240
                        },
                        new
                        {
                            IdUserRole = 2003,
                            IdPermission = 217
                        },
                        new
                        {
                            IdUserRole = 2003,
                            IdPermission = 216
                        },
                        new
                        {
                            IdUserRole = 2004,
                            IdPermission = 242
                        },
                        new
                        {
                            IdUserRole = 2004,
                            IdPermission = 217
                        },
                        new
                        {
                            IdUserRole = 2004,
                            IdPermission = 216
                        },
                        new
                        {
                            IdUserRole = 2004,
                            IdPermission = 205
                        },
                        new
                        {
                            IdUserRole = 2004,
                            IdPermission = 204
                        },
                        new
                        {
                            IdUserRole = 2005,
                            IdPermission = 247
                        },
                        new
                        {
                            IdUserRole = 2005,
                            IdPermission = 205
                        },
                        new
                        {
                            IdUserRole = 2005,
                            IdPermission = 204
                        },
                        new
                        {
                            IdUserRole = 2006,
                            IdPermission = 243
                        },
                        new
                        {
                            IdUserRole = 2006,
                            IdPermission = 205
                        },
                        new
                        {
                            IdUserRole = 2006,
                            IdPermission = 204
                        },
                        new
                        {
                            IdUserRole = 2007,
                            IdPermission = 241
                        },
                        new
                        {
                            IdUserRole = 2007,
                            IdPermission = 205
                        },
                        new
                        {
                            IdUserRole = 2007,
                            IdPermission = 204
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 100
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 101
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 102
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 103
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 104
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 105
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 106
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 107
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 108
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 109
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 110
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 111
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 112
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 113
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 114
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 115
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 116
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 117
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 118
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 119
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 120
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 121
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 122
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 123
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 124
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 125
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 126
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 127
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 128
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 129
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 200
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 201
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 202
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 203
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 204
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 205
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 206
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 207
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 208
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 209
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 210
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 211
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 212
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 213
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 214
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 215
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 216
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 217
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 218
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 219
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 220
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 221
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 222
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 223
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 224
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 225
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 226
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 227
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 228
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 229
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 230
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 231
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 232
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 233
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 234
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 235
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 236
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 237
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 238
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 239
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 240
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 241
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 242
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 243
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 244
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 245
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 246
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 247
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 248
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 249
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 250
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 251
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 252
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 253
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 254
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 255
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 256
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 257
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 258
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 259
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 260
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 261
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 262
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 263
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 264
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 265
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 266
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 267
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 268
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 269
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 380
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 381
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 382
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 383
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 384
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 385
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 386
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 387
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 388
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 389
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 390
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 391
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 400
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 401
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 407
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 408
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 450
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 460
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 461
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 500
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 501
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 502
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 503
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 504
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 505
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 506
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 507
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 510
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 511
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 512
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 513
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 514
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 515
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 516
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 517
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 518
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 519
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 520
                        },
                        new
                        {
                            IdUserRole = 1,
                            IdPermission = 521
                        });
                });

            modelBuilder.Entity("AsbCloudDb.Model.RelationUserRoleUserRole", b =>
                {
                    b.Property<int>("Id")
                        .HasColumnType("integer")
                        .HasColumnName("id_user_role");

                    b.Property<int>("IdInclude")
                        .HasColumnType("integer")
                        .HasColumnName("id_include_user_role");

                    b.HasKey("Id", "IdInclude")
                        .HasName("t_relation_user_role_user_role_pk");

                    b.HasIndex("IdInclude");

                    b.ToTable("t_relation_user_role_user_role");

                    b.HasComment("Отношение ролей к ролям");

                    b.HasData(
                        new
                        {
                            Id = 1101,
                            IdInclude = 1100
                        },
                        new
                        {
                            Id = 1103,
                            IdInclude = 1102
                        },
                        new
                        {
                            Id = 1105,
                            IdInclude = 1104
                        },
                        new
                        {
                            Id = 1107,
                            IdInclude = 1106
                        },
                        new
                        {
                            Id = 1109,
                            IdInclude = 1108
                        },
                        new
                        {
                            Id = 1111,
                            IdInclude = 1110
                        },
                        new
                        {
                            Id = 1114,
                            IdInclude = 1113
                        },
                        new
                        {
                            Id = 1117,
                            IdInclude = 1116
                        },
                        new
                        {
                            Id = 1203,
                            IdInclude = 1202
                        },
                        new
                        {
                            Id = 1207,
                            IdInclude = 1206
                        },
                        new
                        {
                            Id = 1209,
                            IdInclude = 1208
                        },
                        new
                        {
                            Id = 1212,
                            IdInclude = 1211
                        },
                        new
                        {
                            Id = 1214,
                            IdInclude = 1213
                        },
                        new
                        {
                            Id = 1216,
                            IdInclude = 1215
                        },
                        new
                        {
                            Id = 1218,
                            IdInclude = 1217
                        },
                        new
                        {
                            Id = 2000,
                            IdInclude = 1200
                        },
                        new
                        {
                            Id = 2000,
                            IdInclude = 1201
                        },
                        new
                        {
                            Id = 2000,
                            IdInclude = 1202
                        },
                        new
                        {
                            Id = 2000,
                            IdInclude = 1204
                        },
                        new
                        {
                            Id = 2000,
                            IdInclude = 1205
                        },
                        new
                        {
                            Id = 2000,
                            IdInclude = 1206
                        },
                        new
                        {
                            Id = 2000,
                            IdInclude = 1208
                        },
                        new
                        {
                            Id = 2000,
                            IdInclude = 1210
                        },
                        new
                        {
                            Id = 2000,
                            IdInclude = 1211
                        },
                        new
                        {
                            Id = 2000,
                            IdInclude = 1213
                        },
                        new
                        {
                            Id = 2000,
                            IdInclude = 1215
                        },
                        new
                        {
                            Id = 2000,
                            IdInclude = 1217
                        },
                        new
                        {
                            Id = 2000,
                            IdInclude = 1219
                        },
                        new
                        {
                            Id = 2000,
                            IdInclude = 1220
                        },
                        new
                        {
                            Id = 2000,
                            IdInclude = 1221
                        },
                        new
                        {
                            Id = 2000,
                            IdInclude = 1500
                        },
                        new
                        {
                            Id = 2000,
                            IdInclude = 1501
                        },
                        new
                        {
                            Id = 2000,
                            IdInclude = 1502
                        },
                        new
                        {
                            Id = 2001,
                            IdInclude = 1500
                        },
                        new
                        {
                            Id = 2001,
                            IdInclude = 1501
                        },
                        new
                        {
                            Id = 2001,
                            IdInclude = 1502
                        },
                        new
                        {
                            Id = 2002,
                            IdInclude = 1500
                        },
                        new
                        {
                            Id = 2002,
                            IdInclude = 1501
                        },
                        new
                        {
                            Id = 2002,
                            IdInclude = 1502
                        },
                        new
                        {
                            Id = 2003,
                            IdInclude = 1500
                        },
                        new
                        {
                            Id = 2003,
                            IdInclude = 1501
                        },
                        new
                        {
                            Id = 2003,
                            IdInclude = 1502
                        },
                        new
                        {
                            Id = 2004,
                            IdInclude = 1500
                        },
                        new
                        {
                            Id = 2004,
                            IdInclude = 1501
                        },
                        new
                        {
                            Id = 2004,
                            IdInclude = 1502
                        },
                        new
                        {
                            Id = 2005,
                            IdInclude = 1500
                        },
                        new
                        {
                            Id = 2005,
                            IdInclude = 1501
                        },
                        new
                        {
                            Id = 2005,
                            IdInclude = 1502
                        },
                        new
                        {
                            Id = 2006,
                            IdInclude = 1500
                        },
                        new
                        {
                            Id = 2006,
                            IdInclude = 1501
                        },
                        new
                        {
                            Id = 2006,
                            IdInclude = 1502
                        },
                        new
                        {
                            Id = 2007,
                            IdInclude = 1500
                        },
                        new
                        {
                            Id = 2007,
                            IdInclude = 1501
                        },
                        new
                        {
                            Id = 2007,
                            IdInclude = 1502
                        });
                });

            modelBuilder.Entity("AsbCloudDb.Model.RelationUserUserRole", b =>
                {
                    b.Property<int>("IdUser")
                        .HasColumnType("integer")
                        .HasColumnName("id_user");

                    b.Property<int>("IdUserRole")
                        .HasColumnType("integer")
                        .HasColumnName("id_user_role");

                    b.HasKey("IdUser", "IdUserRole");

                    b.HasIndex("IdUserRole");

                    b.ToTable("t_relation_user_user_role");

                    b.HasComment("Отношение пользователей и ролей");

                    b.HasData(
                        new
                        {
                            IdUser = 1,
                            IdUserRole = 1
                        });
                });

            modelBuilder.Entity("AsbCloudDb.Model.ReportProperty", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

                    b.Property<DateTimeOffset>("Begin")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("begin");

                    b.Property<DateTimeOffset>("End")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("end")
                        .HasComment("timestamp with time zone");

                    b.Property<int>("Format")
                        .HasColumnType("integer")
                        .HasColumnName("format")
                        .HasComment("Формат отчета");

                    b.Property<int>("IdFile")
                        .HasColumnType("integer")
                        .HasColumnName("id_file")
                        .HasComment("id файла-родителя");

                    b.Property<int>("IdWell")
                        .HasColumnType("integer")
                        .HasColumnName("id_well")
                        .HasComment("id скважины");

                    b.Property<int>("Step")
                        .HasColumnType("integer")
                        .HasColumnName("step")
                        .HasComment("размер шага в секундах");

                    b.HasKey("Id");

                    b.HasIndex("IdFile");

                    b.HasIndex("IdWell");

                    b.ToTable("t_report_property");

                    b.HasComment("Отчеты с данными по буровым");
                });

            modelBuilder.Entity("AsbCloudDb.Model.Schedule", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id")
                        .HasComment("Идентификатор");

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

                    b.Property<DateTimeOffset>("DrillEnd")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("drill_end")
                        .HasComment("Конец вахты");

                    b.Property<DateTimeOffset>("DrillStart")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("drill_start")
                        .HasComment("Начало вахты");

                    b.Property<int>("IdDriller")
                        .HasColumnType("integer")
                        .HasColumnName("id_driller")
                        .HasComment("Идентификатор бурильщика");

                    b.Property<int>("IdWell")
                        .HasColumnType("integer")
                        .HasColumnName("id_well")
                        .HasComment("Идентификатор скважины");

                    b.Property<TimeOnly>("ShiftEnd")
                        .HasColumnType("time without time zone")
                        .HasColumnName("shift_end")
                        .HasComment("Конец смены");

                    b.Property<TimeOnly>("ShiftStart")
                        .HasColumnType("time without time zone")
                        .HasColumnName("shift_start")
                        .HasComment("Начало смены");

                    b.HasKey("Id");

                    b.HasIndex("IdDriller");

                    b.HasIndex("IdWell");

                    b.ToTable("t_schedule");

                    b.HasComment("График работы бурильщика");
                });

            modelBuilder.Entity("AsbCloudDb.Model.SetpointsRequest", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

                    b.Property<string>("Comment")
                        .HasColumnType("text")
                        .HasColumnName("comment")
                        .HasComment("комментарий для оператора");

                    b.Property<int>("IdAuthor")
                        .HasColumnType("integer")
                        .HasColumnName("id_author")
                        .HasComment("Id пользователя, загрузившего файл");

                    b.Property<int>("IdState")
                        .HasColumnType("integer")
                        .HasColumnName("id_state")
                        .HasComment("0: неизвестно, 1:ожидает отправки, 2: отправлено, 3: принято оператором, 4: отклонено оператором, 5: устарело");

                    b.Property<int>("IdWell")
                        .HasColumnType("integer")
                        .HasColumnName("id_well")
                        .HasComment("id скважины");

                    b.Property<int>("ObsolescenceSec")
                        .HasColumnType("integer")
                        .HasColumnName("obsolescence")
                        .HasComment("сек. до устаревания");

                    b.Property<string>("Setpoints")
                        .IsRequired()
                        .HasColumnType("jsonb")
                        .HasColumnName("setpoint_set")
                        .HasComment("Набор уставок");

                    b.Property<DateTimeOffset>("UploadDate")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("date");

                    b.HasKey("Id");

                    b.HasIndex("IdAuthor");

                    b.HasIndex("IdWell");

                    b.ToTable("t_setpoints_rquest");

                    b.HasComment("Запросы на изменение уставок панели оператора");
                });

            modelBuilder.Entity("AsbCloudDb.Model.Subsystems.Subsystem", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

                    b.Property<string>("Description")
                        .HasMaxLength(255)
                        .HasColumnType("character varying(255)")
                        .HasColumnName("description");

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

                    b.HasKey("Id");

                    b.ToTable("t_subsystem");

                    b.HasComment("Описание подсистем");

                    b.HasData(
                        new
                        {
                            Id = 1,
                            Description = "Совместная работа режимов \"Бурение в роторе\" и \"Бурение в слайде\"",
                            Name = "АКБ"
                        },
                        new
                        {
                            Id = 2,
                            Description = "Алгоритм поиска оптимальных параметров бурения САУБ",
                            Name = "MSE"
                        },
                        new
                        {
                            Id = 65536,
                            Description = "Spin master",
                            Name = "Spin master"
                        },
                        new
                        {
                            Id = 65537,
                            Description = "Torque master",
                            Name = "Torque master"
                        });
                });

            modelBuilder.Entity("AsbCloudDb.Model.Subsystems.SubsystemOperationTime", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

                    b.Property<DateTimeOffset>("DateEnd")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("date_end")
                        .HasComment("дата/время выключения подсистемы");

                    b.Property<DateTimeOffset>("DateStart")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("date_start")
                        .HasComment("дата/время включения подсистемы");

                    b.Property<float?>("DepthEnd")
                        .HasColumnType("real")
                        .HasColumnName("depth_end")
                        .HasComment("глубина забоя на момент выключения подсистемы");

                    b.Property<float?>("DepthStart")
                        .HasColumnType("real")
                        .HasColumnName("depth_start")
                        .HasComment("глубина забоя на момент включения подсистемы");

                    b.Property<int>("IdSubsystem")
                        .HasColumnType("integer")
                        .HasColumnName("id_subsystem");

                    b.Property<int>("IdTelemetry")
                        .HasColumnType("integer")
                        .HasColumnName("id_telemetry")
                        .HasComment("ИД телеметрии по которой выдается информация");

                    b.HasKey("Id");

                    b.HasIndex("IdSubsystem");

                    b.HasIndex("IdTelemetry");

                    b.ToTable("t_subsystem_operation_time");

                    b.HasComment("наработки подсистем");
                });

            modelBuilder.Entity("AsbCloudDb.Model.Telemetry", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

                    b.Property<string>("Info")
                        .IsRequired()
                        .HasColumnType("jsonb")
                        .HasColumnName("info")
                        .HasComment("Информация с панели о скважине");

                    b.Property<string>("RemoteUid")
                        .IsRequired()
                        .HasColumnType("text")
                        .HasColumnName("remote_uid")
                        .HasComment("Идентификатор передающего устройства. Может повторяться в списке, так как комплекты оборудования переезжают от скв. к скв.");

                    b.Property<string>("TimeZone")
                        .IsRequired()
                        .HasColumnType("jsonb")
                        .HasColumnName("timezone")
                        .HasComment("Смещение часового пояса от UTC");

                    b.HasKey("Id");

                    b.HasIndex(new[] { "RemoteUid" }, "t_telemetry_remote_uid_index");

                    b.ToTable("t_telemetry");

                    b.HasComment("таблица привязки телеметрии от комплектов к конкретной скважине.");
                });

            modelBuilder.Entity("AsbCloudDb.Model.TelemetryDataSaub", b =>
                {
                    b.Property<int>("IdTelemetry")
                        .HasColumnType("integer")
                        .HasColumnName("id_telemetry");

                    b.Property<DateTimeOffset>("DateTime")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("date")
                        .HasComment("'2021-10-19 18:23:54+05'");

                    b.Property<float?>("AxialLoad")
                        .HasColumnType("real")
                        .HasColumnName("axial_load")
                        .HasComment("Осевая нагрузка");

                    b.Property<float?>("AxialLoadLimitMax")
                        .HasColumnType("real")
                        .HasColumnName("axial_load_limit_max")
                        .HasComment("Осевая нагрузка. Аварийная макс.");

                    b.Property<float?>("AxialLoadSp")
                        .HasColumnType("real")
                        .HasColumnName("axial_load_sp")
                        .HasComment("Осевая нагрузка. Задание");

                    b.Property<float?>("BitDepth")
                        .HasColumnType("real")
                        .HasColumnName("bit_depth")
                        .HasComment("Положение инструмента");

                    b.Property<float?>("BlockPosition")
                        .HasColumnType("real")
                        .HasColumnName("block_position")
                        .HasComment("Высота талевого блока");

                    b.Property<float?>("BlockPositionMax")
                        .HasColumnType("real")
                        .HasColumnName("block_position_max")
                        .HasComment("Талевый блок. Макс положение");

                    b.Property<float?>("BlockPositionMin")
                        .HasColumnType("real")
                        .HasColumnName("block_position_min")
                        .HasComment("Талевый блок. Мин положение");

                    b.Property<float?>("BlockSpeed")
                        .HasColumnType("real")
                        .HasColumnName("block_speed")
                        .HasComment("Скорость талевого блока");

                    b.Property<float?>("BlockSpeedSp")
                        .HasColumnType("real")
                        .HasColumnName("block_speed_sp")
                        .HasComment("Скорости талевого блока. Задание");

                    b.Property<float?>("BlockSpeedSpDevelop")
                        .HasColumnType("real")
                        .HasColumnName("block_speed_sp_develop")
                        .HasComment("Талевый блок. Задание скорости для проработки");

                    b.Property<float?>("BlockSpeedSpRotor")
                        .HasColumnType("real")
                        .HasColumnName("block_speed_sp_rotor")
                        .HasComment("Талевый блок. Задание скорости для роторного бурения");

                    b.Property<float?>("BlockSpeedSpSlide")
                        .HasColumnType("real")
                        .HasColumnName("block_speed_sp_slide")
                        .HasComment("Талевый блок. Задание скорости для режима слайда");

                    b.Property<float?>("Flow")
                        .HasColumnType("real")
                        .HasColumnName("flow")
                        .HasComment("Расход");

                    b.Property<float?>("FlowDeltaLimitMax")
                        .HasColumnType("real")
                        .HasColumnName("flow_delta_limit_max")
                        .HasComment("Расход. Аварийный макс.");

                    b.Property<float?>("FlowIdle")
                        .HasColumnType("real")
                        .HasColumnName("flow_idle")
                        .HasComment("Расход. Холостой ход");

                    b.Property<float?>("HookWeight")
                        .HasColumnType("real")
                        .HasColumnName("hook_weight")
                        .HasComment("Вес на крюке");

                    b.Property<float?>("HookWeightIdle")
                        .HasColumnType("real")
                        .HasColumnName("hook_weight_idle")
                        .HasComment("Вес на крюке. Холостой ход");

                    b.Property<float?>("HookWeightLimitMax")
                        .HasColumnType("real")
                        .HasColumnName("hook_weight_limit_max")
                        .HasComment("Вес на крюке. Затяжка");

                    b.Property<float?>("HookWeightLimitMin")
                        .HasColumnType("real")
                        .HasColumnName("hook_weight_limit_min")
                        .HasComment("Вес на крюке. Посадка");

                    b.Property<short?>("IdFeedRegulator")
                        .HasColumnType("smallint")
                        .HasColumnName("id_feed_regulator")
                        .HasComment("Текущий критерий бурения");

                    b.Property<int?>("IdUser")
                        .HasColumnType("integer")
                        .HasColumnName("id_user")
                        .HasComment("Пользователь САУБ");

                    b.Property<short?>("Mode")
                        .HasColumnType("smallint")
                        .HasColumnName("mode")
                        .HasComment("Режим САУБ");

                    b.Property<float?>("Mse")
                        .HasColumnType("real")
                        .HasColumnName("mse")
                        .HasComment("MSE");

                    b.Property<short?>("MseState")
                        .HasColumnType("smallint")
                        .HasColumnName("mse_state")
                        .HasComment("Текущее состояние работы MSE");

                    b.Property<float?>("Pressure")
                        .HasColumnType("real")
                        .HasColumnName("pressure")
                        .HasComment("Давление");

                    b.Property<float?>("PressureDeltaLimitMax")
                        .HasColumnType("real")
                        .HasColumnName("pressure_delta_limit_max")
                        .HasComment("Давление дифф. Аварийное макс.");

                    b.Property<float?>("PressureIdle")
                        .HasColumnType("real")
                        .HasColumnName("pressure_idle")
                        .HasComment("Давление. Холостой ход");

                    b.Property<float?>("PressureSp")
                        .HasColumnType("real")
                        .HasColumnName("pressure_sp")
                        .HasComment("Давление. Задание");

                    b.Property<float?>("PressureSpDevelop")
                        .HasColumnType("real")
                        .HasColumnName("pressure_sp_develop")
                        .HasComment("Давление. Задание для проработки");

                    b.Property<float?>("PressureSpRotor")
                        .HasColumnType("real")
                        .HasColumnName("pressure_sp_rotor")
                        .HasComment("Давление. Задание для роторного бурения");

                    b.Property<float?>("PressureSpSlide")
                        .HasColumnType("real")
                        .HasColumnName("pressure_sp_slide")
                        .HasComment("Давление. Задание для режима слайда");

                    b.Property<float?>("Pump0Flow")
                        .HasColumnType("real")
                        .HasColumnName("pump0_flow")
                        .HasComment("Расход. Буровой насос 1");

                    b.Property<float?>("Pump1Flow")
                        .HasColumnType("real")
                        .HasColumnName("pump1_flow")
                        .HasComment("Расход. Буровой насос 2");

                    b.Property<float?>("Pump2Flow")
                        .HasColumnType("real")
                        .HasColumnName("pump2_flow")
                        .HasComment("Расход. Буровой насос 3");

                    b.Property<float?>("RotorSpeed")
                        .HasColumnType("real")
                        .HasColumnName("rotor_speed")
                        .HasComment("Обороты ротора");

                    b.Property<float?>("RotorTorque")
                        .HasColumnType("real")
                        .HasColumnName("rotor_torque")
                        .HasComment("Момент на роторе");

                    b.Property<float?>("RotorTorqueIdle")
                        .HasColumnType("real")
                        .HasColumnName("rotor_torque_idle")
                        .HasComment("Момент на роторе. Холостой ход");

                    b.Property<float?>("RotorTorqueLimitMax")
                        .HasColumnType("real")
                        .HasColumnName("rotor_torque_limit_max")
                        .HasComment("Момент на роторе. Аварийный макс.");

                    b.Property<float?>("RotorTorqueSp")
                        .HasColumnType("real")
                        .HasColumnName("rotor_torque_sp")
                        .HasComment("Момент на роторе. Задание");

                    b.Property<float?>("WellDepth")
                        .HasColumnType("real")
                        .HasColumnName("well_depth")
                        .HasComment("Глубина забоя");

                    b.HasKey("IdTelemetry", "DateTime");

                    b.ToTable("t_telemetry_data_saub");

                    b.HasComment("набор основных данных по SAUB");
                });

            modelBuilder.Entity("AsbCloudDb.Model.TelemetryDataSaubStat", b =>
                {
                    b.Property<long?>("Count")
                        .HasColumnType("bigint")
                        .HasColumnName("count_items");

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

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

                    b.Property<float?>("DepthMax")
                        .HasColumnType("real")
                        .HasColumnName("depth_max");

                    b.Property<float?>("DepthMin")
                        .HasColumnType("real")
                        .HasColumnName("depth_min");

                    b.Property<int>("IdTelemetry")
                        .HasColumnType("integer")
                        .HasColumnName("id_telemetry");

                    b.ToView("mw_telemetry_datas_saub_stat");
                });

            modelBuilder.Entity("AsbCloudDb.Model.TelemetryDataSpin", b =>
                {
                    b.Property<int>("IdTelemetry")
                        .HasColumnType("integer")
                        .HasColumnName("id_telemetry");

                    b.Property<DateTimeOffset>("DateTime")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("date")
                        .HasComment("'2021-10-19 18:23:54+05'");

                    b.Property<short?>("Mode")
                        .HasColumnType("smallint")
                        .HasColumnName("mode")
                        .HasComment("Выбранный режим управления");

                    b.Property<float?>("PositionRight")
                        .HasColumnType("real")
                        .HasColumnName("position_right")
                        .HasComment("Крайний правый угол осцилляции");

                    b.Property<float?>("PositionZero")
                        .HasColumnType("real")
                        .HasColumnName("position_zero")
                        .HasComment("Нулевая позиция осцилляции");

                    b.Property<float?>("RevolsLeftLimit")
                        .HasColumnType("real")
                        .HasColumnName("revols_left_limit")
                        .HasComment("Ограничение числа оборотов влево");

                    b.Property<float?>("RevolsLeftTotal")
                        .HasColumnType("real")
                        .HasColumnName("revols_left_total")
                        .HasComment("Суммарное количество оборотов влево");

                    b.Property<float?>("RevolsRightLimit")
                        .HasColumnType("real")
                        .HasColumnName("revols_right_limit")
                        .HasComment("Ограничение числа оборотов вправо");

                    b.Property<float?>("RevolsRightTotal")
                        .HasColumnType("real")
                        .HasColumnName("revols_right_total")
                        .HasComment("Суммарное количество оборотов вправо");

                    b.Property<float?>("SpeedLeftSp")
                        .HasColumnType("real")
                        .HasColumnName("speed_left_sp")
                        .HasComment("Заданная скорость вращения влево");

                    b.Property<float?>("SpeedRightSp")
                        .HasColumnType("real")
                        .HasColumnName("speed_right_sp")
                        .HasComment("Заданная скорость вращения вправо");

                    b.Property<short?>("State")
                        .HasColumnType("smallint")
                        .HasColumnName("state")
                        .HasComment("Переменная этапа");

                    b.HasKey("IdTelemetry", "DateTime");

                    b.ToTable("t_telemetry_data_spin");

                    b.HasComment("набор основных данных по SpinMaster");
                });

            modelBuilder.Entity("AsbCloudDb.Model.TelemetryEvent", b =>
                {
                    b.Property<int>("IdTelemetry")
                        .HasColumnType("integer")
                        .HasColumnName("id_telemetry");

                    b.Property<int>("IdEvent")
                        .HasColumnType("integer")
                        .HasColumnName("id_event");

                    b.Property<int>("IdCategory")
                        .HasColumnType("integer")
                        .HasColumnName("id_category");

                    b.Property<string>("MessageTemplate")
                        .IsRequired()
                        .HasColumnType("text")
                        .HasColumnName("message_template");

                    b.HasKey("IdTelemetry", "IdEvent");

                    b.ToTable("t_telemetry_event");

                    b.HasComment("Справочник событий. События формируют сообщения. Разделено по версиям посылок от телеметрии.");
                });

            modelBuilder.Entity("AsbCloudDb.Model.TelemetryMessage", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

                    b.Property<string>("Arg0")
                        .HasMaxLength(255)
                        .HasColumnType("character varying(255)")
                        .HasColumnName("arg0")
                        .HasComment("Аргумент №0 для вставки в шаблон сообщения");

                    b.Property<string>("Arg1")
                        .HasMaxLength(255)
                        .HasColumnType("character varying(255)")
                        .HasColumnName("arg1");

                    b.Property<string>("Arg2")
                        .HasMaxLength(255)
                        .HasColumnType("character varying(255)")
                        .HasColumnName("arg2");

                    b.Property<string>("Arg3")
                        .HasMaxLength(255)
                        .HasColumnType("character varying(255)")
                        .HasColumnName("arg3");

                    b.Property<DateTimeOffset>("DateTime")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("date");

                    b.Property<int>("IdEvent")
                        .HasColumnType("integer")
                        .HasColumnName("id_event");

                    b.Property<int>("IdTelemetry")
                        .HasColumnType("integer")
                        .HasColumnName("id_telemetry");

                    b.Property<int?>("IdTelemetryUser")
                        .HasColumnType("integer")
                        .HasColumnName("id_telemetry_user")
                        .HasComment("Пользователь панели отправляющей телеметрию. не пользователь облака.");

                    b.Property<double>("WellDepth")
                        .HasColumnType("double precision")
                        .HasColumnName("well_depth");

                    b.HasKey("Id");

                    b.HasIndex("IdTelemetry");

                    b.ToTable("t_telemetry_message");

                    b.HasComment("Сообщения на буровых");
                });

            modelBuilder.Entity("AsbCloudDb.Model.TelemetryUser", b =>
                {
                    b.Property<int>("IdTelemetry")
                        .HasColumnType("integer")
                        .HasColumnName("id_telemetry");

                    b.Property<int>("IdUser")
                        .HasColumnType("integer")
                        .HasColumnName("id_user");

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

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

                    b.Property<string>("Patronymic")
                        .HasMaxLength(255)
                        .HasColumnType("character varying(255)")
                        .HasColumnName("patronymic");

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

                    b.HasKey("IdTelemetry", "IdUser");

                    b.ToTable("t_telemetry_user");

                    b.HasComment("Пользователи панели САУБ. Для сообщений.");
                });

            modelBuilder.Entity("AsbCloudDb.Model.TelemetryWirelineRunOut", b =>
                {
                    b.Property<int>("IdTelemetry")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id_telemetry")
                        .HasComment("Идентификатор телеметрии");

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

                    b.Property<DateTimeOffset>("DateTime")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("date_time")
                        .HasComment("Отметка времени");

                    b.Property<float>("Hauling")
                        .HasColumnType("real")
                        .HasColumnName("hauling")
                        .HasComment("Наработка талевого каната с момента перетяжки каната, т*км");

                    b.Property<float>("HaulingWarnSp")
                        .HasColumnType("real")
                        .HasColumnName("hauling_warn_sp")
                        .HasComment("Наработка талевого каната до сигнализации о необходимости перетяжки, т*км");

                    b.Property<float>("Replace")
                        .HasColumnType("real")
                        .HasColumnName("replace")
                        .HasComment("Наработка талевого каната с момента замены каната, т*км");

                    b.Property<float>("ReplaceWarnSp")
                        .HasColumnType("real")
                        .HasColumnName("replace_warn_sp")
                        .HasComment("Наработка талевого каната до сигнализации о необходимости замены, т*км");

                    b.HasKey("IdTelemetry");

                    b.ToTable("t_telemetry_wireline_run_out");

                    b.HasComment("Наработка талевого каната");
                });

            modelBuilder.Entity("AsbCloudDb.Model.User", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

                    b.Property<string>("Email")
                        .IsRequired()
                        .HasMaxLength(255)
                        .HasColumnType("character varying(255)")
                        .HasColumnName("email")
                        .HasComment("должность");

                    b.Property<int>("IdCompany")
                        .HasColumnType("integer")
                        .HasColumnName("id_company");

                    b.Property<short?>("IdState")
                        .HasColumnType("smallint")
                        .HasColumnName("state")
                        .HasComment("состояние:\n100 - удален");

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

                    b.Property<string>("Name")
                        .HasMaxLength(255)
                        .HasColumnType("character varying(255)")
                        .HasColumnName("name")
                        .HasComment("имя");

                    b.Property<string>("PasswordHash")
                        .IsRequired()
                        .HasMaxLength(255)
                        .HasColumnType("character varying(255)")
                        .HasColumnName("password_hash")
                        .HasComment("соленый хэш пароля.\nпервые 5 символов - соль");

                    b.Property<string>("Patronymic")
                        .HasMaxLength(255)
                        .HasColumnType("character varying(255)")
                        .HasColumnName("patronymic")
                        .HasComment("отчество");

                    b.Property<string>("Phone")
                        .HasMaxLength(50)
                        .HasColumnType("character varying(50)")
                        .HasColumnName("phone")
                        .HasComment("номер телефона");

                    b.Property<string>("Position")
                        .HasMaxLength(255)
                        .HasColumnType("character varying(255)")
                        .HasColumnName("position")
                        .HasComment("email");

                    b.Property<string>("Surname")
                        .HasMaxLength(255)
                        .HasColumnType("character varying(255)")
                        .HasColumnName("surname")
                        .HasComment("фамилия");

                    b.HasKey("Id");

                    b.HasIndex("IdCompany");

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

                    b.ToTable("t_user");

                    b.HasComment("Пользователи облака");

                    b.HasData(
                        new
                        {
                            Id = 1,
                            Email = "",
                            IdCompany = 1,
                            Login = "dev",
                            Name = "Разработчик",
                            PasswordHash = "Vlcj|4fa529103dde7ff72cfe76185f344d4aa87931f8e1b2044e8a7739947c3d18923464eaad93843e4f809c5e126d013072"
                        });
                });

            modelBuilder.Entity("AsbCloudDb.Model.UserRole", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

                    b.Property<string>("Caption")
                        .IsRequired()
                        .HasMaxLength(255)
                        .HasColumnType("character varying(255)")
                        .HasColumnName("caption")
                        .HasComment("Название");

                    b.Property<int>("IdType")
                        .HasColumnType("integer")
                        .HasColumnName("id_type")
                        .HasComment("0-роль из стандартной матрицы, \n1-специальная роль для какого-либо пользователя");

                    b.HasKey("Id");

                    b.ToTable("t_user_role");

                    b.HasComment("Роли пользователей в системе");

                    b.HasData(
                        new
                        {
                            Id = 1,
                            Caption = "root",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1100,
                            Caption = "admin_cluster.view",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1101,
                            Caption = "admin_cluster.edit",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1102,
                            Caption = "admin_company.view",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1103,
                            Caption = "admin_company.edit",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1104,
                            Caption = "admin_company_type.view",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1105,
                            Caption = "admin_company_type.edit",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1106,
                            Caption = "admin_deposit.view",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1107,
                            Caption = "admin_deposit.edit",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1108,
                            Caption = "admin_permission.view",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1109,
                            Caption = "admin_permission.edit",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1110,
                            Caption = "admin_role.view",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1111,
                            Caption = "admin_role.edit",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1112,
                            Caption = "admin_telemetry.view",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1113,
                            Caption = "admin_user.view",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1114,
                            Caption = "admin_user.edit",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1115,
                            Caption = "admin_visit_log.view",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1116,
                            Caption = "admin_well.view",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1117,
                            Caption = "admin_well.edit",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1200,
                            Caption = "archive.view",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1201,
                            Caption = "cluster.view",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1202,
                            Caption = "composite.view",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1203,
                            Caption = "composite.edit",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1204,
                            Caption = "deposit.view",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1205,
                            Caption = "document.view",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1206,
                            Caption = "drillProcessFlow.view",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1207,
                            Caption = "drillProcessFlow.edit",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1208,
                            Caption = "measure.view",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1209,
                            Caption = "measure.edit",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1210,
                            Caption = "message.view",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1211,
                            Caption = "operations.view",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1212,
                            Caption = "operations.edit",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1213,
                            Caption = "params.view",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1214,
                            Caption = "params.edit",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1215,
                            Caption = "report.view",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1216,
                            Caption = "report.edit",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1217,
                            Caption = "setpoints.view",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1218,
                            Caption = "setpoints.edit",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1219,
                            Caption = "telemetry.view",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1220,
                            Caption = "telemetryAnalysis.view",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1221,
                            Caption = "well.view",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1500,
                            Caption = "Просмотр всего",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1501,
                            Caption = "file.edit",
                            IdType = 1
                        },
                        new
                        {
                            Id = 1502,
                            Caption = "drillingProgram.edit",
                            IdType = 1
                        },
                        new
                        {
                            Id = 2000,
                            Caption = "Заказчик",
                            IdType = 0
                        },
                        new
                        {
                            Id = 2001,
                            Caption = "Супервайзер",
                            IdType = 0
                        },
                        new
                        {
                            Id = 2002,
                            Caption = "Буровой  подрядчик",
                            IdType = 0
                        },
                        new
                        {
                            Id = 2003,
                            Caption = "Растворщик",
                            IdType = 0
                        },
                        new
                        {
                            Id = 2004,
                            Caption = "Телеметрист",
                            IdType = 0
                        },
                        new
                        {
                            Id = 2005,
                            Caption = "Долотный сервис",
                            IdType = 0
                        },
                        new
                        {
                            Id = 2006,
                            Caption = "ГТИ",
                            IdType = 0
                        },
                        new
                        {
                            Id = 2007,
                            Caption = "Цементирование",
                            IdType = 0
                        });
                });

            modelBuilder.Entity("AsbCloudDb.Model.UserSetting", b =>
                {
                    b.Property<int>("IdUser")
                        .HasColumnType("integer")
                        .HasColumnName("id_user");

                    b.Property<string>("Key")
                        .HasMaxLength(255)
                        .HasColumnType("character varying(255)")
                        .HasColumnName("key")
                        .HasComment("Ключ настроек пользователя");

                    b.Property<JsonDocument>("Value")
                        .HasColumnType("jsonb")
                        .HasColumnName("setting_value")
                        .HasComment("Значение настроек пользователя");

                    b.HasKey("IdUser", "Key");

                    b.ToTable("t_user_settings");

                    b.HasComment("настройки интерфейса пользователя");
                });

            modelBuilder.Entity("AsbCloudDb.Model.Well", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

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

                    b.Property<int>("IdCluster")
                        .HasColumnType("integer")
                        .HasColumnName("id_cluster");

                    b.Property<int>("IdState")
                        .HasColumnType("integer")
                        .HasColumnName("state")
                        .HasComment("0 - неизвестно, 1 - в работе, 2 - завершена");

                    b.Property<int?>("IdTelemetry")
                        .HasColumnType("integer")
                        .HasColumnName("id_telemetry");

                    b.Property<int>("IdWellType")
                        .HasColumnType("integer")
                        .HasColumnName("id_well_type");

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

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

                    b.Property<string>("Timezone")
                        .IsRequired()
                        .HasColumnType("jsonb")
                        .HasColumnName("timezone")
                        .HasComment("Смещение часового пояса от UTC");

                    b.HasKey("Id");

                    b.HasIndex("IdCluster");

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

                    b.HasIndex("IdWellType");

                    b.ToTable("t_well");

                    b.HasComment("скважины");
                });

            modelBuilder.Entity("AsbCloudDb.Model.WellComposite", b =>
                {
                    b.Property<int>("IdWell")
                        .HasColumnType("integer")
                        .HasColumnName("id_well")
                        .HasComment("Id скважины получателя");

                    b.Property<int>("IdWellSrc")
                        .HasColumnType("integer")
                        .HasColumnName("id_well_src")
                        .HasComment("Id скважины композита");

                    b.Property<int>("IdWellSectionType")
                        .HasColumnType("integer")
                        .HasColumnName("id_well_section_type")
                        .HasComment("Id тип секции композита");

                    b.HasKey("IdWell", "IdWellSrc", "IdWellSectionType");

                    b.HasIndex("IdWellSectionType");

                    b.HasIndex("IdWellSrc");

                    b.ToTable("t_well_composite");

                    b.HasComment("Композитная скважина");
                });

            modelBuilder.Entity("AsbCloudDb.Model.WellFinalDocument", b =>
                {
                    b.Property<int>("IdWell")
                        .HasColumnType("integer")
                        .HasColumnName("id_well");

                    b.Property<int>("IdUser")
                        .HasColumnType("integer")
                        .HasColumnName("id_user");

                    b.Property<int>("IdCategory")
                        .HasColumnType("integer")
                        .HasColumnName("id_category");

                    b.HasKey("IdWell", "IdUser", "IdCategory")
                        .HasName("t_well_final_documents_pk");

                    b.HasIndex("IdCategory");

                    b.HasIndex("IdUser");

                    b.ToTable("t_well_final_documents");

                    b.HasComment("Дело скважины");
                });

            modelBuilder.Entity("AsbCloudDb.Model.WellOperation", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

                    b.Property<string>("CategoryInfo")
                        .HasColumnType("text")
                        .HasColumnName("category_info")
                        .HasComment("Доп. информация к выбраной категории");

                    b.Property<string>("Comment")
                        .HasColumnType("text")
                        .HasColumnName("comment")
                        .HasComment("Комментарий");

                    b.Property<DateTimeOffset>("DateStart")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("date_start")
                        .HasComment("Дата начала операции");

                    b.Property<double>("DepthEnd")
                        .HasColumnType("double precision")
                        .HasColumnName("depth_end")
                        .HasComment("Глубина после завершения операции, м");

                    b.Property<double>("DepthStart")
                        .HasColumnType("double precision")
                        .HasColumnName("depth_start")
                        .HasComment("Глубина на начало операции, м");

                    b.Property<double>("DurationHours")
                        .HasColumnType("double precision")
                        .HasColumnName("duration_hours")
                        .HasComment("Продолжительность, часы");

                    b.Property<int>("IdCategory")
                        .HasColumnType("integer")
                        .HasColumnName("id_category")
                        .HasComment("Id категории операции");

                    b.Property<int?>("IdPlan")
                        .HasColumnType("integer")
                        .HasColumnName("id_plan")
                        .HasComment("Id плановой операции");

                    b.Property<int>("IdType")
                        .HasColumnType("integer")
                        .HasColumnName("id_type")
                        .HasComment("0 = План или 1 = Факт");

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

                    b.Property<int>("IdWell")
                        .HasColumnType("integer")
                        .HasColumnName("id_well")
                        .HasComment("Id скважины");

                    b.Property<int>("IdWellSectionType")
                        .HasColumnType("integer")
                        .HasColumnName("id_well_section_type")
                        .HasComment("Id тип секции скважины");

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

                    b.HasKey("Id");

                    b.HasIndex("DateStart");

                    b.HasIndex("DepthEnd");

                    b.HasIndex("IdCategory");

                    b.HasIndex("IdPlan");

                    b.HasIndex("IdWell");

                    b.HasIndex("IdWellSectionType");

                    b.ToTable("t_well_operation");

                    b.HasComment("Данные по операциям на скважине");
                });

            modelBuilder.Entity("AsbCloudDb.Model.WellOperationCategory", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

                    b.Property<int?>("IdParent")
                        .HasColumnType("integer")
                        .HasColumnName("id_parent")
                        .HasComment("id родительской категории");

                    b.Property<string>("KeyValueName")
                        .HasMaxLength(32)
                        .HasColumnType("character varying(32)")
                        .HasColumnName("key_value_name")
                        .HasComment("Название ключевого показателя операции");

                    b.Property<string>("KeyValueUnits")
                        .HasMaxLength(16)
                        .HasColumnType("character varying(16)")
                        .HasColumnName("key_value_units")
                        .HasComment("Единицы измерения ключевого показателя операции");

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("text")
                        .HasColumnName("name")
                        .HasComment("Название категории операции");

                    b.HasKey("Id");

                    b.HasIndex("IdParent");

                    b.ToTable("t_well_operation_category");

                    b.HasComment("Справочник операций на скважине");

                    b.HasData(
                        new
                        {
                            Id = 3000,
                            KeyValueName = "dT",
                            KeyValueUnits = "м/ч",
                            Name = "БУРЕНИЕ"
                        },
                        new
                        {
                            Id = 3001,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "СПО"
                        },
                        new
                        {
                            Id = 3002,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "КРЕПЛЕНИЕ"
                        },
                        new
                        {
                            Id = 3003,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "ГФР"
                        },
                        new
                        {
                            Id = 3004,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Вспомогательные операции"
                        },
                        new
                        {
                            Id = 3005,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Непроизводительное время (НПВ)"
                        },
                        new
                        {
                            Id = 4000,
                            IdParent = 3000,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "КНБК"
                        },
                        new
                        {
                            Id = 4001,
                            IdParent = 3000,
                            KeyValueName = "dT",
                            KeyValueUnits = "м/ч",
                            Name = "Механическое. бурение"
                        },
                        new
                        {
                            Id = 4002,
                            IdParent = 3000,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Статический замер"
                        },
                        new
                        {
                            Id = 4003,
                            IdParent = 3000,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Нормализация диаметра скважины"
                        },
                        new
                        {
                            Id = 4004,
                            IdParent = 3000,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Наращивание"
                        },
                        new
                        {
                            Id = 4005,
                            IdParent = 3001,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "СПО"
                        },
                        new
                        {
                            Id = 4006,
                            IdParent = 3002,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Спуск обсадной колонны"
                        },
                        new
                        {
                            Id = 4007,
                            IdParent = 3002,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Цементирование"
                        },
                        new
                        {
                            Id = 4008,
                            IdParent = 3002,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Вспомогательные работы при креплении"
                        },
                        new
                        {
                            Id = 4009,
                            IdParent = 3003,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Сборка/разборка приборов ГИС"
                        },
                        new
                        {
                            Id = 4010,
                            IdParent = 3003,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "СПО"
                        },
                        new
                        {
                            Id = 4011,
                            IdParent = 3003,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "ГИС"
                        },
                        new
                        {
                            Id = 4012,
                            IdParent = 3004,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Промывка, ОБР"
                        },
                        new
                        {
                            Id = 4013,
                            IdParent = 3004,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Вспомогательные работы"
                        },
                        new
                        {
                            Id = 4014,
                            IdParent = 3005,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Ремонт оборудования"
                        },
                        new
                        {
                            Id = 4015,
                            IdParent = 3005,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Аварийные работы"
                        },
                        new
                        {
                            Id = 4016,
                            IdParent = 3005,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Осложнение"
                        },
                        new
                        {
                            Id = 4017,
                            IdParent = 3005,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Незаложенные в ГГД операции"
                        },
                        new
                        {
                            Id = 5000,
                            IdParent = 4000,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Разборка КНБК"
                        },
                        new
                        {
                            Id = 5001,
                            IdParent = 4000,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Сборка КНБК"
                        },
                        new
                        {
                            Id = 5002,
                            IdParent = 4001,
                            KeyValueName = "МСП",
                            KeyValueUnits = "м/ч",
                            Name = "Бурение слайдом"
                        },
                        new
                        {
                            Id = 5003,
                            IdParent = 4001,
                            KeyValueName = "МСП",
                            KeyValueUnits = "м/ч",
                            Name = "Бурение ротором"
                        },
                        new
                        {
                            Id = 5004,
                            IdParent = 4002,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Замер ЗТС (запись MWD)"
                        },
                        new
                        {
                            Id = 5005,
                            IdParent = 4003,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Промывка перед наращиванием"
                        },
                        new
                        {
                            Id = 5006,
                            IdParent = 4003,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Проработка во время бурения"
                        },
                        new
                        {
                            Id = 5007,
                            IdParent = 4003,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Проработка перед наращиванием"
                        },
                        new
                        {
                            Id = 5008,
                            IdParent = 4003,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Шаблонировка во время бурения"
                        },
                        new
                        {
                            Id = 5009,
                            IdParent = 4003,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Шаблонировка перед наращиванием"
                        },
                        new
                        {
                            Id = 5010,
                            IdParent = 4004,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Наращивание"
                        },
                        new
                        {
                            Id = 5011,
                            IdParent = 4004,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Удержание в клиньях"
                        },
                        new
                        {
                            Id = 5012,
                            IdParent = 4005,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Подъем инструмента"
                        },
                        new
                        {
                            Id = 5013,
                            IdParent = 4005,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Подъем КНБК"
                        },
                        new
                        {
                            Id = 5014,
                            IdParent = 4005,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Спуск инструмента"
                        },
                        new
                        {
                            Id = 5015,
                            IdParent = 4005,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Спуск КНБК"
                        },
                        new
                        {
                            Id = 5016,
                            IdParent = 4006,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Промывка при спуске ОК"
                        },
                        new
                        {
                            Id = 5017,
                            IdParent = 4006,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Спуск ОК"
                        },
                        new
                        {
                            Id = 5018,
                            IdParent = 4007,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "ОЗЦ"
                        },
                        new
                        {
                            Id = 5019,
                            IdParent = 4007,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Цементирование"
                        },
                        new
                        {
                            Id = 5020,
                            IdParent = 4008,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Опрессовка БИ"
                        },
                        new
                        {
                            Id = 5021,
                            IdParent = 4008,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Опрессовка ОК"
                        },
                        new
                        {
                            Id = 5022,
                            IdParent = 4008,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "ПЗР при спуске ОК"
                        },
                        new
                        {
                            Id = 5023,
                            IdParent = 4008,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "ПЗР при цементировании"
                        },
                        new
                        {
                            Id = 5024,
                            IdParent = 4009,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Разборка комплекса приборов ГИС"
                        },
                        new
                        {
                            Id = 5025,
                            IdParent = 4009,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Сборка комплекса приборов ГИС"
                        },
                        new
                        {
                            Id = 5026,
                            IdParent = 4010,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Подъем приборов ГИС  (на трубах)"
                        },
                        new
                        {
                            Id = 5027,
                            IdParent = 4010,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Спуск приборов ГИС (на трубах)"
                        },
                        new
                        {
                            Id = 5028,
                            IdParent = 4011,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Комплекс ГИС на жестком кабеле"
                        },
                        new
                        {
                            Id = 5029,
                            IdParent = 4011,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Комплекс ГИС на кабеле"
                        },
                        new
                        {
                            Id = 5030,
                            IdParent = 4011,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Комплекс ГИС на трубах"
                        },
                        new
                        {
                            Id = 5031,
                            IdParent = 4012,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Закачка/прокачка пачки"
                        },
                        new
                        {
                            Id = 5032,
                            IdParent = 4012,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Обработка БР"
                        },
                        new
                        {
                            Id = 5033,
                            IdParent = 4012,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Ориентирование ТС при бурении"
                        },
                        new
                        {
                            Id = 5034,
                            IdParent = 4012,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Перезапись гаммы-каротажа"
                        },
                        new
                        {
                            Id = 5035,
                            IdParent = 4012,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Приготовление БР"
                        },
                        new
                        {
                            Id = 5036,
                            IdParent = 4012,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Промывка"
                        },
                        new
                        {
                            Id = 5037,
                            IdParent = 4012,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Разбуривание тех.оснастки"
                        },
                        new
                        {
                            Id = 5038,
                            IdParent = 4012,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Спуск инструмента с проработкой"
                        },
                        new
                        {
                            Id = 5039,
                            IdParent = 4013,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "ВМР"
                        },
                        new
                        {
                            Id = 5040,
                            IdParent = 4013,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Демонтаж ПВО"
                        },
                        new
                        {
                            Id = 5041,
                            IdParent = 4013,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Долив затруба при подъёме"
                        },
                        new
                        {
                            Id = 5042,
                            IdParent = 4013,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Монтаж ПВО"
                        },
                        new
                        {
                            Id = 5043,
                            IdParent = 4013,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Наработка жёлоба"
                        },
                        new
                        {
                            Id = 5044,
                            IdParent = 4013,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Обвязка устья с циркуляционной системой"
                        },
                        new
                        {
                            Id = 5045,
                            IdParent = 4013,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Оборудование устья"
                        },
                        new
                        {
                            Id = 5046,
                            IdParent = 4013,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Опрессовка ПВО"
                        },
                        new
                        {
                            Id = 5047,
                            IdParent = 4013,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Перемонтаж ПВО "
                        },
                        new
                        {
                            Id = 5048,
                            IdParent = 4013,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Перетяжка талевого каната"
                        },
                        new
                        {
                            Id = 5049,
                            IdParent = 4013,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "ПЗР при сборке КНБК"
                        },
                        new
                        {
                            Id = 5050,
                            IdParent = 4013,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Полная замена талевого каната"
                        },
                        new
                        {
                            Id = 5051,
                            IdParent = 4013,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "ПР перед забуркой направления"
                        },
                        new
                        {
                            Id = 5052,
                            IdParent = 4013,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Продувка манифольда"
                        },
                        new
                        {
                            Id = 5053,
                            IdParent = 4013,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Срезка"
                        },
                        new
                        {
                            Id = 5054,
                            IdParent = 4013,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Тайм-дриллинг"
                        },
                        new
                        {
                            Id = 5055,
                            IdParent = 4013,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Тех.отстой"
                        },
                        new
                        {
                            Id = 5056,
                            IdParent = 4013,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Учебная тревога \"Выброс\""
                        },
                        new
                        {
                            Id = 5057,
                            IdParent = 4013,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Чистка ЦСГО/емкостного блока"
                        },
                        new
                        {
                            Id = 5058,
                            IdParent = 4014,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Ремонт бурового оборудования"
                        },
                        new
                        {
                            Id = 5059,
                            IdParent = 4015,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Ловильные работы"
                        },
                        new
                        {
                            Id = 5060,
                            IdParent = 4015,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Ожидание"
                        },
                        new
                        {
                            Id = 5061,
                            IdParent = 4015,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Определение места прихвата и ЛМ"
                        },
                        new
                        {
                            Id = 5062,
                            IdParent = 4015,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Работа яссом"
                        },
                        new
                        {
                            Id = 5063,
                            IdParent = 4015,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Расхаживание"
                        },
                        new
                        {
                            Id = 5064,
                            IdParent = 4015,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "СПО - колокол"
                        },
                        new
                        {
                            Id = 5065,
                            IdParent = 4015,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "СПО - метчик"
                        },
                        new
                        {
                            Id = 5066,
                            IdParent = 4015,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "СПО - овершот"
                        },
                        new
                        {
                            Id = 5067,
                            IdParent = 4015,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "СПО - труболовка"
                        },
                        new
                        {
                            Id = 5068,
                            IdParent = 4015,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Торпедирование (встряхивание)"
                        },
                        new
                        {
                            Id = 5069,
                            IdParent = 4015,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Торпедирование (отстрел)"
                        },
                        new
                        {
                            Id = 5070,
                            IdParent = 4015,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Установка ванн"
                        },
                        new
                        {
                            Id = 5071,
                            IdParent = 4015,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Фрезеровка"
                        },
                        new
                        {
                            Id = 5072,
                            IdParent = 4016,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Контролируемое ГНВП"
                        },
                        new
                        {
                            Id = 5073,
                            IdParent = 4016,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Поглощение"
                        },
                        new
                        {
                            Id = 5074,
                            IdParent = 4016,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Сальникообразование"
                        },
                        new
                        {
                            Id = 5075,
                            IdParent = 4016,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Утяжеление БР"
                        },
                        new
                        {
                            Id = 5076,
                            IdParent = 4017,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "НПВ / прочее"
                        },
                        new
                        {
                            Id = 5077,
                            IdParent = 4017,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Обработка раствора (несоответствие параметров)"
                        },
                        new
                        {
                            Id = 5078,
                            IdParent = 4017,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "подъем ОК"
                        },
                        new
                        {
                            Id = 5079,
                            IdParent = 4017,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Ревизия КНБК/инструмента/ЗТС"
                        },
                        new
                        {
                            Id = 5082,
                            IdParent = 4000,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Сборка устройства ориентирования КО"
                        },
                        new
                        {
                            Id = 5083,
                            IdParent = 4003,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Проработка принудительная"
                        },
                        new
                        {
                            Id = 5084,
                            IdParent = 4005,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Шаблонировка подъем БИ, продувка"
                        },
                        new
                        {
                            Id = 5085,
                            IdParent = 4005,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Спуск бурильного инструмента со сборкой с мостков"
                        },
                        new
                        {
                            Id = 5086,
                            IdParent = 4005,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Подъем БИ с выбросом на мостки"
                        },
                        new
                        {
                            Id = 5087,
                            IdParent = 4005,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Спуск БИ со сборкой с мостков"
                        },
                        new
                        {
                            Id = 5088,
                            IdParent = 4005,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Сборка и спуск ТБТ"
                        },
                        new
                        {
                            Id = 5089,
                            IdParent = 4005,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Спуск КО на транспотрной колонне"
                        },
                        new
                        {
                            Id = 5090,
                            IdParent = 4008,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Отворот допускной трубы"
                        },
                        new
                        {
                            Id = 5091,
                            IdParent = 4008,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Активация подвески, опрессовка"
                        },
                        new
                        {
                            Id = 5092,
                            IdParent = 4008,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Монтаж, опрессовка ФА"
                        },
                        new
                        {
                            Id = 5093,
                            IdParent = 4008,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Сборка хвостовика 114мм (согласно схеме)"
                        },
                        new
                        {
                            Id = 5094,
                            IdParent = 4008,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "ПЗР к спуску УЭЦН"
                        },
                        new
                        {
                            Id = 5095,
                            IdParent = 4008,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Активация подвески  (потайной колонны, хвостовика)"
                        },
                        new
                        {
                            Id = 5096,
                            IdParent = 4008,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Шаблонирование перед спуском"
                        },
                        new
                        {
                            Id = 5097,
                            IdParent = 4012,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Промывка - перевод скважины на новый раствор"
                        },
                        new
                        {
                            Id = 5098,
                            IdParent = 4013,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Сборка БИ с мостков на подсвечник"
                        },
                        new
                        {
                            Id = 5099,
                            IdParent = 4013,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Подготовка ствола скважины. Перезапись ГК в интервале установки КО."
                        },
                        new
                        {
                            Id = 5100,
                            IdParent = 4013,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Смена рабочего переводника ВСП"
                        },
                        new
                        {
                            Id = 5101,
                            IdParent = 4014,
                            KeyValueName = "dT",
                            KeyValueUnits = "мин",
                            Name = "Ремонт"
                        });
                });

            modelBuilder.Entity("AsbCloudDb.Model.WellSectionType", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

                    b.Property<string>("Caption")
                        .IsRequired()
                        .HasMaxLength(255)
                        .HasColumnType("character varying(255)")
                        .HasColumnName("caption")
                        .HasComment("Название");

                    b.HasKey("Id");

                    b.ToTable("t_well_section_type");

                    b.HasComment("конструкция секции скважины");

                    b.HasData(
                        new
                        {
                            Id = 1,
                            Caption = "Пилотный ствол"
                        },
                        new
                        {
                            Id = 2,
                            Caption = "Направление"
                        },
                        new
                        {
                            Id = 3,
                            Caption = "Кондуктор"
                        },
                        new
                        {
                            Id = 4,
                            Caption = "Эксплуатационная колонна"
                        },
                        new
                        {
                            Id = 5,
                            Caption = "Транспортный ствол"
                        },
                        new
                        {
                            Id = 6,
                            Caption = "Хвостовик"
                        },
                        new
                        {
                            Id = 7,
                            Caption = "Пилотный ствол 2"
                        },
                        new
                        {
                            Id = 8,
                            Caption = "Направление 2"
                        },
                        new
                        {
                            Id = 9,
                            Caption = "Кондуктор 2"
                        },
                        new
                        {
                            Id = 10,
                            Caption = "Эксплуатационная колонна 2"
                        },
                        new
                        {
                            Id = 11,
                            Caption = "Транспортный ствол 2"
                        },
                        new
                        {
                            Id = 12,
                            Caption = "Хвостовик 2"
                        },
                        new
                        {
                            Id = 13,
                            Caption = "Пилотный ствол 3"
                        },
                        new
                        {
                            Id = 14,
                            Caption = "Направление 3"
                        },
                        new
                        {
                            Id = 15,
                            Caption = "Кондуктор 3"
                        },
                        new
                        {
                            Id = 16,
                            Caption = "Эксплуатационная колонна 3"
                        },
                        new
                        {
                            Id = 17,
                            Caption = "Транспортный ствол 3"
                        },
                        new
                        {
                            Id = 18,
                            Caption = "Хвостовик 3"
                        },
                        new
                        {
                            Id = 19,
                            Caption = "Пилотный ствол 4"
                        },
                        new
                        {
                            Id = 20,
                            Caption = "Направление 4"
                        },
                        new
                        {
                            Id = 21,
                            Caption = "Кондуктор 4"
                        },
                        new
                        {
                            Id = 22,
                            Caption = "Эксплуатационная колонна 4"
                        },
                        new
                        {
                            Id = 23,
                            Caption = "Транспортный ствол 4"
                        },
                        new
                        {
                            Id = 24,
                            Caption = "Хвостовик 4"
                        },
                        new
                        {
                            Id = 25,
                            Caption = "Пилотный ствол 5"
                        },
                        new
                        {
                            Id = 26,
                            Caption = "Направление 5"
                        },
                        new
                        {
                            Id = 27,
                            Caption = "Кондуктор 5"
                        },
                        new
                        {
                            Id = 28,
                            Caption = "Эксплуатационная колонна 5"
                        },
                        new
                        {
                            Id = 29,
                            Caption = "Транспортный ствол 5"
                        },
                        new
                        {
                            Id = 30,
                            Caption = "Хвостовик 5"
                        },
                        new
                        {
                            Id = 31,
                            Caption = "Техническая колонна"
                        },
                        new
                        {
                            Id = 32,
                            Caption = "Техническая колонна 2"
                        },
                        new
                        {
                            Id = 33,
                            Caption = "Техническая колонна 3"
                        });
                });

            modelBuilder.Entity("AsbCloudDb.Model.WellType", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("integer")
                        .HasColumnName("id");

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

                    b.Property<string>("Caption")
                        .IsRequired()
                        .HasMaxLength(255)
                        .HasColumnType("character varying(255)")
                        .HasColumnName("caption")
                        .HasComment("Название");

                    b.HasKey("Id");

                    b.ToTable("t_well_type");

                    b.HasComment("конструкция скважины");

                    b.HasData(
                        new
                        {
                            Id = 1,
                            Caption = "Наклонно-направленная"
                        },
                        new
                        {
                            Id = 2,
                            Caption = "Горизонтальная"
                        });
                });

            modelBuilder.Entity("AsbCloudDb.Model.WITS.RecordBase", b =>
                {
                    b.Property<int>("IdTelemetry")
                        .HasColumnType("integer")
                        .HasColumnName("id_telemetry");

                    b.Property<DateTimeOffset>("DateTime")
                        .HasColumnType("timestamp with time zone")
                        .HasColumnName("date");

                    b.Property<short?>("Actcod")
                        .HasColumnType("smallint")
                        .HasColumnName("ACTCOD");

                    b.Property<int?>("Date")
                        .HasColumnType("integer")
                        .HasColumnName("DATE");

                    b.Property<short?>("Recid")
                        .HasColumnType("smallint")
                        .HasColumnName("RECID");

                    b.Property<int?>("Seqid")
                        .HasColumnType("integer")
                        .HasColumnName("SEQID");

                    b.Property<short?>("Stknum")
                        .HasColumnType("smallint")
                        .HasColumnName("STKNUM");

                    b.Property<int?>("Time")
                        .HasColumnType("integer")
                        .HasColumnName("TIME");

                    b.Property<string>("Wellid")
                        .HasColumnType("text")
                        .HasColumnName("WELLID");

                    b.HasKey("IdTelemetry", "DateTime");

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

            modelBuilder.Entity("AsbCloudDb.Model.WITS.Record1", b =>
                {
                    b.HasBaseType("AsbCloudDb.Model.WITS.RecordBase");

                    b.Property<float?>("Blkpos")
                        .HasColumnType("real")
                        .HasColumnName("BLKPOS");

                    b.Property<float?>("Chkp")
                        .HasColumnType("real")
                        .HasColumnName("CHKP");

                    b.Property<float?>("Deptbitm")
                        .HasColumnType("real")
                        .HasColumnName("DEPTBITM");

                    b.Property<float?>("Deptbitv")
                        .HasColumnType("real")
                        .HasColumnName("DEPTBITV");

                    b.Property<float?>("Deptmeas")
                        .HasColumnType("real")
                        .HasColumnName("DEPTMEAS");

                    b.Property<float?>("Deptretm")
                        .HasColumnType("real")
                        .HasColumnName("DEPTRETM");

                    b.Property<float?>("Deptvert")
                        .HasColumnType("real")
                        .HasColumnName("DEPTVERT");

                    b.Property<float?>("Gasa")
                        .HasColumnType("real")
                        .HasColumnName("GASA");

                    b.Property<float?>("Hkla")
                        .HasColumnType("real")
                        .HasColumnName("HKLA");

                    b.Property<float?>("Hklx")
                        .HasColumnType("real")
                        .HasColumnName("HKLX");

                    b.Property<short?>("Lagstks")
                        .HasColumnType("smallint")
                        .HasColumnName("LAGSTKS");

                    b.Property<float?>("Mcia")
                        .HasColumnType("real")
                        .HasColumnName("MCIA");

                    b.Property<float?>("Mcoa")
                        .HasColumnType("real")
                        .HasColumnName("MCOA");

                    b.Property<float?>("Mdia")
                        .HasColumnType("real")
                        .HasColumnName("MDIA");

                    b.Property<float?>("Mdoa")
                        .HasColumnType("real")
                        .HasColumnName("MDOA");

                    b.Property<float?>("Mfia")
                        .HasColumnType("real")
                        .HasColumnName("MFIA");

                    b.Property<float?>("Mfoa")
                        .HasColumnType("real")
                        .HasColumnName("MFOA");

                    b.Property<short?>("Mfop")
                        .HasColumnType("smallint")
                        .HasColumnName("MFOP");

                    b.Property<float?>("Mtia")
                        .HasColumnType("real")
                        .HasColumnName("MTIA");

                    b.Property<float?>("Mtoa")
                        .HasColumnType("real")
                        .HasColumnName("MTOA");

                    b.Property<float?>("Ropa")
                        .HasColumnType("real")
                        .HasColumnName("ROPA");

                    b.Property<short?>("Rpma")
                        .HasColumnType("smallint")
                        .HasColumnName("RPMA");

                    b.Property<float?>("Spare1")
                        .HasColumnType("real")
                        .HasColumnName("SPARE1");

                    b.Property<float?>("Spare2")
                        .HasColumnType("real")
                        .HasColumnName("SPARE2");

                    b.Property<float?>("Spare3")
                        .HasColumnType("real")
                        .HasColumnName("SPARE3");

                    b.Property<float?>("Spare4")
                        .HasColumnType("real")
                        .HasColumnName("SPARE4");

                    b.Property<float?>("Spare5")
                        .HasColumnType("real")
                        .HasColumnName("SPARE5");

                    b.Property<short?>("Spm1")
                        .HasColumnType("smallint")
                        .HasColumnName("SPM1");

                    b.Property<short?>("Spm2")
                        .HasColumnType("smallint")
                        .HasColumnName("SPM2");

                    b.Property<short?>("Spm3")
                        .HasColumnType("smallint")
                        .HasColumnName("SPM3");

                    b.Property<float?>("Sppa")
                        .HasColumnType("real")
                        .HasColumnName("SPPA");

                    b.Property<int?>("Stkc")
                        .HasColumnType("integer")
                        .HasColumnName("STKC");

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

                    b.Property<float?>("Torqa")
                        .HasColumnType("real")
                        .HasColumnName("TORQA");

                    b.Property<float?>("Torqx")
                        .HasColumnType("real")
                        .HasColumnName("TORQX");

                    b.Property<float?>("Tvolact")
                        .HasColumnType("real")
                        .HasColumnName("TVOLACT");

                    b.Property<float?>("Tvolcact")
                        .HasColumnType("real")
                        .HasColumnName("TVOLCACT");

                    b.Property<float?>("Woba")
                        .HasColumnType("real")
                        .HasColumnName("WOBA");

                    b.Property<float?>("Wobx")
                        .HasColumnType("real")
                        .HasColumnName("WOBX");

                    b.HasIndex("TelemetryId");

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

            modelBuilder.Entity("AsbCloudDb.Model.WITS.Record50", b =>
                {
                    b.HasBaseType("AsbCloudDb.Model.WITS.RecordBase");

                    b.Property<float?>("Deptbitm")
                        .HasColumnType("real")
                        .HasColumnName("DEPTBITM");

                    b.Property<float?>("DeptmeasGdpMc")
                        .HasColumnType("real")
                        .HasColumnName("DEPTMEAS_GDP_mc");

                    b.Property<float?>("DeptmeasMcrstat")
                        .HasColumnType("real")
                        .HasColumnName("DEPTMEAS_MCRSTAT");

                    b.Property<float?>("DeptmeasRa33Mc")
                        .HasColumnType("real")
                        .HasColumnName("DEPTMEAS_RA33_mc");

                    b.Property<float?>("DeptmeasRa33f2Mc")
                        .HasColumnType("real")
                        .HasColumnName("DEPTMEAS_RA33F2_mc");

                    b.Property<float?>("DeptmeasRa33f4Mc")
                        .HasColumnType("real")
                        .HasColumnName("DEPTMEAS_RA33F4_mc");

                    b.Property<float?>("DeptmeasRp33Mc")
                        .HasColumnType("real")
                        .HasColumnName("DEPTMEAS_RP33_mc");

                    b.Property<float?>("DeptmeasRp33f2Mc")
                        .HasColumnType("real")
                        .HasColumnName("DEPTMEAS_RP33F2_mc");

                    b.Property<float?>("DeptmeasRp33f4Mc")
                        .HasColumnType("real")
                        .HasColumnName("DEPTMEAS_RP33F4_mc");

                    b.Property<float?>("DeptmeasSlvlMc")
                        .HasColumnType("real")
                        .HasColumnName("DEPTMEAS_SLVL_mc");

                    b.Property<float?>("GdpMc")
                        .HasColumnType("real")
                        .HasColumnName("GDP_mc");

                    b.Property<float?>("Mcrstat")
                        .HasColumnType("real")
                        .HasColumnName("MCRSTAT");

                    b.Property<float?>("Ra33Mc")
                        .HasColumnType("real")
                        .HasColumnName("RA33_mc");

                    b.Property<float?>("Ra33f2Mc")
                        .HasColumnType("real")
                        .HasColumnName("RA33F2_mc");

                    b.Property<float?>("Ra33f4Mc")
                        .HasColumnType("real")
                        .HasColumnName("RA33F4_mc");

                    b.Property<float?>("Rp33Mc")
                        .HasColumnType("real")
                        .HasColumnName("RP33_mc");

                    b.Property<float?>("Rp33f2Mc")
                        .HasColumnType("real")
                        .HasColumnName("RP33F2_mc");

                    b.Property<float?>("Rp33f4Mc")
                        .HasColumnType("real")
                        .HasColumnName("RP33F4_mc");

                    b.Property<float?>("SlvlMc")
                        .HasColumnType("real")
                        .HasColumnName("SLVL_mc");

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

                    b.HasIndex("TelemetryId");

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

            modelBuilder.Entity("AsbCloudDb.Model.WITS.Record60", b =>
                {
                    b.HasBaseType("AsbCloudDb.Model.WITS.RecordBase");

                    b.Property<float?>("Btot")
                        .HasColumnType("real")
                        .HasColumnName("Btot");

                    b.Property<float?>("Bx")
                        .HasColumnType("real")
                        .HasColumnName("Bx");

                    b.Property<float?>("By")
                        .HasColumnType("real")
                        .HasColumnName("By");

                    b.Property<float?>("Bz")
                        .HasColumnType("real")
                        .HasColumnName("Bz");

                    b.Property<float?>("Deptbitm")
                        .HasColumnType("real")
                        .HasColumnName("DEPTBITM");

                    b.Property<float?>("Deptmeas")
                        .HasColumnType("real")
                        .HasColumnName("DEPTMEAS");

                    b.Property<float?>("Gtot")
                        .HasColumnType("real")
                        .HasColumnName("Gtot");

                    b.Property<float?>("Gx")
                        .HasColumnType("real")
                        .HasColumnName("Gx");

                    b.Property<float?>("Gy")
                        .HasColumnType("real")
                        .HasColumnName("Gy");

                    b.Property<float?>("Gz")
                        .HasColumnType("real")
                        .HasColumnName("Gz");

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

                    b.HasIndex("TelemetryId");

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

            modelBuilder.Entity("AsbCloudDb.Model.WITS.Record61", b =>
                {
                    b.HasBaseType("AsbCloudDb.Model.WITS.RecordBase");

                    b.Property<float?>("Att06h")
                        .HasColumnType("real")
                        .HasColumnName("ATT06H");

                    b.Property<float?>("Att06l")
                        .HasColumnType("real")
                        .HasColumnName("ATT06L");

                    b.Property<float?>("Att10h")
                        .HasColumnType("real")
                        .HasColumnName("ATT10H");

                    b.Property<float?>("Att10l")
                        .HasColumnType("real")
                        .HasColumnName("ATT10L");

                    b.Property<float?>("Deptbitm")
                        .HasColumnType("real")
                        .HasColumnName("DEPTBITM");

                    b.Property<float?>("Deptmeas")
                        .HasColumnType("real")
                        .HasColumnName("DEPTMEAS");

                    b.Property<float?>("Phl1f1")
                        .HasColumnType("real")
                        .HasColumnName("PHL1F1");

                    b.Property<float?>("Phl1f2")
                        .HasColumnType("real")
                        .HasColumnName("PHL1F2");

                    b.Property<float?>("Phl2f1")
                        .HasColumnType("real")
                        .HasColumnName("PHL2F1");

                    b.Property<float?>("Phl2f2")
                        .HasColumnType("real")
                        .HasColumnName("PHL2F2");

                    b.Property<float?>("Status")
                        .HasColumnType("real")
                        .HasColumnName("Status");

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

                    b.HasIndex("TelemetryId");

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

            modelBuilder.Entity("AsbCloudDb.Model.WITS.Record7", b =>
                {
                    b.HasBaseType("AsbCloudDb.Model.WITS.RecordBase");

                    b.Property<float?>("Deptmeas")
                        .HasColumnType("real")
                        .HasColumnName("DEPTMEAS");

                    b.Property<float?>("Deptsvym")
                        .HasColumnType("real")
                        .HasColumnName("DEPTSVYM");

                    b.Property<float?>("Deptsvyv")
                        .HasColumnType("real")
                        .HasColumnName("DEPTSVYV");

                    b.Property<short?>("Passnum")
                        .HasColumnType("smallint")
                        .HasColumnName("PASSNUM");

                    b.Property<float?>("Spare1")
                        .HasColumnType("real")
                        .HasColumnName("SPARE1");

                    b.Property<float?>("Spare2")
                        .HasColumnType("real")
                        .HasColumnName("SPARE2");

                    b.Property<float?>("Spare3")
                        .HasColumnType("real")
                        .HasColumnName("SPARE3");

                    b.Property<float?>("Spare4")
                        .HasColumnType("real")
                        .HasColumnName("SPARE4");

                    b.Property<float?>("Spare5")
                        .HasColumnType("real")
                        .HasColumnName("SPARE5");

                    b.Property<float?>("Svyazc")
                        .HasColumnType("real")
                        .HasColumnName("SVYAZC");

                    b.Property<float?>("Svyazu")
                        .HasColumnType("real")
                        .HasColumnName("SVYAZU");

                    b.Property<float?>("Svydls")
                        .HasColumnType("real")
                        .HasColumnName("SVYDLS");

                    b.Property<float?>("Svyew")
                        .HasColumnType("real")
                        .HasColumnName("SVYEW");

                    b.Property<float?>("Svygtf")
                        .HasColumnType("real")
                        .HasColumnName("SVYGTF");

                    b.Property<float?>("Svyinc")
                        .HasColumnType("real")
                        .HasColumnName("SVYINC");

                    b.Property<float?>("Svymtf")
                        .HasColumnType("real")
                        .HasColumnName("SVYMTF");

                    b.Property<float?>("Svyns")
                        .HasColumnType("real")
                        .HasColumnName("SVYNS");

                    b.Property<string>("Svytype")
                        .HasColumnType("text")
                        .HasColumnName("SVYTYPE");

                    b.Property<float?>("Svywalk")
                        .HasColumnType("real")
                        .HasColumnName("SVYWALK");

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

                    b.HasIndex("TelemetryId");

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

            modelBuilder.Entity("AsbCloudDb.Model.WITS.Record8", b =>
                {
                    b.HasBaseType("AsbCloudDb.Model.WITS.RecordBase");

                    b.Property<float?>("Deptbitm")
                        .HasColumnType("real")
                        .HasColumnName("DEPTBITM");

                    b.Property<float?>("Deptbitv")
                        .HasColumnType("real")
                        .HasColumnName("DEPTBITV");

                    b.Property<float?>("Deptcalm")
                        .HasColumnType("real")
                        .HasColumnName("DEPTCALM");

                    b.Property<float?>("Deptcalv")
                        .HasColumnType("real")
                        .HasColumnName("DEPTCALV");

                    b.Property<float?>("Deptfdm")
                        .HasColumnType("real")
                        .HasColumnName("DEPTFDM");

                    b.Property<float?>("Deptfdv")
                        .HasColumnType("real")
                        .HasColumnName("DEPTFDV");

                    b.Property<float?>("Deptgr1m")
                        .HasColumnType("real")
                        .HasColumnName("DEPTGR1M");

                    b.Property<float?>("Deptgr1v")
                        .HasColumnType("real")
                        .HasColumnName("DEPTGR1V");

                    b.Property<float?>("Deptgr2m")
                        .HasColumnType("real")
                        .HasColumnName("DEPTGR2M");

                    b.Property<float?>("Deptgr2v")
                        .HasColumnType("real")
                        .HasColumnName("DEPTGR2V");

                    b.Property<float?>("Deptmeas")
                        .HasColumnType("real")
                        .HasColumnName("DEPTMEAS");

                    b.Property<float?>("Deptp1m")
                        .HasColumnType("real")
                        .HasColumnName("DEPTP1M");

                    b.Property<float?>("Deptp1v")
                        .HasColumnType("real")
                        .HasColumnName("DEPTP1V");

                    b.Property<float?>("Deptp2m")
                        .HasColumnType("real")
                        .HasColumnName("DEPTP2M");

                    b.Property<float?>("Deptp2v")
                        .HasColumnType("real")
                        .HasColumnName("DEPTP2V");

                    b.Property<float?>("Deptrs1m")
                        .HasColumnType("real")
                        .HasColumnName("DEPTRS1M");

                    b.Property<float?>("Deptrs1v")
                        .HasColumnType("real")
                        .HasColumnName("DEPTRS1V");

                    b.Property<float?>("Deptrs2m")
                        .HasColumnType("real")
                        .HasColumnName("DEPTRS2M");

                    b.Property<float?>("Deptrs2v")
                        .HasColumnType("real")
                        .HasColumnName("DEPTRS2V");

                    b.Property<float?>("Deptvert")
                        .HasColumnType("real")
                        .HasColumnName("DEPTVERT");

                    b.Property<float?>("Mclp")
                        .HasColumnType("real")
                        .HasColumnName("MCLP");

                    b.Property<float?>("Mfd")
                        .HasColumnType("real")
                        .HasColumnName("MFD");

                    b.Property<float?>("Mffp")
                        .HasColumnType("real")
                        .HasColumnName("MFFP");

                    b.Property<float?>("Mfpp")
                        .HasColumnType("real")
                        .HasColumnName("MFPP");

                    b.Property<float?>("Mfrann")
                        .HasColumnType("real")
                        .HasColumnName("MFRANN");

                    b.Property<float?>("Mfrpipe")
                        .HasColumnType("real")
                        .HasColumnName("MFRPIPE");

                    b.Property<float?>("Mftann")
                        .HasColumnType("real")
                        .HasColumnName("MFTANN");

                    b.Property<float?>("Mftpipe")
                        .HasColumnType("real")
                        .HasColumnName("MFTPIPE");

                    b.Property<float?>("Mg1")
                        .HasColumnType("real")
                        .HasColumnName("MG1");

                    b.Property<float?>("Mg1c")
                        .HasColumnType("real")
                        .HasColumnName("MG1C");

                    b.Property<float?>("Mg2")
                        .HasColumnType("real")
                        .HasColumnName("MG2");

                    b.Property<float?>("Mg2c")
                        .HasColumnType("real")
                        .HasColumnName("MG2C");

                    b.Property<float?>("Mpo1")
                        .HasColumnType("real")
                        .HasColumnName("MPO1");

                    b.Property<float?>("Mpo2")
                        .HasColumnType("real")
                        .HasColumnName("MPO2");

                    b.Property<float?>("Mr1")
                        .HasColumnType("real")
                        .HasColumnName("MR1");

                    b.Property<float?>("Mr1c")
                        .HasColumnType("real")
                        .HasColumnName("MR1C");

                    b.Property<float?>("Mr2")
                        .HasColumnType("real")
                        .HasColumnName("MR2");

                    b.Property<float?>("Mr2c")
                        .HasColumnType("real")
                        .HasColumnName("MR2C");

                    b.Property<short?>("Passnum")
                        .HasColumnType("smallint")
                        .HasColumnName("PASSNUM");

                    b.Property<float?>("Spare1")
                        .HasColumnType("real")
                        .HasColumnName("SPARE1");

                    b.Property<float?>("Spare2")
                        .HasColumnType("real")
                        .HasColumnName("SPARE2");

                    b.Property<float?>("Spare3")
                        .HasColumnType("real")
                        .HasColumnName("SPARE3");

                    b.Property<float?>("Spare4")
                        .HasColumnType("real")
                        .HasColumnName("SPARE4");

                    b.Property<float?>("Spare5")
                        .HasColumnType("real")
                        .HasColumnName("SPARE5");

                    b.Property<float?>("Spare6")
                        .HasColumnType("real")
                        .HasColumnName("SPARE6");

                    b.Property<float?>("Spare7")
                        .HasColumnType("real")
                        .HasColumnName("SPARE7");

                    b.Property<float?>("Spare8")
                        .HasColumnType("real")
                        .HasColumnName("SPARE8");

                    b.Property<float?>("Spare9")
                        .HasColumnType("real")
                        .HasColumnName("SPARE9");

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

                    b.HasIndex("TelemetryId");

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

            modelBuilder.Entity("AsbCloudDb.Model.Cluster", b =>
                {
                    b.HasOne("AsbCloudDb.Model.Deposit", "Deposit")
                        .WithMany("Clusters")
                        .HasForeignKey("IdDeposit")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired()
                        .HasConstraintName("t_cluster_t_deposit_id_fk");

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

            modelBuilder.Entity("AsbCloudDb.Model.Company", b =>
                {
                    b.HasOne("AsbCloudDb.Model.CompanyType", "CompanyType")
                        .WithMany("Companies")
                        .HasForeignKey("IdCompanyType")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

            modelBuilder.Entity("AsbCloudDb.Model.DailyReport.DailyReport", b =>
                {
                    b.HasOne("AsbCloudDb.Model.Well", "Well")
                        .WithMany()
                        .HasForeignKey("IdWell")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

            modelBuilder.Entity("AsbCloudDb.Model.DetectedOperation", b =>
                {
                    b.HasOne("AsbCloudDb.Model.WellOperationCategory", "OperationCategory")
                        .WithMany()
                        .HasForeignKey("IdCategory")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("AsbCloudDb.Model.Telemetry", "Telemetry")
                        .WithMany()
                        .HasForeignKey("IdTelemetry")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("OperationCategory");

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

            modelBuilder.Entity("AsbCloudDb.Model.DrillingProgramPart", b =>
                {
                    b.HasOne("AsbCloudDb.Model.FileCategory", "FileCategory")
                        .WithMany()
                        .HasForeignKey("IdFileCategory")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("AsbCloudDb.Model.Well", "Well")
                        .WithMany("DrillingProgramParts")
                        .HasForeignKey("IdWell")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("FileCategory");

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

            modelBuilder.Entity("AsbCloudDb.Model.Faq", b =>
                {
                    b.HasOne("AsbCloudDb.Model.User", "AuthorAnswer")
                        .WithMany()
                        .HasForeignKey("IdAuthorAnswer");

                    b.HasOne("AsbCloudDb.Model.User", "AuthorQuestion")
                        .WithMany()
                        .HasForeignKey("IdAuthorQuestion")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("AuthorAnswer");

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

            modelBuilder.Entity("AsbCloudDb.Model.FileInfo", b =>
                {
                    b.HasOne("AsbCloudDb.Model.User", "Author")
                        .WithMany("Files")
                        .HasForeignKey("IdAuthor");

                    b.HasOne("AsbCloudDb.Model.FileCategory", "FileCategory")
                        .WithMany()
                        .HasForeignKey("IdCategory")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("AsbCloudDb.Model.Well", "Well")
                        .WithMany()
                        .HasForeignKey("IdWell")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Author");

                    b.Navigation("FileCategory");

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

            modelBuilder.Entity("AsbCloudDb.Model.FileMark", b =>
                {
                    b.HasOne("AsbCloudDb.Model.FileInfo", "FileInfo")
                        .WithMany("FileMarks")
                        .HasForeignKey("IdFile")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired()
                        .HasConstraintName("t_file_mark_t_file_info_fk");

                    b.HasOne("AsbCloudDb.Model.User", "User")
                        .WithMany("FileMarks")
                        .HasForeignKey("IdUser")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired()
                        .HasConstraintName("t_user_t_file_mark_fk");

                    b.Navigation("FileInfo");

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

            modelBuilder.Entity("AsbCloudDb.Model.GTR.WitsItemFloat", b =>
                {
                    b.HasOne("AsbCloudDb.Model.Telemetry", "Telemetry")
                        .WithMany()
                        .HasForeignKey("IdTelemetry")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

            modelBuilder.Entity("AsbCloudDb.Model.GTR.WitsItemInt", b =>
                {
                    b.HasOne("AsbCloudDb.Model.Telemetry", "Telemetry")
                        .WithMany()
                        .HasForeignKey("IdTelemetry")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

            modelBuilder.Entity("AsbCloudDb.Model.GTR.WitsItemString", b =>
                {
                    b.HasOne("AsbCloudDb.Model.Telemetry", "Telemetry")
                        .WithMany()
                        .HasForeignKey("IdTelemetry")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

            modelBuilder.Entity("AsbCloudDb.Model.HelpPage", b =>
                {
                    b.HasOne("AsbCloudDb.Model.FileCategory", "FileCategory")
                        .WithMany()
                        .HasForeignKey("IdCategory")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

            modelBuilder.Entity("AsbCloudDb.Model.LimitingParameter", b =>
                {
                    b.HasOne("AsbCloudDb.Model.Telemetry", "Telemetry")
                        .WithMany()
                        .HasForeignKey("IdTelemetry")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

            modelBuilder.Entity("AsbCloudDb.Model.Measure", b =>
                {
                    b.HasOne("AsbCloudDb.Model.MeasureCategory", "Category")
                        .WithMany("Measures")
                        .HasForeignKey("IdCategory")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("AsbCloudDb.Model.Well", "Well")
                        .WithMany()
                        .HasForeignKey("IdWell")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Category");

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

            modelBuilder.Entity("AsbCloudDb.Model.Notification", b =>
                {
                    b.HasOne("AsbCloudDb.Model.NotificationCategory", "NotificationCategory")
                        .WithMany("Notifications")
                        .HasForeignKey("IdNotificationCategory")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("AsbCloudDb.Model.User", "User")
                        .WithMany()
                        .HasForeignKey("IdUser")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("NotificationCategory");

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

            modelBuilder.Entity("AsbCloudDb.Model.OperationValue", b =>
                {
                    b.HasOne("AsbCloudDb.Model.WellOperationCategory", "OperationCategory")
                        .WithMany()
                        .HasForeignKey("IdOperationCategory")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("AsbCloudDb.Model.Well", "Well")
                        .WithMany()
                        .HasForeignKey("IdWell")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("OperationCategory");

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

            modelBuilder.Entity("AsbCloudDb.Model.PlannedTrajectory", b =>
                {
                    b.HasOne("AsbCloudDb.Model.User", "User")
                        .WithMany()
                        .HasForeignKey("IdUser")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("AsbCloudDb.Model.Well", "Well")
                        .WithMany()
                        .HasForeignKey("IdWell")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("User");

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

            modelBuilder.Entity("AsbCloudDb.Model.ProcessMap", b =>
                {
                    b.HasOne("AsbCloudDb.Model.Well", "Well")
                        .WithMany("ProcessMaps")
                        .HasForeignKey("IdWell")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("AsbCloudDb.Model.WellSectionType", "WellSectionType")
                        .WithMany()
                        .HasForeignKey("IdWellSectionType")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Well");

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

            modelBuilder.Entity("AsbCloudDb.Model.RelationCompanyWell", b =>
                {
                    b.HasOne("AsbCloudDb.Model.Company", "Company")
                        .WithMany("RelationCompaniesWells")
                        .HasForeignKey("IdCompany")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired()
                        .HasConstraintName("t_relation_company_well_t_company_id_fk");

                    b.HasOne("AsbCloudDb.Model.Well", "Well")
                        .WithMany("RelationCompaniesWells")
                        .HasForeignKey("IdWell")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired()
                        .HasConstraintName("t_relation_company_well_t_well_id_fk");

                    b.Navigation("Company");

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

            modelBuilder.Entity("AsbCloudDb.Model.RelationContactWell", b =>
                {
                    b.HasOne("AsbCloudDb.Model.User", "User")
                        .WithMany("RelationContactsWells")
                        .HasForeignKey("IdUser")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("AsbCloudDb.Model.Well", "Well")
                        .WithMany()
                        .HasForeignKey("IdWell")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("User");

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

            modelBuilder.Entity("AsbCloudDb.Model.RelationUserDrillingProgramPart", b =>
                {
                    b.HasOne("AsbCloudDb.Model.DrillingProgramPart", "DrillingProgramPart")
                        .WithMany("RelatedUsers")
                        .HasForeignKey("IdDrillingProgramPart")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("AsbCloudDb.Model.User", "User")
                        .WithMany()
                        .HasForeignKey("IdUser")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("DrillingProgramPart");

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

            modelBuilder.Entity("AsbCloudDb.Model.RelationUserRolePermission", b =>
                {
                    b.HasOne("AsbCloudDb.Model.Permission", "Permission")
                        .WithMany("RelationUserRolePermissions")
                        .HasForeignKey("IdPermission")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("AsbCloudDb.Model.UserRole", "UserRole")
                        .WithMany("RelationUserRolePermissions")
                        .HasForeignKey("IdUserRole")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Permission");

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

            modelBuilder.Entity("AsbCloudDb.Model.RelationUserRoleUserRole", b =>
                {
                    b.HasOne("AsbCloudDb.Model.UserRole", "Role")
                        .WithMany("RelationUserRoleUserRoles")
                        .HasForeignKey("Id")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("AsbCloudDb.Model.UserRole", "IncludeRole")
                        .WithMany()
                        .HasForeignKey("IdInclude")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("IncludeRole");

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

            modelBuilder.Entity("AsbCloudDb.Model.RelationUserUserRole", b =>
                {
                    b.HasOne("AsbCloudDb.Model.User", "User")
                        .WithMany("RelationUsersUserRoles")
                        .HasForeignKey("IdUser")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("AsbCloudDb.Model.UserRole", "UserRole")
                        .WithMany("RelationUsersUserRoles")
                        .HasForeignKey("IdUserRole")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("User");

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

            modelBuilder.Entity("AsbCloudDb.Model.ReportProperty", b =>
                {
                    b.HasOne("AsbCloudDb.Model.FileInfo", "File")
                        .WithMany()
                        .HasForeignKey("IdFile")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("AsbCloudDb.Model.Well", "Well")
                        .WithMany()
                        .HasForeignKey("IdWell")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("File");

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

            modelBuilder.Entity("AsbCloudDb.Model.Schedule", b =>
                {
                    b.HasOne("AsbCloudDb.Model.Driller", "Driller")
                        .WithMany("Schedule")
                        .HasForeignKey("IdDriller")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired()
                        .HasConstraintName("t_schedule_t_driller_id_driller");

                    b.HasOne("AsbCloudDb.Model.Well", "Well")
                        .WithMany()
                        .HasForeignKey("IdWell")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Driller");

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

            modelBuilder.Entity("AsbCloudDb.Model.SetpointsRequest", b =>
                {
                    b.HasOne("AsbCloudDb.Model.User", "Author")
                        .WithMany()
                        .HasForeignKey("IdAuthor")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("AsbCloudDb.Model.Well", "Well")
                        .WithMany()
                        .HasForeignKey("IdWell")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Author");

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

            modelBuilder.Entity("AsbCloudDb.Model.Subsystems.SubsystemOperationTime", b =>
                {
                    b.HasOne("AsbCloudDb.Model.Subsystems.Subsystem", "Subsystem")
                        .WithMany()
                        .HasForeignKey("IdSubsystem")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("AsbCloudDb.Model.Telemetry", "Telemetry")
                        .WithMany()
                        .HasForeignKey("IdTelemetry")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Subsystem");

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

            modelBuilder.Entity("AsbCloudDb.Model.TelemetryDataSaub", b =>
                {
                    b.HasOne("AsbCloudDb.Model.Telemetry", "Telemetry")
                        .WithMany("DataSaub")
                        .HasForeignKey("IdTelemetry")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired()
                        .HasConstraintName("t_telemetry_data_saub_t_telemetry_id_fk");

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

            modelBuilder.Entity("AsbCloudDb.Model.TelemetryDataSpin", b =>
                {
                    b.HasOne("AsbCloudDb.Model.Telemetry", "Telemetry")
                        .WithMany("DataSpin")
                        .HasForeignKey("IdTelemetry")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired()
                        .HasConstraintName("t_telemetry_data_spin_t_telemetry_id_fk");

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

            modelBuilder.Entity("AsbCloudDb.Model.TelemetryEvent", b =>
                {
                    b.HasOne("AsbCloudDb.Model.Telemetry", "Telemetry")
                        .WithMany("Events")
                        .HasForeignKey("IdTelemetry")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired()
                        .HasConstraintName("t_event_t_telemetry_id_fk");

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

            modelBuilder.Entity("AsbCloudDb.Model.TelemetryMessage", b =>
                {
                    b.HasOne("AsbCloudDb.Model.Telemetry", "Telemetry")
                        .WithMany("Messages")
                        .HasForeignKey("IdTelemetry")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired()
                        .HasConstraintName("t_messages_t_telemetry_id_fk");

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

            modelBuilder.Entity("AsbCloudDb.Model.TelemetryUser", b =>
                {
                    b.HasOne("AsbCloudDb.Model.Telemetry", "Telemetry")
                        .WithMany("Users")
                        .HasForeignKey("IdTelemetry")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired()
                        .HasConstraintName("t_telemetry_user_t_telemetry_id_fk");

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

            modelBuilder.Entity("AsbCloudDb.Model.User", b =>
                {
                    b.HasOne("AsbCloudDb.Model.Company", "Company")
                        .WithMany("Users")
                        .HasForeignKey("IdCompany")
                        .OnDelete(DeleteBehavior.SetNull)
                        .IsRequired()
                        .HasConstraintName("t_user_t_company_id_fk");

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

            modelBuilder.Entity("AsbCloudDb.Model.UserSetting", b =>
                {
                    b.HasOne("AsbCloudDb.Model.User", "User")
                        .WithMany()
                        .HasForeignKey("IdUser")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

            modelBuilder.Entity("AsbCloudDb.Model.Well", b =>
                {
                    b.HasOne("AsbCloudDb.Model.Cluster", "Cluster")
                        .WithMany("Wells")
                        .HasForeignKey("IdCluster")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired()
                        .HasConstraintName("t_well_t_cluster_id_fk");

                    b.HasOne("AsbCloudDb.Model.Telemetry", "Telemetry")
                        .WithOne("Well")
                        .HasForeignKey("AsbCloudDb.Model.Well", "IdTelemetry")
                        .OnDelete(DeleteBehavior.SetNull)
                        .HasConstraintName("t_well_t_telemetry_id_fk");

                    b.HasOne("AsbCloudDb.Model.WellType", "WellType")
                        .WithMany("Wells")
                        .HasForeignKey("IdWellType")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Cluster");

                    b.Navigation("Telemetry");

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

            modelBuilder.Entity("AsbCloudDb.Model.WellComposite", b =>
                {
                    b.HasOne("AsbCloudDb.Model.Well", "Well")
                        .WithMany("WellComposites")
                        .HasForeignKey("IdWell")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired()
                        .HasConstraintName("t_well_сomposite_t_well_id_fk");

                    b.HasOne("AsbCloudDb.Model.WellSectionType", "WellSectionType")
                        .WithMany("WellComposites")
                        .HasForeignKey("IdWellSectionType")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired()
                        .HasConstraintName("t_well_сomposite_t_well_section_type_id_fk");

                    b.HasOne("AsbCloudDb.Model.Well", "WellSrc")
                        .WithMany("WellCompositeSrcs")
                        .HasForeignKey("IdWellSrc")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired()
                        .HasConstraintName("t_well_сomposite_src_t_well_id_fk");

                    b.Navigation("Well");

                    b.Navigation("WellSectionType");

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

            modelBuilder.Entity("AsbCloudDb.Model.WellFinalDocument", b =>
                {
                    b.HasOne("AsbCloudDb.Model.FileCategory", "Category")
                        .WithMany()
                        .HasForeignKey("IdCategory")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("AsbCloudDb.Model.User", "User")
                        .WithMany()
                        .HasForeignKey("IdUser")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("AsbCloudDb.Model.Well", "Well")
                        .WithMany()
                        .HasForeignKey("IdWell")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Category");

                    b.Navigation("User");

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

            modelBuilder.Entity("AsbCloudDb.Model.WellOperation", b =>
                {
                    b.HasOne("AsbCloudDb.Model.WellOperationCategory", "OperationCategory")
                        .WithMany()
                        .HasForeignKey("IdCategory")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("AsbCloudDb.Model.WellOperation", "OperationPlan")
                        .WithMany()
                        .HasForeignKey("IdPlan");

                    b.HasOne("AsbCloudDb.Model.Well", "Well")
                        .WithMany("WellOperations")
                        .HasForeignKey("IdWell")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("AsbCloudDb.Model.WellSectionType", "WellSectionType")
                        .WithMany("WellOperations")
                        .HasForeignKey("IdWellSectionType")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("OperationCategory");

                    b.Navigation("OperationPlan");

                    b.Navigation("Well");

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

            modelBuilder.Entity("AsbCloudDb.Model.WellOperationCategory", b =>
                {
                    b.HasOne("AsbCloudDb.Model.WellOperationCategory", "Parent")
                        .WithMany()
                        .HasForeignKey("IdParent");

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

            modelBuilder.Entity("AsbCloudDb.Model.WITS.Record1", b =>
                {
                    b.HasOne("AsbCloudDb.Model.Telemetry", "Telemetry")
                        .WithMany()
                        .HasForeignKey("TelemetryId");

                    b.HasOne("AsbCloudDb.Model.WITS.RecordBase", null)
                        .WithOne()
                        .HasForeignKey("AsbCloudDb.Model.WITS.Record1", "IdTelemetry", "DateTime")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

            modelBuilder.Entity("AsbCloudDb.Model.WITS.Record50", b =>
                {
                    b.HasOne("AsbCloudDb.Model.Telemetry", "Telemetry")
                        .WithMany()
                        .HasForeignKey("TelemetryId");

                    b.HasOne("AsbCloudDb.Model.WITS.RecordBase", null)
                        .WithOne()
                        .HasForeignKey("AsbCloudDb.Model.WITS.Record50", "IdTelemetry", "DateTime")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

            modelBuilder.Entity("AsbCloudDb.Model.WITS.Record60", b =>
                {
                    b.HasOne("AsbCloudDb.Model.Telemetry", "Telemetry")
                        .WithMany()
                        .HasForeignKey("TelemetryId");

                    b.HasOne("AsbCloudDb.Model.WITS.RecordBase", null)
                        .WithOne()
                        .HasForeignKey("AsbCloudDb.Model.WITS.Record60", "IdTelemetry", "DateTime")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

            modelBuilder.Entity("AsbCloudDb.Model.WITS.Record61", b =>
                {
                    b.HasOne("AsbCloudDb.Model.Telemetry", "Telemetry")
                        .WithMany()
                        .HasForeignKey("TelemetryId");

                    b.HasOne("AsbCloudDb.Model.WITS.RecordBase", null)
                        .WithOne()
                        .HasForeignKey("AsbCloudDb.Model.WITS.Record61", "IdTelemetry", "DateTime")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

            modelBuilder.Entity("AsbCloudDb.Model.WITS.Record7", b =>
                {
                    b.HasOne("AsbCloudDb.Model.Telemetry", "Telemetry")
                        .WithMany()
                        .HasForeignKey("TelemetryId");

                    b.HasOne("AsbCloudDb.Model.WITS.RecordBase", null)
                        .WithOne()
                        .HasForeignKey("AsbCloudDb.Model.WITS.Record7", "IdTelemetry", "DateTime")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

            modelBuilder.Entity("AsbCloudDb.Model.WITS.Record8", b =>
                {
                    b.HasOne("AsbCloudDb.Model.Telemetry", "Telemetry")
                        .WithMany()
                        .HasForeignKey("TelemetryId");

                    b.HasOne("AsbCloudDb.Model.WITS.RecordBase", null)
                        .WithOne()
                        .HasForeignKey("AsbCloudDb.Model.WITS.Record8", "IdTelemetry", "DateTime")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

            modelBuilder.Entity("AsbCloudDb.Model.Cluster", b =>
                {
                    b.Navigation("Wells");
                });

            modelBuilder.Entity("AsbCloudDb.Model.Company", b =>
                {
                    b.Navigation("RelationCompaniesWells");

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

            modelBuilder.Entity("AsbCloudDb.Model.CompanyType", b =>
                {
                    b.Navigation("Companies");
                });

            modelBuilder.Entity("AsbCloudDb.Model.Deposit", b =>
                {
                    b.Navigation("Clusters");
                });

            modelBuilder.Entity("AsbCloudDb.Model.Driller", b =>
                {
                    b.Navigation("Schedule");
                });

            modelBuilder.Entity("AsbCloudDb.Model.DrillingProgramPart", b =>
                {
                    b.Navigation("RelatedUsers");
                });

            modelBuilder.Entity("AsbCloudDb.Model.FileInfo", b =>
                {
                    b.Navigation("FileMarks");
                });

            modelBuilder.Entity("AsbCloudDb.Model.MeasureCategory", b =>
                {
                    b.Navigation("Measures");
                });

            modelBuilder.Entity("AsbCloudDb.Model.NotificationCategory", b =>
                {
                    b.Navigation("Notifications");
                });

            modelBuilder.Entity("AsbCloudDb.Model.Permission", b =>
                {
                    b.Navigation("RelationUserRolePermissions");
                });

            modelBuilder.Entity("AsbCloudDb.Model.Telemetry", b =>
                {
                    b.Navigation("DataSaub");

                    b.Navigation("DataSpin");

                    b.Navigation("Events");

                    b.Navigation("Messages");

                    b.Navigation("Users");

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

            modelBuilder.Entity("AsbCloudDb.Model.User", b =>
                {
                    b.Navigation("FileMarks");

                    b.Navigation("Files");

                    b.Navigation("RelationContactsWells");

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

            modelBuilder.Entity("AsbCloudDb.Model.UserRole", b =>
                {
                    b.Navigation("RelationUserRolePermissions");

                    b.Navigation("RelationUserRoleUserRoles");

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

            modelBuilder.Entity("AsbCloudDb.Model.Well", b =>
                {
                    b.Navigation("DrillingProgramParts");

                    b.Navigation("ProcessMaps");

                    b.Navigation("RelationCompaniesWells");

                    b.Navigation("WellCompositeSrcs");

                    b.Navigation("WellComposites");

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

            modelBuilder.Entity("AsbCloudDb.Model.WellSectionType", b =>
                {
                    b.Navigation("WellComposites");

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

            modelBuilder.Entity("AsbCloudDb.Model.WellType", b =>
                {
                    b.Navigation("Wells");
                });
#pragma warning restore 612, 618
        }
    }
}