208 lines
16 KiB
C#
208 lines
16 KiB
C#
using Microsoft.EntityFrameworkCore;
|
||
using PARR.DAL.Contracts;
|
||
using PARR.DAL.Models;
|
||
using PARR.DAL.Models.AIHIT;
|
||
using PARR.DAL.Models.V1;
|
||
|
||
namespace PARR.DAL.Context
|
||
{
|
||
internal class DataContext : DbContext
|
||
{
|
||
public DataContext(DbContextOptions<DataContext> options) : base(options) { }
|
||
|
||
#region v1
|
||
public DbSet<V1_JobType> JobTypes { get; set; }
|
||
public DbSet<V1_JobCategory> JobCategories { get; set; }
|
||
public DbSet<V1_JobMode> JobModes { get; set; }
|
||
public DbSet<V1_JobStatus> JobStatuses { get; set; }
|
||
public DbSet<V1_Host> V1_Hosts { get; set; }
|
||
public DbSet<V1_Job> Jobs { get; set; }
|
||
public DbSet<V1_JobJournal> JobJournals { get; set; }
|
||
public DbSet<V1_Application> V1_Applications { get; set; }
|
||
public DbSet<V1_ApplicationType> V1_ApplicationTypes { get; set; }
|
||
public DbSet<V1_ApplicationInHost> V1_ApplicationsInHosts { get; set; }
|
||
#endregion
|
||
|
||
public DbSet<Host> Hosts { get; set; }
|
||
public DbSet<EkStatus> EkStatuses { get; set; }
|
||
public DbSet<ResponseArea> ResponseAreas { get; set; }
|
||
public DbSet<Application> Applications { get; set; }
|
||
public DbSet<ApplicationType> ApplicationTypes { get; set; }
|
||
public DbSet<ApplicationInHost> ApplicationsInHosts { get; set; }
|
||
|
||
public DbSet<Models.AIHIT.Setting> Settings { get; set; }
|
||
public DbSet<RawDataEK> RawDataEKs { get; set; }
|
||
public DbSet<Template> Templates { get; set; }
|
||
public DbSet<Models.TaskStatus> TaskStatuses { get; set; }
|
||
public DbSet<RobotStatus> RobotStatuses { get; set; }
|
||
|
||
public DbSet<Process> Processes { get; set; }
|
||
public DbSet<Subprocess> Subprocesses { get; set; }
|
||
public DbSet<Tnk> Tnks { get; set; }
|
||
public DbSet<Work> Works { get; set; }
|
||
|
||
public DbSet<ApplicationsInWork> ApplicationsInWorks { get; set; }
|
||
|
||
public DbSet<Models.Setting> Setting { get; set; }
|
||
|
||
public DbSet<RobotHistoryLevel> RobotHistoryLevels { get; set; }
|
||
|
||
public DbSet<Robot> Robots { get; set; }
|
||
public DbSet<RobotConfiguration> RobotConfigurations { get; set; }
|
||
public DbSet<RobotHistory> RobotHistories { get; set; }
|
||
|
||
|
||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||
{
|
||
base.OnModelCreating(modelBuilder);
|
||
|
||
var dateCreated = new DateTimeOffset(2023, 05, 01, 0, 0, 0, new TimeSpan(0));
|
||
|
||
modelBuilder.Entity<V1_JobMode>(f =>
|
||
{
|
||
f.HasData(
|
||
new() { Id = new Guid("FBA4202C-5BAD-49C4-B076-D1CA6E1FB158"), DateCreated = dateCreated, DateModified = null, Name = JobModeEnum.auto.ToString() },
|
||
new() { Id = new Guid("7516B952-510D-4AAA-971C-A14B184FC1D5"), DateCreated = dateCreated, DateModified = null, Name = JobModeEnum.manual.ToString() }
|
||
);
|
||
});
|
||
|
||
modelBuilder.Entity<V1_JobStatus>(f =>
|
||
{
|
||
f.HasData(
|
||
new() { Id = new Guid("EDEF6DC3-ADAD-4C77-8AD1-63BB9052355A"), DateCreated = dateCreated, DateModified = null, Name = JobStatusEnum.started.ToString(), Description = "Задание запущено" },
|
||
new() { Id = new Guid("7B945EB6-D885-4570-AFF5-8866F1F75FF2"), DateCreated = dateCreated, DateModified = null, Name = JobStatusEnum.finished.ToString(), Description = "Задание выполнено" }
|
||
);
|
||
});
|
||
|
||
|
||
modelBuilder.Entity<ApplicationType>(f =>
|
||
{
|
||
f.HasData(
|
||
new() { Id = new Guid("32c28386-6f13-4f7b-8508-be165b7fabdb"), DateCreated = dateCreated, DateModified = null, Name = ApplicationTypesEnum.APP.ToString(), Description = "Поле СП xml АИХ ИТ" },
|
||
new() { Id = new Guid("7848a96c-cdee-48c1-a786-de9cb889723a"), DateCreated = dateCreated, DateModified = null, Name = ApplicationTypesEnum.OS.ToString(), Description = "Поле ОС xml АИХ ИТ" },
|
||
new() { Id = new Guid("aae2636f-b93a-42dc-873e-0764a90a0a40"), DateCreated = dateCreated, DateModified = null, Name = ApplicationTypesEnum.DB.ToString(), Description = "Поле СУБД xml АИХ ИТ" }
|
||
);
|
||
});
|
||
|
||
modelBuilder.Entity<Models.AIHIT.Setting>(f =>
|
||
{
|
||
f.HasData(
|
||
//new() { Id = new Guid("1AD12210-BE62-459A-AA6C-FDA7648503F7"), DateCreated = dateCreated, DateModified = null, Group = null, Name = "ConnectionString", Value = @"Data Source=10.248.19.97; Initial Catalog=mao2;User ID=awhit-ipp-parr;pwd=ET3h$9y1LH#D;TrustServerCertificate=true;", Description = "Строка подключения к базе данных АИХ ИТ" },
|
||
new() { Id = new Guid("B16AFD06-605B-499F-9E35-A19586DE96B0"), DateCreated = dateCreated, DateModified = null, Group = AIHTITSettings.RespAreaGroupName, Name = "ГВЦ", Value = "00-ГВЦ", Description = "Зона ответственности" },
|
||
new() { Id = new Guid("42A2EC03-DA3A-45FC-971E-399910FDC5AE"), DateCreated = dateCreated, DateModified = null, Group = AIHTITSettings.RespAreaGroupName, Name = "ОКТ", Value = "01-ОКТ", Description = "Зона ответственности" },
|
||
new() { Id = new Guid("17EFAF65-AE8C-45F1-B187-E6CB1BD6385B"), DateCreated = dateCreated, DateModified = null, Group = AIHTITSettings.RespAreaGroupName, Name = "КЛГ", Value = "10-КЛГ", Description = "Зона ответственности" },
|
||
new() { Id = new Guid("51270997-20F6-4A61-85AC-64F6B6DD5DC4"), DateCreated = dateCreated, DateModified = null, Group = AIHTITSettings.RespAreaGroupName, Name = "МСК", Value = "17-МСК", Description = "Зона ответственности" },
|
||
new() { Id = new Guid("B94F8C38-E78A-494E-81BA-39E4E902FFCC"), DateCreated = dateCreated, DateModified = null, Group = AIHTITSettings.RespAreaGroupName, Name = "ГОР", Value = "24-ГОР", Description = "Зона ответственности" },
|
||
new() { Id = new Guid("52BA20EA-4E7A-4500-939B-E2CFF563809A"), DateCreated = dateCreated, DateModified = null, Group = AIHTITSettings.RespAreaGroupName, Name = "СЕВ", Value = "28-СЕВ", Description = "Зона ответственности" },
|
||
new() { Id = new Guid("CB9DA805-29E9-4E08-B1ED-D4B374920F77"), DateCreated = dateCreated, DateModified = null, Group = AIHTITSettings.RespAreaGroupName, Name = "СКВ", Value = "51-СКВ", Description = "Зона ответственности" },
|
||
new() { Id = new Guid("1943A65C-2060-4B5F-AF1F-ACEC74835481"), DateCreated = dateCreated, DateModified = null, Group = AIHTITSettings.RespAreaGroupName, Name = "ЮВСТ", Value = "58-ЮВСТ", Description = "Зона ответственности" },
|
||
new() { Id = new Guid("4D9EF2EE-D4FA-4D28-A93B-6F1FD0A639F9"), DateCreated = dateCreated, DateModified = null, Group = AIHTITSettings.RespAreaGroupName, Name = "ПРИВ", Value = "61-ПРИВ", Description = "Зона ответственности" },
|
||
new() { Id = new Guid("F1A54C25-A93A-4FE3-8268-AFBCC435B6E9"), DateCreated = dateCreated, DateModified = null, Group = AIHTITSettings.RespAreaGroupName, Name = "КБШ", Value = "63-КБШ", Description = "Зона ответственности" },
|
||
new() { Id = new Guid("CC839C48-62BB-46A8-924C-85B5E7A3E245"), DateCreated = dateCreated, DateModified = null, Group = AIHTITSettings.RespAreaGroupName, Name = "СВРД", Value = "76-СВРД", Description = "Зона ответственности" },
|
||
new() { Id = new Guid("C98FB684-FF03-441E-A9C3-AC5071D69857"), DateCreated = dateCreated, DateModified = null, Group = AIHTITSettings.RespAreaGroupName, Name = "ЮУР", Value = "80-ЮУР", Description = "Зона ответственности" },
|
||
new() { Id = new Guid("F2684A90-6029-4476-BD3D-E713A8A228D6"), DateCreated = dateCreated, DateModified = null, Group = AIHTITSettings.RespAreaGroupName, Name = "ЗСИБ", Value = "83-ЗСИБ", Description = "Зона ответственности" },
|
||
new() { Id = new Guid("B3C73162-21EA-42F0-B0E1-3C5076176F8A"), DateCreated = dateCreated, DateModified = null, Group = AIHTITSettings.RespAreaGroupName, Name = "КРАСН", Value = "88-КРАСН", Description = "Зона ответственности" },
|
||
new() { Id = new Guid("a8cff6fd-28b7-49f2-a412-9208c10f6516"), DateCreated = dateCreated, DateModified = null, Group = AIHTITSettings.RespAreaGroupName, Name = "ВСИБ", Value = "92-ВСИБ", Description = "Зона ответственности" },
|
||
new() { Id = new Guid("50F66704-4D26-4587-BB1E-DCA70C8F4B89"), DateCreated = dateCreated, DateModified = null, Group = AIHTITSettings.RespAreaGroupName, Name = "ЗАБ", Value = "94-ЗАБ", Description = "Зона ответственности" },
|
||
new() { Id = new Guid("1FD43634-4A06-4237-9727-EDFA6F3EEBE8"), DateCreated = dateCreated, DateModified = null, Group = AIHTITSettings.RespAreaGroupName, Name = "ДВС", Value = "96-ДВС", Description = "Зона ответственности" },
|
||
new() { Id = new Guid("77C73C0A-8E4D-4676-B6E2-6A112F20E346"), DateCreated = dateCreated, DateModified = null, Group = AIHTITSettings.StatusGroupName, Name = "Exploitation", Value = "3-В эксплуатации", Description = "Статус актуальных ЭК" }
|
||
);
|
||
});
|
||
|
||
|
||
modelBuilder.Entity<Models.TaskStatus>(f =>
|
||
{
|
||
f.HasData(
|
||
|
||
new() { Code = (int)TaskStatusEnum.Creating, Name = TaskStatusEnum.Creating.ToString(), Description = "Задание на создание объекта в ЕСПП" },
|
||
new() { Code = (int)TaskStatusEnum.Updating, Name = TaskStatusEnum.Updating.ToString(), Description = "Задание на обновление объекта в ЕСПП" },
|
||
new() { Code = (int)TaskStatusEnum.Ok, Name = TaskStatusEnum.Ok.ToString(), Description = "Объект в ЕСПП соответствует объекту в ПАРР" }
|
||
);
|
||
});
|
||
|
||
modelBuilder.Entity<Models.Setting>(f =>
|
||
{
|
||
// При добавлении записей, добавлять тоже в PARR.DAL.Contracts.SettingsFromDb
|
||
f.HasData(
|
||
new { Name = nameof(SettingsFromDb.Initiator), Description = "Инициатор регламентной работы, указывается при создании шаблона в ЕСПП.", Value = "КУЗНЕЦОВ МИХАИЛ ВАЛЕРЬЕВИЧ (IVC_KUZNETSOVMV@DVGD.OAO.RZD)" },
|
||
new { Name = nameof(SettingsFromDb.ClosingCode), Description = "Код закрытия регламентной работы, указывается при создании шаблона в ЕСПП.", Value = "выполнен" },
|
||
new { Name = nameof(SettingsFromDb.Category), Description = "Категория создаваемого объекта в ЕСПП", Value = "регламентная работа" },
|
||
new { Name = nameof(SettingsFromDb.TemplatePrefixName), Description = "Префикс имени шаблона в ЕСПП", Value = "ПАРР-ДВС-ПТК" },
|
||
new { Name = nameof(SettingsFromDb.RobotAttemptsNumber), Description = "Количество попыток выполнения задания роботом", Value = "3" },
|
||
new { Name = nameof(SettingsFromDb.RobotWaitTime), Description = "Время ожидания выполнения роботом задания", Value = "00:15:00" }
|
||
);
|
||
});
|
||
|
||
modelBuilder.Entity<EkStatus>(f =>
|
||
{
|
||
f.HasData(
|
||
new { Code = (int)EkStatusEnum.New, Name = "1-Новый" },
|
||
new { Code = (int)EkStatusEnum.Preapre, Name = "2-Подготовка к эксплуатации" },
|
||
new { Code = (int)EkStatusEnum.Exploitation, Name = "3-В эксплуатации" },
|
||
new { Code = (int)EkStatusEnum.Repair, Name = "4-В ремонте" },
|
||
new { Code = (int)EkStatusEnum.Reserve, Name = "5-В резерве" },
|
||
new { Code = (int)EkStatusEnum.OutOfService, Name = "6-Выведен из эксплуатации" },
|
||
new { Code = (int)EkStatusEnum.Test, Name = "7-Тестовый" },
|
||
new { Code = (int)EkStatusEnum.Development, Name = "9-В разработке" }
|
||
);
|
||
});
|
||
|
||
modelBuilder.Entity<ResponseArea>(f =>
|
||
{
|
||
f.HasData(
|
||
new { Code = (int)ResponseAreaEnum.dvgd, Name = "96-ДВС" },
|
||
new { Code = (int)ResponseAreaEnum.zrw, Name = "94-ЗАБ" },
|
||
new { Code = (int)ResponseAreaEnum.esrr, Name = "92-ВСИБ" },
|
||
new { Code = (int)ResponseAreaEnum.krw, Name = "88-КРАСН" },
|
||
new { Code = (int)ResponseAreaEnum.wsr, Name = "83-ЗСИБ" },
|
||
new { Code = (int)ResponseAreaEnum.surw, Name = "80-ЮУР" },
|
||
new { Code = (int)ResponseAreaEnum.svrw, Name = "76-СВРД" },
|
||
new { Code = (int)ResponseAreaEnum.kbsh, Name = "63-КБШ" },
|
||
new { Code = (int)ResponseAreaEnum.pvrr, Name = "61-ПРИВ" },
|
||
new { Code = (int)ResponseAreaEnum.serw, Name = "58-ЮВСТ" },
|
||
new { Code = (int)ResponseAreaEnum.skzd, Name = "51-СКВ" },
|
||
new { Code = (int)ResponseAreaEnum.nrr, Name = "28-СЕВ" },
|
||
new { Code = (int)ResponseAreaEnum.grw, Name = "24-ГОР" },
|
||
new { Code = (int)ResponseAreaEnum.msk, Name = "17-МСК" },
|
||
new { Code = (int)ResponseAreaEnum.klgd, Name = "10-КЛГ" },
|
||
new { Code = (int)ResponseAreaEnum.orw, Name = "01-ОКТ" },
|
||
new { Code = (int)ResponseAreaEnum.gvc, Name = "00-ГВЦ" }
|
||
);
|
||
});
|
||
|
||
|
||
modelBuilder.Entity<RobotStatus>(f =>
|
||
{
|
||
f.HasData(
|
||
new { Code = (int)RobotStatusEnum.Wait, Name = RobotStatusEnum.Wait.ToString(), Description = "Ожидание, ждет пока робот возьмет в работу." },
|
||
new { Code = (int)RobotStatusEnum.InProgress, Name = RobotStatusEnum.InProgress.ToString(), Description = "Робот взял в работу." },
|
||
new { Code = (int)RobotStatusEnum.Error, Name = RobotStatusEnum.Error.ToString(), Description = "Ошибка отработки роботом. Требует ручного вмешательства." },
|
||
new { Code = (int)RobotStatusEnum.Complete, Name = RobotStatusEnum.Complete.ToString(), Description = "Робот успешно отработал." }
|
||
);
|
||
});
|
||
|
||
modelBuilder.Entity<RobotHistoryLevel>(f =>
|
||
{
|
||
f.HasData(
|
||
new { Level = (int)RobotHistoryLevelEnum.Start, Name = RobotHistoryLevelEnum.Start.ToString(), Description = "Робот начал работу " },
|
||
new { Level = (int)RobotHistoryLevelEnum.Inforamtion, Name = RobotHistoryLevelEnum.Inforamtion.ToString(), Description = "Информация" },
|
||
new { Level = (int)RobotHistoryLevelEnum.Error, Name = RobotHistoryLevelEnum.Error.ToString(), Description = "Ошибка" },
|
||
new { Level = (int)RobotHistoryLevelEnum.Complete, Name = RobotHistoryLevelEnum.Complete.ToString(), Description = "Успешно завершил работу" }
|
||
);
|
||
});
|
||
|
||
modelBuilder.Entity<Robot>(f =>
|
||
{
|
||
f.HasData(
|
||
new { Code = (int)RobotsEnum.TemplateOrder, Name = RobotsEnum.TemplateOrder.ToString(), Description = "Робот по созданию/изменению шаблона наряда ЕСПП" },
|
||
new { Code = (int)RobotsEnum.ScheduleOrder, Name = RobotsEnum.ScheduleOrder.ToString(), Description = "Робот по созданию/изменению расписания шаблона наряда в ЕСПП" }
|
||
);
|
||
});
|
||
|
||
}
|
||
|
||
|
||
|
||
}
|
||
}
|