2023-05-17 16:30:13 +10:00
using Microsoft.EntityFrameworkCore ;
2023-06-16 15:00:11 +10:00
using PARR.DAL.Contracts ;
2023-08-14 15:24:57 +10:00
using PARR.DAL.Models ;
2023-08-11 09:21:54 +10:00
using PARR.DAL.Models.AIHIT ;
2023-08-10 16:43:01 +10:00
using PARR.DAL.Models.V1 ;
2023-05-17 16:30:13 +10:00
namespace PARR.DAL.Context
{
2023-09-04 12:17:50 +10:00
internal class DataContext : DbContext
2023-05-17 16:30:13 +10:00
{
public DataContext ( DbContextOptions < DataContext > options ) : base ( options ) { }
2023-09-19 10:01:50 +10:00
#region v1
2023-08-10 10:14:41 +10:00
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 ; }
2023-08-14 15:24:57 +10:00
public DbSet < V1_Host > V1_Hosts { get ; set ; }
2023-08-10 10:14:41 +10:00
public DbSet < V1_Job > Jobs { get ; set ; }
public DbSet < V1_JobJournal > JobJournals { get ; set ; }
2023-08-14 15:24:57 +10:00
public DbSet < V1_Application > V1_Applications { get ; set ; }
public DbSet < V1_ApplicationType > V1_ApplicationTypes { get ; set ; }
public DbSet < V1_ApplicationInHost > V1_ApplicationsInHosts { get ; set ; }
2023-09-19 10:01:50 +10:00
#endregion
public DbSet < Host > Hosts { get ; set ; }
2023-09-25 15:32:22 +10:00
public DbSet < EkStatus > EkStatuses { get ; set ; }
2023-09-28 14:28:10 +10:00
public DbSet < ResponseArea > ResponseAreas { get ; set ; }
2023-09-19 10:01:50 +10:00
public DbSet < Application > Applications { get ; set ; }
public DbSet < ApplicationType > ApplicationTypes { get ; set ; }
public DbSet < ApplicationInHost > ApplicationsInHosts { get ; set ; }
2023-09-19 12:17:05 +10:00
public DbSet < Models . AIHIT . Setting > Settings { get ; set ; }
2023-08-11 09:21:54 +10:00
public DbSet < RawDataEK > RawDataEKs { get ; set ; }
2023-09-01 12:40:41 +10:00
public DbSet < Template > Templates { get ; set ; }
2023-09-14 17:00:56 +10:00
public DbSet < StatusTemplate > StatusTemplates { get ; set ; }
2023-06-13 13:57:55 +10:00
2023-09-19 10:01:50 +10:00
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 ; }
2023-09-19 12:17:05 +10:00
public DbSet < Models . Setting > Setting { get ; set ; }
2023-06-16 15:00:11 +10:00
2023-09-25 15:32:22 +10:00
2023-06-16 15:00:11 +10:00
protected override void OnModelCreating ( ModelBuilder modelBuilder )
{
base . OnModelCreating ( modelBuilder ) ;
var dateCreated = new DateTimeOffset ( 2023 , 05 , 01 , 0 , 0 , 0 , new TimeSpan ( 0 ) ) ;
2023-08-10 10:14:41 +10:00
modelBuilder . Entity < V1_JobMode > ( f = >
2023-06-16 15:00:11 +10:00
{
f . HasData (
2023-06-20 16:54:38 +10:00
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 ( ) }
2023-06-16 15:00:11 +10:00
) ;
} ) ;
2023-08-10 10:14:41 +10:00
modelBuilder . Entity < V1_JobStatus > ( f = >
2023-06-20 12:29:58 +10:00
{
f . HasData (
2023-06-20 16:54:38 +10:00
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 = "Задание выполнено" }
2023-06-20 12:29:58 +10:00
) ;
} ) ;
2023-06-16 15:00:11 +10:00
2023-08-14 15:24:57 +10:00
modelBuilder . Entity < ApplicationType > ( f = >
2023-06-16 15:00:11 +10:00
{
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 АИХ ИТ" }
) ;
} ) ;
2023-08-11 09:21:54 +10:00
modelBuilder . Entity < Models . AIHIT . Setting > ( f = >
{
f . HasData (
2023-09-19 15:55:19 +10:00
//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 = "Зона ответственности" } ,
2023-08-14 11:38:59 +10:00
new ( ) { Id = new Guid ( "77C73C0A-8E4D-4676-B6E2-6A112F20E346" ) , DateCreated = dateCreated , DateModified = null , Group = AIHTITSettings . StatusGroupName , Name = "Exploitation" , Value = "3-В эксплуатации" , Description = "Статус актуальных ЭК" }
2023-08-11 09:21:54 +10:00
) ;
} ) ;
2023-09-14 17:00:56 +10:00
modelBuilder . Entity < StatusTemplate > ( f = >
{
f . HasData (
new ( ) { Code = ( int ) StatusTemplateEnum . Creating , Name = StatusTemplateEnum . Creating . ToString ( ) , Description = "Создали шаблон в ПАРР" } ,
new ( ) { Code = ( int ) StatusTemplateEnum . Updating , Name = StatusTemplateEnum . Updating . ToString ( ) , Description = "Выявлено несоответствие. Требуется привлечение робота" } ,
new ( ) { Code = ( int ) StatusTemplateEnum . Ok , Name = StatusTemplateEnum . Ok . ToString ( ) , Description = "Нормальное состояние шаблона в ЕСПП и ПАРР. Шаблон в ПАРР соответствует шаблону в ЕСПП" }
) ;
} ) ;
2023-09-19 12:17:05 +10:00
modelBuilder . Entity < Models . Setting > ( f = >
{
2023-09-19 14:34:55 +10:00
// При добавлении записей, добавлять тоже в PARR.DAL.Contracts.SettingsFromDb
2023-09-19 12:17:05 +10:00
f . HasData (
2023-09-19 14:34:55 +10:00
new { Name = nameof ( SettingsFromDb . Initiator ) , Description = "Инициатор регламентной работы, указывается при создании шаблона в ЕСПП." , Value = "КУЗНЕЦОВ МИХАИЛ ВАЛЕРЬЕВИЧ (IVC_KUZNETSOVMV@DVGD.OAO.RZD)" } ,
new { Name = nameof ( SettingsFromDb . ClosingCode ) , Description = "Код закрытия регламентной работы, указывается при создании шаблона в ЕСПП." , Value = "выполнен" } ,
2023-09-20 11:52:30 +10:00
new { Name = nameof ( SettingsFromDb . Category ) , Description = "Категория создаваемого объекта в ЕСПП" , Value = "регламентная работа" } ,
2023-09-25 11:47:13 +10:00
new { Name = nameof ( SettingsFromDb . TemplatePrefixName ) , Description = "Префикс имени шаблона в ЕСПП" , Value = "ПАРР-ДВС-ПТК" }
2023-09-19 12:17:05 +10:00
) ;
} ) ;
2023-09-25 15:32:22 +10: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-В разработке" }
) ;
} ) ;
2023-09-28 14:28:10 +10:00
modelBuilder . Entity < ResponseArea > ( f = >
{
f . HasData (
new { Code = ( int ) ResponseAreaEnum . dvgd , Name = "96-ДВС" } ,
2023-09-28 14:59:48 +10:00
new { Code = ( int ) ResponseAreaEnum . zrw , Name = "94-ЗАБ" } ,
new { Code = ( int ) ResponseAreaEnum . esrr , Name = "92-ВСИБ" } ,
2023-09-28 14:28:10 +10:00
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-ГВЦ" }
) ;
} ) ;
2023-06-16 15:00:11 +10:00
}
2023-05-17 16:30:13 +10:00
}
}